pandapower 2.14.1__zip → 2.14.5__zip
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pandapower-2.14.1 → pandapower-2.14.5}/.github/workflows/github_test_action.yml +1 -1
- {pandapower-2.14.1 → pandapower-2.14.5}/CHANGELOG.rst +15 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/PKG-INFO +16 -1
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/auxiliary.py +2 -2
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/control/util/auxiliary.py +1 -1
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/convert_format.py +13 -13
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/cim2pp/build_pp_net.py +1 -1
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/cim2pp/convert_measurements.py +13 -13
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/cim2pp/converter_classes/connectivitynodes/connectivityNodesCim16.py +31 -31
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/cim2pp/converter_classes/coordinates/coordinatesFromDLCim16.py +12 -12
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/cim2pp/converter_classes/coordinates/geoCoordinatesFromGLCim16.py +13 -13
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/cim2pp/converter_classes/externalnetworks/externalNetworkInjectionsCim16.py +1 -1
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/cim2pp/converter_classes/generators/asynchronousMachinesCim16.py +4 -4
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/cim2pp/converter_classes/generators/energySourcesCim16.py +4 -4
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/cim2pp/converter_classes/generators/synchronousMachinesCim16.py +17 -17
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/cim2pp/converter_classes/impedance/equivalentBranchesCim16.py +4 -4
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/cim2pp/converter_classes/impedance/seriesCompensatorsCim16.py +4 -4
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/cim2pp/converter_classes/lines/acLineSegmentsCim16.py +11 -11
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/cim2pp/converter_classes/lines/dcLineSegmentsCim16.py +9 -9
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/cim2pp/converter_classes/loads/conformLoadsCim16.py +2 -2
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/cim2pp/converter_classes/loads/energyConcumersCim16.py +2 -2
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/cim2pp/converter_classes/loads/nonConformLoadsCim16.py +2 -2
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/cim2pp/converter_classes/loads/stationSuppliesCim16.py +2 -2
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/cim2pp/converter_classes/shunts/linearShuntCompensatorCim16.py +2 -2
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/cim2pp/converter_classes/shunts/nonLinearShuntCompensatorCim16.py +2 -2
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/cim2pp/converter_classes/shunts/staticVarCompensatorCim16.py +1 -1
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/cim2pp/converter_classes/switches/switchesCim16.py +5 -5
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/cim2pp/converter_classes/transformers/powerTransformersCim16.py +41 -41
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/cim2pp/converter_classes/wards/equivalentInjectionsCim16.py +3 -3
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/cim_classes.py +2 -2
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/powerfactory/pp_import_functions.py +3 -3
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/powerfactory/validate.py +1 -1
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/pypower/from_ppc.py +6 -6
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/diagnostic.py +1 -1
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/estimation/state_estimation.py +6 -6
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/estimation/util.py +8 -8
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/grid_equivalents/auxiliary.py +17 -17
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/grid_equivalents/get_equivalent.py +4 -4
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/grid_equivalents/rei_generation.py +9 -9
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/grid_equivalents/toolbox.py +1 -1
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/grid_equivalents/ward_generation.py +3 -3
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/groups.py +7 -6
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/io_utils.py +3 -8
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/mv_oberrhein.py +2 -2
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/power_system_test_cases.py +8 -8
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/synthetic_voltage_control_lv_networks.py +2 -2
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/opf/validate_opf_input.py +3 -6
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/plotting/generic_geodata.py +14 -10
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/protection/oc_relay_model.py +125 -125
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/protection/protection_devices/fuse.py +1 -1
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/protection/protection_devices/ocrelay.py +1 -1
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/protection/utility_functions.py +3 -3
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/results_bus.py +4 -4
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/sql_io.py +2 -2
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/api/test_diagnostic.py +23 -23
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/api/test_file_io.py +2 -2
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/api/test_group.py +2 -2
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/api/test_std_types.py +1 -1
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/control/test_continuous_tap_control.py +4 -4
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/control/test_discrete_tap_control.py +8 -8
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/control/test_vm_set_tap_control.py +10 -10
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/estimation/test_wls_estimation.py +22 -22
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/grid_equivalents/test_get_equivalent.py +13 -13
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/grid_equivalents/test_grid_equivalents_auxiliary.py +8 -8
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/loadflow/result_test_network_generator.py +3 -3
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/loadflow/test_dist_slack.py +5 -5
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/loadflow/test_facts.py +5 -5
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/loadflow/test_results.py +7 -7
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/loadflow/test_rundcpp.py +2 -2
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/loadflow/test_runpp.py +24 -24
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/loadflow/test_runpp_pgm.py +7 -1
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/loadflow/test_scenarios.py +21 -21
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/loadflow/test_tdpf.py +5 -5
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/networks/test_kerber_networks.py +2 -2
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/opf/test_basic.py +6 -6
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/opf/test_cost_consistency.py +5 -3
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/opf/test_costs_mixed.py +3 -3
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/opf/test_costs_pol.py +1 -1
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/opf/test_opf_cigre.py +4 -4
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/opf/test_pandamodels_runpm.py +32 -32
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/plotting/test_generic_coordinates.py +3 -3
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/shortcircuit/test_all_currents.py +16 -16
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/shortcircuit/test_gen.py +6 -6
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/timeseries/test_timeseries_recycle.py +4 -4
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/toolbox/test_comparison.py +2 -2
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/toolbox/test_data_modification.py +4 -4
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/toolbox/test_element_selection.py +7 -7
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/toolbox/test_grid_modification.py +8 -8
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/topology/test_create_graph.py +4 -4
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/toolbox/data_modification.py +2 -2
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/toolbox/grid_modification.py +11 -11
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/toolbox/result_info.py +1 -1
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/topology/create_graph.py +25 -14
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower.egg-info/PKG-INFO +16 -1
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower.egg-info/requires.txt +3 -1
- {pandapower-2.14.1 → pandapower-2.14.5}/setup.py +3 -3
- {pandapower-2.14.1 → pandapower-2.14.5}/.github/workflows/test_release.yml +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/.github/workflows/upload_release.yml +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/AUTHORS +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/LICENSE +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/MANIFEST.in +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/README.rst +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/_version.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/build_branch.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/build_bus.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/build_gen.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/contingency/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/contingency/contingency.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/control/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/control/basic_controller.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/control/controller/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/control/controller/characteristic_control.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/control/controller/const_control.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/control/controller/trafo/ContinuousTapControl.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/control/controller/trafo/DiscreteTapControl.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/control/controller/trafo/TapDependentImpedance.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/control/controller/trafo/USetTapControl.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/control/controller/trafo/VmSetTapControl.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/control/controller/trafo/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/control/controller/trafo_control.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/control/run_control.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/control/util/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/control/util/characteristic.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/control/util/diagnostic.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/cim2pp/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/cim2pp/converter_classes/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/cim2pp/converter_classes/connectivitynodes/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/cim2pp/converter_classes/coordinates/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/cim2pp/converter_classes/externalnetworks/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/cim2pp/converter_classes/generators/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/cim2pp/converter_classes/impedance/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/cim2pp/converter_classes/lines/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/cim2pp/converter_classes/loads/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/cim2pp/converter_classes/shunts/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/cim2pp/converter_classes/switches/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/cim2pp/converter_classes/transformers/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/cim2pp/converter_classes/transformers/tapController.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/cim2pp/converter_classes/wards/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/cim2pp/from_cim.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/cim_tools.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/interfaces.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/other_classes.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/pp_classes.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/pp_tools.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/serialized_schemas/CIM16_4.0.8_schema.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/matpower/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/matpower/from_mpc.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/matpower/to_mpc.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/pandamodels/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/pandamodels/from_pm.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/pandamodels/to_pm.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/powerfactory/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/powerfactory/echo_off.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/powerfactory/export_pfd_to_pp.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/powerfactory/gui.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/powerfactory/logger_setup.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/powerfactory/main_pf.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/powerfactory/pf_export_functions.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/powerfactory/power_factory_files/favicon.ico +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/powerfactory/power_factory_files/icon.pfd +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/powerfactory/power_factory_files/pp_export.bmp +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/powerfactory/run_import.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/pypower/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/pypower/to_ppc.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/create.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/diagnostic_reports.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/estimation/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/estimation/algorithm/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/estimation/algorithm/base.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/estimation/algorithm/estimator.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/estimation/algorithm/lp.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/estimation/algorithm/matrix_base.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/estimation/algorithm/optimization.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/estimation/idx_brch.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/estimation/idx_bus.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/estimation/ppc_conversion.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/estimation/results.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/file_io.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/grid_equivalents/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/IEEE_European_LV_Off_Peak_1.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/IEEE_European_LV_Off_Peak_1440.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/IEEE_European_LV_On_Peak_566.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/cigre_networks.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/create_examples.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/dickert_lv_networks.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/ieee_europen_lv_asymmetric.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/kerber_extreme_networks.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/kerber_networks.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/mv_oberrhein.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/mv_oberrhein_substations.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/power_system_test_case_jsons/GBnetwork.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/power_system_test_case_jsons/GBreducednetwork.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/power_system_test_case_jsons/case118.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/power_system_test_case_jsons/case11_iwamoto.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/power_system_test_case_jsons/case1354pegase.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/power_system_test_case_jsons/case14.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/power_system_test_case_jsons/case145.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/power_system_test_case_jsons/case1888rte.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/power_system_test_case_jsons/case24_ieee_rts.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/power_system_test_case_jsons/case2848rte.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/power_system_test_case_jsons/case2869pegase.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/power_system_test_case_jsons/case30.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/power_system_test_case_jsons/case300.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/power_system_test_case_jsons/case3120sp.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/power_system_test_case_jsons/case33bw.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/power_system_test_case_jsons/case39.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/power_system_test_case_jsons/case4gs.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/power_system_test_case_jsons/case5.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/power_system_test_case_jsons/case57.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/power_system_test_case_jsons/case5_demo_gridcal.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/power_system_test_case_jsons/case6470rte.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/power_system_test_case_jsons/case6495rte.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/power_system_test_case_jsons/case6515rte.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/power_system_test_case_jsons/case6ww.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/power_system_test_case_jsons/case89pegase.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/power_system_test_case_jsons/case9.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/power_system_test_case_jsons/case9241pegase.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/power_system_test_case_jsons/case_ieee30.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/power_system_test_case_jsons/case_illinois200.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/power_system_test_case_jsons/iceland.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/networks/simple_pandapower_test_networks.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/opf/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/opf/make_objective.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/opf/pm_storage.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/opf/run_pandamodels.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/optimal_powerflow.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pd2ppc.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pd2ppc_zero.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pf/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pf/create_jacobian.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pf/create_jacobian_facts.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pf/create_jacobian_numba.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pf/create_jacobian_tdpf.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pf/dSbus_dV_numba.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pf/iwamoto_multiplier.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pf/makeYbus_facts.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pf/makeYbus_numba.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pf/no_numba.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pf/pfsoln_numba.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pf/ppci_variables.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pf/run_bfswpf.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pf/run_dc_pf.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pf/run_newton_raphson_pf.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pf/runpf_pypower.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pf/runpp_3ph.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/plotting/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/plotting/collections.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/plotting/colormaps.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/plotting/geo.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/plotting/patch_makers.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/plotting/plotly/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/plotting/plotly/get_colors.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/plotting/plotly/mapbox_plot.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/plotting/plotly/pf_res_plotly.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/plotting/plotly/simple_plotly.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/plotting/plotly/traces.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/plotting/plotly/vlevel_plotly.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/plotting/plotting_toolbox.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/plotting/powerflow_results.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/plotting/simple_plot.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/plotting/to_html.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/powerflow.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/protection/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/protection/basic_protection_device.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/protection/example_grids.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/protection/protection_devices/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/protection/run_protection.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/_compat.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/add_userfcn.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/bustypes.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/d2AIbr_dV2.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/d2ASbr_dV2.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/d2Ibr_dV2.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/d2Sbr_dV2.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/d2Sbus_dV2.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/dAbr_dV.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/dIbr_dV.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/dSbr_dV.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/dSbus_dV.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/dcopf_solver.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/dcpf.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/fdpf.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/gausspf.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/hasPQcap.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/idx_area.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/idx_brch.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/idx_brch_sc.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/idx_brch_tdpf.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/idx_bus.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/idx_bus_sc.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/idx_cost.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/idx_gen.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/idx_ssc.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/idx_svc.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/idx_tcsc.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/isload.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/makeAang.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/makeApq.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/makeAvl.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/makeAy.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/makeB.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/makeBdc.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/makeLODF.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/makePTDF.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/makeSbus.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/makeYbus.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/newtonpf.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/opf.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/opf_args.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/opf_consfcn.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/opf_costfcn.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/opf_execute.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/opf_hessfcn.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/opf_model.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/opf_setup.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/pfsoln.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/pips.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/pipsopf_solver.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/pipsver.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/polycost.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/ppoption.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/ppver.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/pqcost.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/printpf.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/qps_pips.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/qps_pypower.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/run_userfcn.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/totcost.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/update_mupq.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/pypower/util.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/results.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/results_branch.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/results_gen.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/run.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/runpm.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/shortcircuit/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/shortcircuit/calc_sc.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/shortcircuit/currents.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/shortcircuit/impedance.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/shortcircuit/kappa.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/shortcircuit/ppc_conversion.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/shortcircuit/results.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/shortcircuit/toolbox.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/std_types.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/api/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/api/input_files/test_control.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/api/old_net.p +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/api/test_auxiliary.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/api/test_convert_format.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/api/test_create.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/api/test_sql_io.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/conftest.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/consistency_checks.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/control/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/control/test_const_control.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/control/test_control.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/control/test_tap_dependent_impedance.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/converter/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/converter/case24_ieee_rts.m +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/converter/case24_ieee_rts.mat +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/converter/case2_2_by_code.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/converter/ppc_testgrids/case14.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/converter/ppc_testgrids/case2_1.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/converter/ppc_testgrids/case2_2.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/converter/ppc_testgrids/case2_3.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/converter/ppc_testgrids/case2_4.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/converter/ppc_testgrids/case3_1.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/converter/ppc_testgrids/case3_2.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/converter/ppc_testgrids/case57.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/converter/ppc_testgrids/case6.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/converter/pypower_cases/case118.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/converter/pypower_cases/case24_ieee_rts.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/converter/pypower_cases/case30.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/converter/pypower_cases/case300.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/converter/pypower_cases/case39.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/converter/pypower_cases/case4gs.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/converter/pypower_cases/case6ww.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/converter/pypower_cases/case9.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/converter/test_from_cim.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/converter/test_from_mpc.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/converter/test_from_powerfactory.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/converter/test_from_powerfactory_3ph.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/converter/test_from_ppc.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/converter/test_to_ppc_and_mpc.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/converter/testfiles/pf_combinations_results_net_bus_trafo_line_load_19.10.20.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/converter/testfiles/pf_combinations_results_trafo.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/converter/testfiles/pf_results_line.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/converter/testfiles/test_line_3ph.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/converter/testfiles/test_net_3ph_test_2020_10_19.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/converter/testfiles/test_trafo_3ph.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/converter/testfiles/trafo_tap_model.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/estimation/3bus_wls.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/estimation/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/estimation/test_conditions.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/estimation/test_irwls_estimation.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/estimation/test_opt_lp_estimation.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/estimation/test_pmu.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/estimation/test_recycle.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/grid_equivalents/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/grid_equivalents/test_get_equivalent_networks.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/grid_equivalents/test_grid_equivalents_toolbox.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/helper_functions.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/loadflow/PF_Results.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/loadflow/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/loadflow/runpp_3ph Validation.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/loadflow/test_PTDF_LODF.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/loadflow/test_recycle.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/loadflow/test_runpp_3ph.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/loadflow/test_runpp_3ph_n_line.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/loadflow/testgrid.p +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/networks/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/networks/test_cigre_networks.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/networks/test_create_example.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/networks/test_dickert_lv_networks.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/networks/test_kerber_extreme_networks.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/networks/test_mv_oberrhein.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/networks/test_power_system_test_cases.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/networks/test_simple_pandapower_test_networks.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/networks/test_synthetic_voltage_control_lv_networks.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/opf/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/opf/case5_clm_matfile.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/opf/case5_clm_pm.m +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/opf/case5_clm_pp.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/opf/cigre_timeseries_15min.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/opf/test_TNEP.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/opf/test_check_opf_data.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/opf/test_costs_pwl.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/opf/test_costs_pwl_q.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/opf/test_curtailment.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/opf/test_dcline.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/opf/test_oberrhein.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/opf/test_pandamodels_converter.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/opf/test_pandamodels_installation.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/opf/test_pp_vs_pm.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/plotting/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/plotting/test_create_colormaps.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/plotting/test_geo.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/plotting/test_simple_plotly.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/plotting/test_to_html.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/run_tests.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/shortcircuit/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/shortcircuit/sc_test_meshed_grid.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/shortcircuit/test_1ph.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/shortcircuit/test_iec60909_4.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/shortcircuit/test_impedance.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/shortcircuit/test_meshing_detection.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/shortcircuit/test_min_branch_results.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/shortcircuit/test_motor.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/shortcircuit/test_ring.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/shortcircuit/test_sc_multi_bus.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/shortcircuit/test_sc_single_bus.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/shortcircuit/test_sc_voltage.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/shortcircuit/test_sgen.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/shortcircuit/test_trafo3w.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/shortcircuit/test_transformer.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Buscoords.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/LineCodes.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Lines.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/LoadShapes.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_1.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_10.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_100.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_11.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_12.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_13.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_14.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_15.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_16.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_17.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_18.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_19.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_2.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_20.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_21.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_22.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_23.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_24.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_25.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_26.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_27.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_28.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_29.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_3.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_30.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_31.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_32.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_33.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_34.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_35.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_36.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_37.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_38.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_39.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_4.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_40.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_41.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_42.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_43.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_44.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_45.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_46.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_47.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_48.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_49.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_5.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_50.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_51.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_52.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_53.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_54.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_55.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_56.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_57.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_58.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_59.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_6.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_60.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_61.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_62.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_63.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_64.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_65.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_66.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_67.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_68.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_69.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_7.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_70.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_71.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_72.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_73.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_74.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_75.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_76.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_77.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_78.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_79.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_8.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_80.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_81.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_82.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_83.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_84.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_85.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_86.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_87.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_88.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_89.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_9.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_90.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_91.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_92.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_93.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_94.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_95.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_96.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_97.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_98.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Load_Profiles/Load_profile_99.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Loads.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Source.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/European_LV_CSV/Transformer.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/IEC60909-4_example.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/controller_containing_NoneNan.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/example_cim/CGMES_v2.4.15_FullGridTestConfiguration_BB_BE_v1.zip +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/example_cim/CGMES_v2.4.15_FullGridTestConfiguration_BD_v1.zip +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/example_cim/CGMES_v2.4.15_RealGridTestConfiguration_v2.zip +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/example_cim/CGMES_v2.4.15_SmallGridTestConfiguration_BaseCase_Complete_v3.0.0.zip +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/example_cim/CGMES_v2.4.15_SmallGridTestConfiguration_Boundary_v3.0.0.zip +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/example_cim/Disclaimer.docx +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/example_cim/LICENSE.txt +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/example_cim/SimBench_1-HVMV-mixed-1.105-0-sw_modified.zip +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/example_cim/Simbench_1-EHV-mixed--2-no_sw.zip +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/example_cim/example_multivoltage.zip +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/old_versions/example_1.2.0.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/old_versions/example_1.2.2.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/old_versions/example_1.3.0.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/old_versions/example_1.3.1.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/old_versions/example_1.4.0.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/old_versions/example_1.4.1.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/old_versions/example_1.4.2.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/old_versions/example_1.4.3.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/old_versions/example_1.5.0.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/old_versions/example_1.5.1.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/old_versions/example_1.6.0.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/old_versions/example_1.6.1.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/old_versions/example_2.0.0.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/old_versions/example_2.0.1.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/old_versions/example_2.1.0.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/old_versions/example_2.10.0.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/old_versions/example_2.10.1.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/old_versions/example_2.11.0.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/old_versions/example_2.11.1.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/old_versions/example_2.12.0.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/old_versions/example_2.12.1.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/old_versions/example_2.13.0.1.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/old_versions/example_2.13.0.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/old_versions/example_2.14.0.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/old_versions/example_2.2.0.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/old_versions/example_2.3.0.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/old_versions/example_2.3.1.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/old_versions/example_2.4.0.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/old_versions/example_2.5.0.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/old_versions/example_2.6.0.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/old_versions/example_2.7.0.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/old_versions/example_2.8.0.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/old_versions/example_2.9.0.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/pm_example_res.json +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/run_powermodels_custom.jl +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/save_version.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/test_files/tdpf/case30_branch_details.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/timeseries/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/timeseries/test_data_source.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/timeseries/test_files/small_profile.csv +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/timeseries/test_output_writer.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/timeseries/test_timeseries.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/toolbox/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/toolbox/test_power_factor.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/toolbox/test_result_info.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/topology/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/test/topology/test_graph_searches.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/timeseries/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/timeseries/data_source.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/timeseries/data_sources/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/timeseries/data_sources/frame_data.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/timeseries/output_writer.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/timeseries/read_batch_results.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/timeseries/run_time_series.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/timeseries/ts_runpp.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/toolbox/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/toolbox/comparison.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/toolbox/element_selection.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/toolbox/power_factor.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/topology/__init__.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/topology/graph_searches.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower/topology/graph_tool_interface.py +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower.egg-info/SOURCES.txt +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower.egg-info/dependency_links.txt +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/pandapower.egg-info/top_level.txt +0 -0
- {pandapower-2.14.1 → pandapower-2.14.5}/setup.cfg +0 -0
|
@@ -79,7 +79,7 @@ jobs:
|
|
|
79
79
|
- name: Install dependencies
|
|
80
80
|
run: |
|
|
81
81
|
python -m pip install --upgrade pip
|
|
82
|
-
python -m pip install pytest
|
|
82
|
+
python -m pip install pytest setuptools
|
|
83
83
|
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
|
|
84
84
|
pip install .
|
|
85
85
|
pip install matplotlib
|
|
@@ -4,6 +4,20 @@ Change Log
|
|
|
4
4
|
[upcoming release] - 2024-..-..
|
|
5
5
|
-------------------------------
|
|
6
6
|
|
|
7
|
+
[2.14.5] - 2024-03-28
|
|
8
|
+
-------------------------------
|
|
9
|
+
- [CHANGED] added possibility to provide custom weights to switches and transformers (before - always zero) when creating a graph
|
|
10
|
+
- [FIXED] many futurewarnings and deprecation warnings
|
|
11
|
+
|
|
12
|
+
[2.14.4] - 2024-03-28
|
|
13
|
+
-------------------------------
|
|
14
|
+
- [FIXED] internal pgm test returns ANOTHER error when using python 3.8
|
|
15
|
+
- [FIXED] added setuptools to relying tests
|
|
16
|
+
|
|
17
|
+
[2.14.3] - 2024-03-28
|
|
18
|
+
-------------------------------
|
|
19
|
+
- [FIXED] internal pgm test checked wrong result
|
|
20
|
+
- [FIXED] 2.14.0 - 2.14.3 just minor release fixes to improve workflow
|
|
7
21
|
|
|
8
22
|
[2.14.0] - 2024-03-26
|
|
9
23
|
-------------------------------
|
|
@@ -57,6 +71,7 @@ Change Log
|
|
|
57
71
|
- [ADDED] cim2pp: added description fields for each asset and added BusbarSection information to nodes
|
|
58
72
|
- [CHANGED] cim2pp: reformat documentation for reading in files
|
|
59
73
|
- [CHANGED] allow providing grid_tables as a parameter to the function that downloads net from PostgreSQL
|
|
74
|
+
- [FIXED] avoid FutureWarning of pandas 2.2
|
|
60
75
|
- [FIXED] compatibility with lightsim2grid after new version 0.8.0
|
|
61
76
|
- [ADDED] allow passing custom runpp-function to pp.diagnostic
|
|
62
77
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: pandapower
|
|
3
|
-
Version: 2.14.
|
|
3
|
+
Version: 2.14.5
|
|
4
4
|
Summary: An easy to use open source tool for power system modeling, analysis and optimization with a high degree of automation.
|
|
5
5
|
Home-page: http://www.pandapower.org
|
|
6
6
|
Author: Leon Thurner, Alexander Scheidler
|
|
@@ -142,6 +142,20 @@ Change Log
|
|
|
142
142
|
[upcoming release] - 2024-..-..
|
|
143
143
|
-------------------------------
|
|
144
144
|
|
|
145
|
+
[2.14.5] - 2024-03-28
|
|
146
|
+
-------------------------------
|
|
147
|
+
- [CHANGED] added possibility to provide custom weights to switches and transformers (before - always zero) when creating a graph
|
|
148
|
+
- [FIXED] many futurewarnings and deprecation warnings
|
|
149
|
+
|
|
150
|
+
[2.14.4] - 2024-03-28
|
|
151
|
+
-------------------------------
|
|
152
|
+
- [FIXED] internal pgm test returns ANOTHER error when using python 3.8
|
|
153
|
+
- [FIXED] added setuptools to relying tests
|
|
154
|
+
|
|
155
|
+
[2.14.3] - 2024-03-28
|
|
156
|
+
-------------------------------
|
|
157
|
+
- [FIXED] internal pgm test checked wrong result
|
|
158
|
+
- [FIXED] 2.14.0 - 2.14.3 just minor release fixes to improve workflow
|
|
145
159
|
|
|
146
160
|
[2.14.0] - 2024-03-26
|
|
147
161
|
-------------------------------
|
|
@@ -195,6 +209,7 @@ Change Log
|
|
|
195
209
|
- [ADDED] cim2pp: added description fields for each asset and added BusbarSection information to nodes
|
|
196
210
|
- [CHANGED] cim2pp: reformat documentation for reading in files
|
|
197
211
|
- [CHANGED] allow providing grid_tables as a parameter to the function that downloads net from PostgreSQL
|
|
212
|
+
- [FIXED] avoid FutureWarning of pandas 2.2
|
|
198
213
|
- [FIXED] compatibility with lightsim2grid after new version 0.8.0
|
|
199
214
|
- [ADDED] allow passing custom runpp-function to pp.diagnostic
|
|
200
215
|
|
|
@@ -967,9 +967,9 @@ def _clean_up(net, res=True):
|
|
|
967
967
|
# res_bus.drop(xward_buses, inplace=True)
|
|
968
968
|
if len(net["dcline"]) > 0:
|
|
969
969
|
dc_gens = net.gen.index[(len(net.gen) - len(net.dcline) * 2):]
|
|
970
|
-
net.gen.drop(dc_gens
|
|
970
|
+
net.gen = net.gen.drop(dc_gens)
|
|
971
971
|
if res:
|
|
972
|
-
net.res_gen.drop(dc_gens
|
|
972
|
+
net.res_gen = net.res_gen.drop(dc_gens)
|
|
973
973
|
|
|
974
974
|
|
|
975
975
|
def _set_isolated_buses_out_of_service(net, ppc):
|
|
@@ -188,7 +188,7 @@ def drop_same_type_existing_controllers(net, this_ctrl_type, index=None, matchin
|
|
|
188
188
|
same_type_existing_ctrl = get_controller_index(net, ctrl_type=this_ctrl_type,
|
|
189
189
|
parameters=matching_params)
|
|
190
190
|
if len(same_type_existing_ctrl):
|
|
191
|
-
net.controller.drop(same_type_existing_ctrl
|
|
191
|
+
net.controller = net.controller.drop(same_type_existing_ctrl)
|
|
192
192
|
logger.debug("Controllers " + str(['%i' % idx for idx in same_type_existing_ctrl]) +
|
|
193
193
|
"got removed because of same type and matching parameters as new " +
|
|
194
194
|
"controller " + index + ".")
|
|
@@ -216,9 +216,9 @@ def _create_seperate_cost_tables(net, elements_to_deserialize):
|
|
|
216
216
|
|
|
217
217
|
def _rename_columns(net, elements_to_deserialize):
|
|
218
218
|
if _check_elements_to_deserialize('line', elements_to_deserialize):
|
|
219
|
-
net.line.rename(columns={'imax_ka': 'max_i_ka'}
|
|
219
|
+
net.line = net.line.rename(columns={'imax_ka': 'max_i_ka'})
|
|
220
220
|
if _check_elements_to_deserialize('gen', elements_to_deserialize):
|
|
221
|
-
net.gen.rename(columns={"qmin_mvar": "min_q_mvar", "qmax_mvar": "max_q_mvar"}
|
|
221
|
+
net.gen = net.gen.rename(columns={"qmin_mvar": "min_q_mvar", "qmax_mvar": "max_q_mvar"})
|
|
222
222
|
for typ, data in net.std_types["line"].items():
|
|
223
223
|
if "imax_ka" in data:
|
|
224
224
|
net.std_types["line"][typ]["max_i_ka"] = net.std_types["line"][typ].pop("imax_ka")
|
|
@@ -235,11 +235,11 @@ def _rename_columns(net, elements_to_deserialize):
|
|
|
235
235
|
net.measurement.loc[bus_measurements, "bus"].values
|
|
236
236
|
net.measurement.loc[~bus_measurements, "side"] = \
|
|
237
237
|
net.measurement.loc[~bus_measurements, "bus"].values
|
|
238
|
-
net.measurement.rename(columns={'type': 'measurement_type'}
|
|
239
|
-
net.measurement.drop(["bus"], axis=1
|
|
238
|
+
net.measurement = net.measurement.rename(columns={'type': 'measurement_type'})
|
|
239
|
+
net.measurement = net.measurement.drop(["bus"], axis=1)
|
|
240
240
|
if _check_elements_to_deserialize('controller', elements_to_deserialize):
|
|
241
241
|
if "controller" in net:
|
|
242
|
-
net["controller"].rename(columns={"controller": "object"}
|
|
242
|
+
net["controller"] = net["controller"].rename(columns={"controller": "object"})
|
|
243
243
|
if "options" in net:
|
|
244
244
|
if "recycle" in net["options"]:
|
|
245
245
|
if "Ybus" in net["options"]["recycle"]:
|
|
@@ -371,7 +371,7 @@ def _update_trafo_parameter_names(net, elements_to_deserialize):
|
|
|
371
371
|
for element in update_data:
|
|
372
372
|
replace_cols = {col: _update_column(col) for col in net[element].columns if
|
|
373
373
|
col.startswith("tp") or col.startswith("vsc")}
|
|
374
|
-
net[element].rename(columns=replace_cols
|
|
374
|
+
net[element] = net[element].rename(columns=replace_cols)
|
|
375
375
|
_update_trafo_type_parameter_names(net)
|
|
376
376
|
|
|
377
377
|
|
|
@@ -399,16 +399,16 @@ def _set_data_type_of_columns(net):
|
|
|
399
399
|
|
|
400
400
|
def _convert_to_mw(net):
|
|
401
401
|
replace = [("kw", "mw"), ("kvar", "mvar"), ("kva", "mva")]
|
|
402
|
-
for element
|
|
403
|
-
if isinstance(
|
|
402
|
+
for element in net.keys():
|
|
403
|
+
if isinstance(net[element], pd.DataFrame):
|
|
404
404
|
for old, new in replace:
|
|
405
|
-
diff = {column: column.replace(old, new) for column in
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
if len(
|
|
405
|
+
diff = {column: column.replace(old, new) for column in net[element].columns if
|
|
406
|
+
old in column and column != "pfe_kw"}
|
|
407
|
+
net[element] = net[element].rename(columns=diff)
|
|
408
|
+
if len(net[element]) == 0:
|
|
409
409
|
continue
|
|
410
410
|
for old, new in diff.items():
|
|
411
|
-
|
|
411
|
+
net[element][new] *= 1e-3
|
|
412
412
|
|
|
413
413
|
for element, std_types in net.std_types.items():
|
|
414
414
|
for std_type, parameters in std_types.items():
|
|
@@ -219,7 +219,7 @@ class CimConverter:
|
|
|
219
219
|
# fuse boundary ConnectivityNodes with their TopologicalNodes
|
|
220
220
|
bus_t = self.net.bus.reset_index(level=0, drop=False)
|
|
221
221
|
bus_drop = bus_t.loc[bus_t[sc['o_prf']] == 'eq_bd', ['index', sc['o_id'], 'cim_topnode']]
|
|
222
|
-
bus_drop.rename(columns={'index': 'b1'}
|
|
222
|
+
bus_drop = bus_drop.rename(columns={'index': 'b1'})
|
|
223
223
|
bus_drop = pd.merge(bus_drop, bus_t[['index', sc['o_id']]].rename(columns={'index': 'b2', sc['o_id']: 'o_id2'}),
|
|
224
224
|
how='inner', left_on='cim_topnode', right_on='o_id2')
|
|
225
225
|
if bus_drop.index.size > 0:
|
{pandapower-2.14.1 → pandapower-2.14.5}/pandapower/converter/cim/cim2pp/convert_measurements.py
RENAMED
|
@@ -44,11 +44,11 @@ class CreateMeasurements:
|
|
|
44
44
|
'PowerSystemResource', 'positiveFlowIn']],
|
|
45
45
|
self.cim['eq']['AnalogValue'][['sensorAccuracy', 'MeasurementValueSource', 'Analog', 'value']],
|
|
46
46
|
how='inner', left_on='rdfId', right_on='Analog')
|
|
47
|
-
analogs.drop(columns=['rdfId', 'Analog']
|
|
47
|
+
analogs = analogs.drop(columns=['rdfId', 'Analog'])
|
|
48
48
|
analogs = pd.merge(analogs, self.cim['eq']['MeasurementValueSource'], how='left',
|
|
49
49
|
left_on='MeasurementValueSource',
|
|
50
50
|
right_on='rdfId')
|
|
51
|
-
analogs.drop(columns=['rdfId', 'MeasurementValueSource']
|
|
51
|
+
analogs = analogs.drop(columns=['rdfId', 'MeasurementValueSource'])
|
|
52
52
|
# collect all the assets (line, trafo, trafo3w) and its connections
|
|
53
53
|
assets = pd.DataFrame(None, columns=['element_type', 'side'])
|
|
54
54
|
append_dict = dict({'line': {'from_bus': 'from', 'to_bus': 'to'},
|
|
@@ -61,7 +61,7 @@ class CreateMeasurements:
|
|
|
61
61
|
temp['element_type'] = element_type
|
|
62
62
|
temp['side'] = side
|
|
63
63
|
assets = pd.concat([assets, temp], sort=False)
|
|
64
|
-
assets.rename(columns={'index': 'element'}
|
|
64
|
+
assets = assets.rename(columns={'index': 'element'})
|
|
65
65
|
# now join the analogs with the assets
|
|
66
66
|
psr = pd.merge(analogs, assets, how='inner', left_on='PowerSystemResource', right_on=sc['o_id'])
|
|
67
67
|
# keep only entries which are associated to the terminal from the asset
|
|
@@ -96,24 +96,24 @@ class CreateMeasurements:
|
|
|
96
96
|
sc = cim_tools.get_pp_net_special_columns_dict()
|
|
97
97
|
# get the measurements from the sv profile and set the Terminal as index
|
|
98
98
|
sv_powerflow = self.cim['sv']['SvPowerFlow'][['Terminal', 'p', 'q']]
|
|
99
|
-
sv_powerflow.set_index('Terminal'
|
|
99
|
+
sv_powerflow = sv_powerflow.set_index('Terminal')
|
|
100
100
|
|
|
101
101
|
# ---------------------------------------measure: bus v---------------------------------------------------
|
|
102
102
|
busses_temp = self.net.bus[['name', 'vn_kv', sc['ct']]].copy()
|
|
103
|
-
busses_temp.reset_index(level=0
|
|
104
|
-
busses_temp.rename(columns={'index': 'element', sc['ct']: 'TopologicalNode'}
|
|
103
|
+
busses_temp = busses_temp.reset_index(level=0)
|
|
104
|
+
busses_temp = busses_temp.rename(columns={'index': 'element', sc['ct']: 'TopologicalNode'})
|
|
105
105
|
sv_sv_voltages = pd.merge(self.cim['sv']['SvVoltage'][['TopologicalNode', 'v']], busses_temp,
|
|
106
106
|
how='left', on='TopologicalNode')
|
|
107
107
|
# drop all the rows mit vn_kv == np.NaN (no measurements available for that bus)
|
|
108
|
-
sv_sv_voltages.dropna(subset=['vn_kv']
|
|
108
|
+
sv_sv_voltages = sv_sv_voltages.dropna(subset=['vn_kv'])
|
|
109
109
|
sv_sv_voltages.reset_index(inplace=True)
|
|
110
110
|
if 'index' in sv_sv_voltages.columns:
|
|
111
|
-
sv_sv_voltages.drop(['index'],
|
|
111
|
+
sv_sv_voltages = sv_sv_voltages.drop(['index'], axis=1)
|
|
112
112
|
# value -> voltage ()
|
|
113
113
|
sv_sv_voltages['value'] = sv_sv_voltages.v / sv_sv_voltages.vn_kv
|
|
114
114
|
sv_sv_voltages['value'].replace(0, np.nan, inplace=True)
|
|
115
115
|
# drop all the rows mit value == np.NaN
|
|
116
|
-
sv_sv_voltages.dropna(subset=['value']
|
|
116
|
+
sv_sv_voltages = sv_sv_voltages.dropna(subset=['value'])
|
|
117
117
|
sv_sv_voltages.reset_index(inplace=True)
|
|
118
118
|
sv_sv_voltages['value_stddev'] = sv_sv_voltages.value * 0.001
|
|
119
119
|
sv_sv_voltages['vn_kv_stddev'] = 0.1 / sv_sv_voltages.vn_kv
|
|
@@ -136,7 +136,7 @@ class CreateMeasurements:
|
|
|
136
136
|
line_temp['q_to'] = \
|
|
137
137
|
pd.merge(line_temp[sc['t_to']], sv_powerflow['q'], left_on=sc['t_to'], right_index=True)['q']
|
|
138
138
|
|
|
139
|
-
line_temp.dropna(subset=['p_from', 'p_to', 'q_from', 'q_to'], thresh=4
|
|
139
|
+
line_temp = line_temp.dropna(subset=['p_from', 'p_to', 'q_from', 'q_to'], thresh=4)
|
|
140
140
|
|
|
141
141
|
line_temp['stddev_line_from_p'] = abs(line_temp.p_from) * sigma_line + 1.
|
|
142
142
|
line_temp['stddev_line_to_p'] = abs(line_temp.p_to) * sigma_line + 1.
|
|
@@ -181,7 +181,7 @@ class CreateMeasurements:
|
|
|
181
181
|
trafo_temp['q_lv'] = \
|
|
182
182
|
pd.merge(trafo_temp[sc['t_lv']], sv_powerflow['q'], left_on=sc['t_lv'], right_index=True)['q']
|
|
183
183
|
|
|
184
|
-
trafo_temp.dropna(subset=['p_hv', 'p_lv', 'q_hv', 'q_lv'], thresh=4
|
|
184
|
+
trafo_temp = trafo_temp.dropna(subset=['p_hv', 'p_lv', 'q_hv', 'q_lv'], thresh=4)
|
|
185
185
|
|
|
186
186
|
trafo_temp['stddev_trafo_hv_p'] = abs(trafo_temp.p_hv) * sigma_trafo + 1.
|
|
187
187
|
trafo_temp['stddev_trafo_lv_p'] = abs(trafo_temp.p_lv) * sigma_trafo + 1.
|
|
@@ -230,7 +230,7 @@ class CreateMeasurements:
|
|
|
230
230
|
trafo3w_temp['q_lv'] = \
|
|
231
231
|
pd.merge(trafo3w_temp[sc['t_lv']], sv_powerflow['q'], left_on=sc['t_lv'], right_index=True)['q']
|
|
232
232
|
|
|
233
|
-
trafo3w_temp.dropna(subset=['p_hv', 'p_mv', 'p_lv', 'q_hv', 'q_mv', 'q_lv'], thresh=6
|
|
233
|
+
trafo3w_temp = trafo3w_temp.dropna(subset=['p_hv', 'p_mv', 'p_lv', 'q_hv', 'q_mv', 'q_lv'], thresh=6)
|
|
234
234
|
|
|
235
235
|
trafo3w_temp['stddev_trafo_hv_p'] = abs(trafo3w_temp.p_hv) * sigma_trafo3w + 1.
|
|
236
236
|
trafo3w_temp['stddev_trafo_mv_p'] = abs(trafo3w_temp.p_mv) * sigma_trafo3w + 1.
|
|
@@ -275,7 +275,7 @@ class CreateMeasurements:
|
|
|
275
275
|
self._copy_to_measurement(trafo3w_temp)
|
|
276
276
|
|
|
277
277
|
# remove NaN values
|
|
278
|
-
self.net.measurement.dropna(subset=['value']
|
|
278
|
+
self.net.measurement = self.net.measurement.dropna(subset=['value'])
|
|
279
279
|
# set the element from float to default uint32
|
|
280
280
|
self._set_measurement_element_datatype()
|
|
281
281
|
|
|
@@ -29,13 +29,13 @@ class ConnectivityNodesCim16:
|
|
|
29
29
|
# a prepared and modified copy of eqssh_terminals to use for lines, switches, loads, sgens and so on
|
|
30
30
|
eqssh_terminals = eqssh_terminals[
|
|
31
31
|
['rdfId', 'ConductingEquipment', 'ConnectivityNode', 'sequenceNumber', 'connected']].copy()
|
|
32
|
-
eqssh_terminals.rename(columns={'rdfId': 'rdfId_Terminal'}
|
|
33
|
-
eqssh_terminals.rename(columns={'ConductingEquipment': 'rdfId'}
|
|
32
|
+
eqssh_terminals = eqssh_terminals.rename(columns={'rdfId': 'rdfId_Terminal'})
|
|
33
|
+
eqssh_terminals = eqssh_terminals.rename(columns={'ConductingEquipment': 'rdfId'})
|
|
34
34
|
# buses for merging with assets:
|
|
35
35
|
bus_merge = pd.DataFrame(data=self.cimConverter.net['bus'].loc[:, [sc['o_id'], 'vn_kv']])
|
|
36
|
-
bus_merge.rename(columns={'vn_kv': 'base_voltage_bus'}
|
|
37
|
-
bus_merge.reset_index(level=0
|
|
38
|
-
bus_merge.rename(columns={'index': 'index_bus', sc['o_id']: 'ConnectivityNode'}
|
|
36
|
+
bus_merge = bus_merge.rename(columns={'vn_kv': 'base_voltage_bus'})
|
|
37
|
+
bus_merge = bus_merge.reset_index(level=0)
|
|
38
|
+
bus_merge = bus_merge.rename(columns={'index': 'index_bus', sc['o_id']: 'ConnectivityNode'})
|
|
39
39
|
bus_merge = pd.merge(eqssh_terminals, bus_merge, how='left', on='ConnectivityNode')
|
|
40
40
|
self.cimConverter.bus_merge = bus_merge
|
|
41
41
|
|
|
@@ -69,15 +69,15 @@ class ConnectivityNodesCim16:
|
|
|
69
69
|
# The idea is to add the Bays and Substations to the VoltageLevels to handle them similar to (1)
|
|
70
70
|
# prepare the bays (2)
|
|
71
71
|
eq_bay = self.cimConverter.cim['eq']['Bay'].copy()
|
|
72
|
-
eq_bay.rename(columns={'rdfId': 'ConnectivityNodeContainer'}
|
|
72
|
+
eq_bay = eq_bay.rename(columns={'rdfId': 'ConnectivityNodeContainer'})
|
|
73
73
|
eq_bay = pd.merge(self.cimConverter.cim['eq']['ConnectivityNode'][['ConnectivityNodeContainer']], eq_bay,
|
|
74
74
|
how='inner', on='ConnectivityNodeContainer')
|
|
75
|
-
eq_bay.dropna(subset=['VoltageLevel']
|
|
75
|
+
eq_bay = eq_bay.dropna(subset=['VoltageLevel'])
|
|
76
76
|
eq_bay = pd.merge(eq_bay,
|
|
77
77
|
self.cimConverter.cim['eq']['VoltageLevel'][['rdfId', 'BaseVoltage', 'Substation']],
|
|
78
78
|
how='left', left_on='VoltageLevel', right_on='rdfId')
|
|
79
|
-
eq_bay.drop(columns=['VoltageLevel', 'rdfId']
|
|
80
|
-
eq_bay.rename(columns={'ConnectivityNodeContainer': 'rdfId'}
|
|
79
|
+
eq_bay = eq_bay.drop(columns=['VoltageLevel', 'rdfId'])
|
|
80
|
+
eq_bay = eq_bay.rename(columns={'ConnectivityNodeContainer': 'rdfId'})
|
|
81
81
|
# now prepare the substations (3)
|
|
82
82
|
# first get only the needed substation used as ConnectivityNodeContainer in ConnectivityNode
|
|
83
83
|
eq_subs = pd.merge(self.cimConverter.cim['eq']['ConnectivityNode'][['ConnectivityNodeContainer']].rename(
|
|
@@ -98,18 +98,18 @@ class ConnectivityNodesCim16:
|
|
|
98
98
|
level=LogLevel.WARNING, code=ReportCode.WARNING_CONVERTING,
|
|
99
99
|
message="More than one VoltageLevel refers to one Substation, maybe the voltages from some buses "
|
|
100
100
|
"are incorrect, the problematic VoltageLevels and Substations:\n%s" % eq_subs_duplicates))
|
|
101
|
-
eq_subs.drop_duplicates(['rdfId'], keep='first'
|
|
101
|
+
eq_subs = eq_subs.drop_duplicates(['rdfId'], keep='first')
|
|
102
102
|
# now merge the VoltageLevel with the ConnectivityNode
|
|
103
103
|
eq_voltage_levels = self.cimConverter.cim['eq']['VoltageLevel'][['rdfId', 'BaseVoltage', 'Substation']]
|
|
104
104
|
eq_voltage_levels = pd.concat([eq_voltage_levels, eq_bay], ignore_index=True, sort=False)
|
|
105
105
|
eq_voltage_levels = pd.concat([eq_voltage_levels, eq_subs], ignore_index=True, sort=False)
|
|
106
|
-
eq_voltage_levels.drop_duplicates(['rdfId'], keep='first'
|
|
106
|
+
eq_voltage_levels = eq_voltage_levels.drop_duplicates(['rdfId'], keep='first')
|
|
107
107
|
del eq_bay, eq_subs, eq_subs_duplicates
|
|
108
108
|
eq_substations = self.cimConverter.cim['eq']['Substation'][['rdfId', 'name']]
|
|
109
|
-
eq_substations.rename(columns={'rdfId': 'Substation', 'name': 'name_substation'}
|
|
109
|
+
eq_substations = eq_substations.rename(columns={'rdfId': 'Substation', 'name': 'name_substation'})
|
|
110
110
|
eq_voltage_levels = pd.merge(eq_voltage_levels, eq_substations, how='left', on='Substation')
|
|
111
|
-
eq_voltage_levels.drop_duplicates(subset=['rdfId']
|
|
112
|
-
eq_voltage_levels.rename(columns={'rdfId': 'ConnectivityNodeContainer'}
|
|
111
|
+
eq_voltage_levels = eq_voltage_levels.drop_duplicates(subset=['rdfId'])
|
|
112
|
+
eq_voltage_levels = eq_voltage_levels.rename(columns={'rdfId': 'ConnectivityNodeContainer'})
|
|
113
113
|
|
|
114
114
|
connectivity_nodes = pd.merge(connectivity_nodes, eq_voltage_levels, how='left',
|
|
115
115
|
on='ConnectivityNodeContainer')
|
|
@@ -128,7 +128,7 @@ class ConnectivityNodesCim16:
|
|
|
128
128
|
inplace=True)
|
|
129
129
|
connectivity_nodes = pd.merge(connectivity_nodes, eq_bd_cns, how='left', on='rdfId')
|
|
130
130
|
connectivity_nodes['BaseVoltage'].fillna(connectivity_nodes['BaseVoltage_2'], inplace=True)
|
|
131
|
-
connectivity_nodes.drop(columns=['BaseVoltage_2']
|
|
131
|
+
connectivity_nodes = connectivity_nodes.drop(columns=['BaseVoltage_2'])
|
|
132
132
|
# check if there is a mix between BB and NB models
|
|
133
133
|
terminals_temp = \
|
|
134
134
|
self.cimConverter.cim['eq']['Terminal'].loc[
|
|
@@ -137,9 +137,9 @@ class ConnectivityNodesCim16:
|
|
|
137
137
|
terminals_temp = pd.merge(terminals_temp,
|
|
138
138
|
self.cimConverter.cim['tp']['Terminal'][['rdfId', 'TopologicalNode']],
|
|
139
139
|
how='left', on='rdfId')
|
|
140
|
-
terminals_temp.drop(columns=['rdfId']
|
|
141
|
-
terminals_temp.rename(columns={'TopologicalNode': 'rdfId'}
|
|
142
|
-
terminals_temp.drop_duplicates(subset=['rdfId']
|
|
140
|
+
terminals_temp = terminals_temp.drop(columns=['rdfId'])
|
|
141
|
+
terminals_temp = terminals_temp.rename(columns={'TopologicalNode': 'rdfId'})
|
|
142
|
+
terminals_temp = terminals_temp.drop_duplicates(subset=['rdfId'])
|
|
143
143
|
tp_temp = self.cimConverter.cim['tp']['TopologicalNode'][
|
|
144
144
|
['rdfId', 'name', 'description', 'BaseVoltage']]
|
|
145
145
|
tp_temp[sc['o_prf']] = 'tp'
|
|
@@ -164,12 +164,12 @@ class ConnectivityNodesCim16:
|
|
|
164
164
|
eq_base_voltages = pd.concat([self.cimConverter.cim['eq']['BaseVoltage'][['rdfId', 'nominalVoltage']],
|
|
165
165
|
self.cimConverter.cim['eq_bd']['BaseVoltage'][['rdfId', 'nominalVoltage']]],
|
|
166
166
|
ignore_index=True, sort=False)
|
|
167
|
-
eq_base_voltages.drop_duplicates(subset=['rdfId']
|
|
168
|
-
eq_base_voltages.rename(columns={'rdfId': 'BaseVoltage'}
|
|
167
|
+
eq_base_voltages = eq_base_voltages.drop_duplicates(subset=['rdfId'])
|
|
168
|
+
eq_base_voltages = eq_base_voltages.rename(columns={'rdfId': 'BaseVoltage'})
|
|
169
169
|
# make sure that the BaseVoltage has string datatype
|
|
170
170
|
connectivity_nodes['BaseVoltage'] = connectivity_nodes['BaseVoltage'].astype(str)
|
|
171
171
|
connectivity_nodes = pd.merge(connectivity_nodes, eq_base_voltages, how='left', on='BaseVoltage')
|
|
172
|
-
connectivity_nodes.drop(columns=['BaseVoltage']
|
|
172
|
+
connectivity_nodes = connectivity_nodes.drop(columns=['BaseVoltage'])
|
|
173
173
|
eqssh_terminals = self.cimConverter.cim['eq']['Terminal'][['rdfId', 'ConnectivityNode', 'ConductingEquipment',
|
|
174
174
|
'sequenceNumber']]
|
|
175
175
|
eqssh_terminals = \
|
|
@@ -191,13 +191,13 @@ class ConnectivityNodesCim16:
|
|
|
191
191
|
pd.concat([self.cimConverter.cim['tp']['DCTerminal'],
|
|
192
192
|
self.cimConverter.cim['tp']['ACDCConverterDCTerminal']],
|
|
193
193
|
ignore_index=True, sort=False), how='left', on='rdfId')
|
|
194
|
-
dc_terminals.rename(columns={'DCNode': 'ConnectivityNode', 'DCConductingEquipment': 'ConductingEquipment',
|
|
195
|
-
'DCTopologicalNode': 'TopologicalNode'}
|
|
194
|
+
dc_terminals = dc_terminals.rename(columns={'DCNode': 'ConnectivityNode', 'DCConductingEquipment': 'ConductingEquipment',
|
|
195
|
+
'DCTopologicalNode': 'TopologicalNode'})
|
|
196
196
|
eqssh_terminals = pd.concat([eqssh_terminals, dc_terminals], ignore_index=True, sort=False)
|
|
197
197
|
# special fix for concat tp profiles
|
|
198
|
-
eqssh_terminals.drop_duplicates(subset=['rdfId', 'TopologicalNode']
|
|
198
|
+
eqssh_terminals = eqssh_terminals.drop_duplicates(subset=['rdfId', 'TopologicalNode'])
|
|
199
199
|
eqssh_terminals_temp = eqssh_terminals[['ConnectivityNode', 'TopologicalNode']]
|
|
200
|
-
eqssh_terminals_temp.dropna(subset=['TopologicalNode']
|
|
200
|
+
eqssh_terminals_temp = eqssh_terminals_temp.dropna(subset=['TopologicalNode'])
|
|
201
201
|
eqssh_terminals_temp.drop_duplicates(inplace=True)
|
|
202
202
|
connectivity_nodes_size = connectivity_nodes.index.size
|
|
203
203
|
if node_breaker:
|
|
@@ -210,7 +210,7 @@ class ConnectivityNodesCim16:
|
|
|
210
210
|
# fill the column TopologicalNode for the ConnectivityNodes from the eq_bd profile if exists
|
|
211
211
|
if 'TopologicalNode_2' in connectivity_nodes.columns:
|
|
212
212
|
connectivity_nodes['TopologicalNode'].fillna(connectivity_nodes['TopologicalNode_2'], inplace=True)
|
|
213
|
-
connectivity_nodes.drop(columns=['TopologicalNode_2']
|
|
213
|
+
connectivity_nodes = connectivity_nodes.drop(columns=['TopologicalNode_2'])
|
|
214
214
|
if connectivity_nodes.index.size != connectivity_nodes_size:
|
|
215
215
|
self.logger.warning("There is a problem at the busses!")
|
|
216
216
|
self.cimConverter.report_container.add_log(Report(
|
|
@@ -228,17 +228,17 @@ class ConnectivityNodesCim16:
|
|
|
228
228
|
# raise ValueError("The number of ConnectivityNodes increased after merging with Terminals, number of "
|
|
229
229
|
# "ConnectivityNodes before merge: %s, number of ConnectivityNodes after merge: %s" %
|
|
230
230
|
# (connectivity_nodes_size, connectivity_nodes.index.size))
|
|
231
|
-
connectivity_nodes.drop_duplicates(subset=['rdfId'], keep='first'
|
|
231
|
+
connectivity_nodes = connectivity_nodes.drop_duplicates(subset=['rdfId'], keep='first')
|
|
232
232
|
# add the busbars
|
|
233
233
|
bb = self.cimConverter.cim['eq']['BusbarSection'][['rdfId', 'name']]
|
|
234
|
-
bb.rename(columns={'rdfId': 'busbar_id', 'name': 'busbar_name'}
|
|
234
|
+
bb = bb.rename(columns={'rdfId': 'busbar_id', 'name': 'busbar_name'})
|
|
235
235
|
bb = pd.merge(bb, self.cimConverter.cim['eq']['Terminal'][['ConnectivityNode', 'ConductingEquipment']].rename(
|
|
236
236
|
columns={'ConnectivityNode': 'rdfId', 'ConductingEquipment': 'busbar_id'}), how='left', on='busbar_id')
|
|
237
|
-
bb.drop_duplicates(subset=['rdfId'], keep='first'
|
|
237
|
+
bb = bb.drop_duplicates(subset=['rdfId'], keep='first')
|
|
238
238
|
connectivity_nodes = pd.merge(connectivity_nodes, bb, how='left', on='rdfId')
|
|
239
239
|
|
|
240
|
-
connectivity_nodes.rename(columns={'rdfId': sc['o_id'], 'TopologicalNode': sc['ct'], 'nominalVoltage': 'vn_kv',
|
|
241
|
-
'name_substation': 'zone'}
|
|
240
|
+
connectivity_nodes = connectivity_nodes.rename(columns={'rdfId': sc['o_id'], 'TopologicalNode': sc['ct'], 'nominalVoltage': 'vn_kv',
|
|
241
|
+
'name_substation': 'zone'})
|
|
242
242
|
connectivity_nodes['in_service'] = True
|
|
243
243
|
connectivity_nodes['type'] = 'b'
|
|
244
244
|
return connectivity_nodes, eqssh_terminals
|
|
@@ -32,12 +32,12 @@ class CoordinatesFromDLCim16:
|
|
|
32
32
|
self.cimConverter.cim['dl']['Diagram']['name'] == diagram_name].values[0]
|
|
33
33
|
dl_do = self.cimConverter.cim['dl']['DiagramObject'][
|
|
34
34
|
self.cimConverter.cim['dl']['DiagramObject']['Diagram'] == diagram_rdf_id]
|
|
35
|
-
dl_do.rename(columns={'rdfId': 'DiagramObject'}
|
|
35
|
+
dl_do = dl_do.rename(columns={'rdfId': 'DiagramObject'})
|
|
36
36
|
else:
|
|
37
37
|
dl_do = self.cimConverter.cim['dl']['DiagramObject'].copy()
|
|
38
|
-
dl_do.rename(columns={'rdfId': 'DiagramObject'}
|
|
38
|
+
dl_do = dl_do.rename(columns={'rdfId': 'DiagramObject'})
|
|
39
39
|
dl_data = pd.merge(dl_do, self.cimConverter.cim['dl']['DiagramObjectPoint'], how='left', on='DiagramObject')
|
|
40
|
-
dl_data.drop(columns=['rdfId', 'Diagram', 'DiagramObject']
|
|
40
|
+
dl_data = dl_data.drop(columns=['rdfId', 'Diagram', 'DiagramObject'])
|
|
41
41
|
# make sure that the columns 'xPosition' and 'yPosition' are floats
|
|
42
42
|
dl_data['xPosition'] = dl_data['xPosition'].astype(float)
|
|
43
43
|
dl_data['yPosition'] = dl_data['yPosition'].astype(float)
|
|
@@ -45,7 +45,7 @@ class CoordinatesFromDLCim16:
|
|
|
45
45
|
buses = self.cimConverter.net.bus.reset_index()
|
|
46
46
|
buses = buses[['index', sc['o_id']]]
|
|
47
47
|
bus_geo = pd.merge(dl_data, buses, how='inner', left_on='IdentifiedObject', right_on=sc['o_id'])
|
|
48
|
-
bus_geo.sort_values(by=[sc['o_id'], 'sequenceNumber']
|
|
48
|
+
bus_geo = bus_geo.sort_values(by=[sc['o_id'], 'sequenceNumber'])
|
|
49
49
|
bus_geo['coords'] = bus_geo[['xPosition', 'yPosition']].values.tolist()
|
|
50
50
|
bus_geo['coords'] = bus_geo[['coords']].values.tolist()
|
|
51
51
|
# for the buses which have more than one coordinate
|
|
@@ -53,8 +53,8 @@ class CoordinatesFromDLCim16:
|
|
|
53
53
|
# now deal with the buses which have more than one coordinate
|
|
54
54
|
for _, df_group in bus_geo_mult.groupby(by=sc['o_id'], sort=False):
|
|
55
55
|
bus_geo['coords'][df_group.index.values[0]] = df_group[['xPosition', 'yPosition']].values.tolist()
|
|
56
|
-
bus_geo.drop_duplicates([sc['o_id']], keep='first'
|
|
57
|
-
bus_geo.sort_values(by='index'
|
|
56
|
+
bus_geo = bus_geo.drop_duplicates([sc['o_id']], keep='first')
|
|
57
|
+
bus_geo = bus_geo.sort_values(by='index')
|
|
58
58
|
start_index_pp_net = self.cimConverter.net.bus_geodata.index.size
|
|
59
59
|
self.cimConverter.net.bus_geodata = pd.concat(
|
|
60
60
|
[self.cimConverter.net.bus_geodata, pd.DataFrame(None, index=bus_geo['index'].values)],
|
|
@@ -69,19 +69,19 @@ class CoordinatesFromDLCim16:
|
|
|
69
69
|
self.cimConverter.net.bus_geodata['coords'] = self.cimConverter.net.bus_geodata.apply(
|
|
70
70
|
lambda row: [row['coords'][0], row['coords'][-1]] if row['coords_length'] > 2 else row['coords'], axis=1)
|
|
71
71
|
if 'coords_length' in self.cimConverter.net.bus_geodata.columns:
|
|
72
|
-
self.cimConverter.net.bus_geodata.drop(columns=['coords_length']
|
|
72
|
+
self.cimConverter.net.bus_geodata = self.cimConverter.net.bus_geodata.drop(columns=['coords_length'])
|
|
73
73
|
|
|
74
74
|
# the coordinates for the lines
|
|
75
75
|
lines = self.cimConverter.net.line.reset_index()
|
|
76
76
|
lines = lines[['index', sc['o_id']]]
|
|
77
77
|
line_geo = pd.merge(dl_data, lines, how='inner', left_on='IdentifiedObject', right_on=sc['o_id'])
|
|
78
|
-
line_geo.sort_values(by=[sc['o_id'], 'sequenceNumber']
|
|
78
|
+
line_geo = line_geo.sort_values(by=[sc['o_id'], 'sequenceNumber'])
|
|
79
79
|
line_geo['coords'] = line_geo[['xPosition', 'yPosition']].values.tolist()
|
|
80
80
|
line_geo['coords'] = line_geo[['coords']].values.tolist()
|
|
81
81
|
for _, df_group in line_geo.groupby(by=sc['o_id']):
|
|
82
82
|
line_geo['coords'][df_group.index.values[0]] = df_group[['xPosition', 'yPosition']].values.tolist()
|
|
83
|
-
line_geo.drop_duplicates([sc['o_id']], keep='first'
|
|
84
|
-
line_geo.sort_values(by='index'
|
|
83
|
+
line_geo = line_geo.drop_duplicates([sc['o_id']], keep='first')
|
|
84
|
+
line_geo = line_geo.sort_values(by='index')
|
|
85
85
|
# now add the line coordinates
|
|
86
86
|
# if there are no bus geodata in the GL profile the line geodata from DL has higher priority
|
|
87
87
|
if self.cimConverter.net.line_geodata.index.size > 0 and line_geo.index.size > 0:
|
|
@@ -95,12 +95,12 @@ class CoordinatesFromDLCim16:
|
|
|
95
95
|
'storage', 'ward', 'xward']:
|
|
96
96
|
one_ele_df = self.cimConverter.net[one_ele][[sc['o_id']]]
|
|
97
97
|
one_ele_df = pd.merge(dl_data, one_ele_df, how='inner', left_on='IdentifiedObject', right_on=sc['o_id'])
|
|
98
|
-
one_ele_df.sort_values(by=[sc['o_id'], 'sequenceNumber']
|
|
98
|
+
one_ele_df = one_ele_df.sort_values(by=[sc['o_id'], 'sequenceNumber'])
|
|
99
99
|
one_ele_df['coords'] = one_ele_df[['xPosition', 'yPosition']].values.tolist()
|
|
100
100
|
one_ele_df['coords'] = one_ele_df[['coords']].values.tolist()
|
|
101
101
|
for _, df_group in one_ele_df.groupby(by=sc['o_id']):
|
|
102
102
|
one_ele_df['coords'][df_group.index.values[0]] = df_group[['xPosition', 'yPosition']].values.tolist()
|
|
103
|
-
one_ele_df.drop_duplicates([sc['o_id']], keep='first'
|
|
103
|
+
one_ele_df = one_ele_df.drop_duplicates([sc['o_id']], keep='first')
|
|
104
104
|
# now add the coordinates
|
|
105
105
|
self.cimConverter.net[one_ele]['coords'] = self.cimConverter.net[one_ele][sc['o_id']].map(
|
|
106
106
|
one_ele_df.set_index(sc['o_id']).to_dict(orient='dict').get('coords'))
|
|
@@ -25,7 +25,7 @@ class GeoCoordinatesFromGLCim16:
|
|
|
25
25
|
self.cimConverter.cim['gl']['PositionPoint'][['Location', 'xPosition', 'yPosition', 'sequenceNumber']],
|
|
26
26
|
self.cimConverter.cim['gl']['Location'][['rdfId', 'PowerSystemResources']], how='left',
|
|
27
27
|
left_on='Location', right_on='rdfId')
|
|
28
|
-
gl_data.drop(columns=['Location', 'rdfId']
|
|
28
|
+
gl_data = gl_data.drop(columns=['Location', 'rdfId'])
|
|
29
29
|
# make sure that the columns 'xPosition' and 'yPosition' are floats
|
|
30
30
|
gl_data['xPosition'] = gl_data['xPosition'].astype(float)
|
|
31
31
|
gl_data['yPosition'] = gl_data['yPosition'].astype(float)
|
|
@@ -34,15 +34,15 @@ class GeoCoordinatesFromGLCim16:
|
|
|
34
34
|
cn = pd.concat([cn, self.cimConverter.cim['eq_bd']['ConnectivityNode'][['rdfId', 'ConnectivityNodeContainer']]])
|
|
35
35
|
cn = pd.concat([cn, self.cimConverter.cim['tp']['TopologicalNode'][['rdfId', 'ConnectivityNodeContainer']]])
|
|
36
36
|
cn = pd.concat([cn, self.cimConverter.cim['tp_bd']['TopologicalNode'][['rdfId', 'ConnectivityNodeContainer']]])
|
|
37
|
-
cn.rename(columns={'rdfId': sc['o_id'], 'ConnectivityNodeContainer': 'rdfId'}
|
|
37
|
+
cn = cn.rename(columns={'rdfId': sc['o_id'], 'ConnectivityNodeContainer': 'rdfId'})
|
|
38
38
|
cn = pd.merge(cn, self.cimConverter.cim['eq']['VoltageLevel'][['rdfId', 'Substation']], how='left', on='rdfId')
|
|
39
|
-
cn.drop(columns=['rdfId']
|
|
39
|
+
cn = cn.drop(columns=['rdfId'])
|
|
40
40
|
buses = self.cimConverter.net.bus.reset_index()
|
|
41
41
|
buses = buses[['index', sc['o_id']]]
|
|
42
42
|
buses = pd.merge(buses, cn, how='left', on=sc['o_id'])
|
|
43
43
|
bus_geo = pd.merge(bus_geo, buses, how='inner', on='Substation')
|
|
44
|
-
bus_geo.drop(columns=['Substation']
|
|
45
|
-
bus_geo.sort_values(by=[sc['o_id'], 'sequenceNumber']
|
|
44
|
+
bus_geo = bus_geo.drop(columns=['Substation'])
|
|
45
|
+
bus_geo = bus_geo.sort_values(by=[sc['o_id'], 'sequenceNumber'])
|
|
46
46
|
bus_geo['coords'] = bus_geo[['xPosition', 'yPosition']].values.tolist()
|
|
47
47
|
bus_geo['coords'] = bus_geo[['coords']].values.tolist()
|
|
48
48
|
# for the buses which have more than one coordinate
|
|
@@ -50,8 +50,8 @@ class GeoCoordinatesFromGLCim16:
|
|
|
50
50
|
# now deal with the buses which have more than one coordinate
|
|
51
51
|
for _, df_group in bus_geo_mult.groupby(by=sc['o_id'], sort=False):
|
|
52
52
|
bus_geo['coords'][df_group.index.values[0]] = df_group[['xPosition', 'yPosition']].values.tolist()
|
|
53
|
-
bus_geo.drop_duplicates([sc['o_id']], keep='first'
|
|
54
|
-
bus_geo.sort_values(by='index'
|
|
53
|
+
bus_geo = bus_geo.drop_duplicates([sc['o_id']], keep='first')
|
|
54
|
+
bus_geo = bus_geo.sort_values(by='index')
|
|
55
55
|
start_index_pp_net = self.cimConverter.net.bus_geodata.index.size
|
|
56
56
|
self.cimConverter.net.bus_geodata = pd.concat(
|
|
57
57
|
[self.cimConverter.net.bus_geodata, pd.DataFrame(None, index=bus_geo['index'].values)],
|
|
@@ -66,20 +66,20 @@ class GeoCoordinatesFromGLCim16:
|
|
|
66
66
|
self.cimConverter.net.bus_geodata['coords'] = self.cimConverter.net.bus_geodata.apply(
|
|
67
67
|
lambda row: [row['coords'][0], row['coords'][-1]] if row['coords_length'] > 2 else row['coords'], axis=1)
|
|
68
68
|
if 'coords_length' in self.cimConverter.net.bus_geodata.columns:
|
|
69
|
-
self.cimConverter.net.bus_geodata.drop(columns=['coords_length']
|
|
69
|
+
self.cimConverter.net.bus_geodata = self.cimConverter.net.bus_geodata.drop(columns=['coords_length'])
|
|
70
70
|
|
|
71
71
|
# the geo coordinates for the lines
|
|
72
72
|
lines = self.cimConverter.net.line.reset_index()
|
|
73
73
|
lines = lines[['index', sc['o_id']]]
|
|
74
74
|
line_geo = gl_data.rename(columns={'PowerSystemResources': sc['o_id']})
|
|
75
75
|
line_geo = pd.merge(line_geo, lines, how='inner', on=sc['o_id'])
|
|
76
|
-
line_geo.sort_values(by=[sc['o_id'], 'sequenceNumber']
|
|
76
|
+
line_geo = line_geo.sort_values(by=[sc['o_id'], 'sequenceNumber'])
|
|
77
77
|
line_geo['coords'] = line_geo[['xPosition', 'yPosition']].values.tolist()
|
|
78
78
|
line_geo['coords'] = line_geo[['coords']].values.tolist()
|
|
79
79
|
for _, df_group in line_geo.groupby(by=sc['o_id']):
|
|
80
80
|
line_geo['coords'][df_group.index.values[0]] = df_group[['xPosition', 'yPosition']].values.tolist()
|
|
81
|
-
line_geo.drop_duplicates([sc['o_id']], keep='first'
|
|
82
|
-
line_geo.sort_values(by='index'
|
|
81
|
+
line_geo = line_geo.drop_duplicates([sc['o_id']], keep='first')
|
|
82
|
+
line_geo = line_geo.sort_values(by='index')
|
|
83
83
|
# now add the line coordinates
|
|
84
84
|
start_index_pp_net = self.cimConverter.net.line_geodata.index.size
|
|
85
85
|
self.cimConverter.net.line_geodata = pd.concat(
|
|
@@ -93,12 +93,12 @@ class GeoCoordinatesFromGLCim16:
|
|
|
93
93
|
one_ele_df = self.cimConverter.net[one_ele][[sc['o_id']]]
|
|
94
94
|
one_ele_df = pd.merge(gl_data.rename(columns={'PowerSystemResources': sc['o_id']}),
|
|
95
95
|
one_ele_df, how='inner', on=sc['o_id'])
|
|
96
|
-
one_ele_df.sort_values(by=[sc['o_id'], 'sequenceNumber']
|
|
96
|
+
one_ele_df = one_ele_df.sort_values(by=[sc['o_id'], 'sequenceNumber'])
|
|
97
97
|
one_ele_df['coords'] = one_ele_df[['xPosition', 'yPosition']].values.tolist()
|
|
98
98
|
one_ele_df['coords'] = one_ele_df[['coords']].values.tolist()
|
|
99
99
|
for _, df_group in one_ele_df.groupby(by=sc['o_id']):
|
|
100
100
|
one_ele_df['coords'][df_group.index.values[0]] = df_group[['xPosition', 'yPosition']].values.tolist()
|
|
101
|
-
one_ele_df.drop_duplicates([sc['o_id']], keep='first'
|
|
101
|
+
one_ele_df = one_ele_df.drop_duplicates([sc['o_id']], keep='first')
|
|
102
102
|
# now add the coordinates
|
|
103
103
|
self.cimConverter.net[one_ele]['coords'] = self.cimConverter.net[one_ele][sc['o_id']].map(
|
|
104
104
|
one_ele_df.set_index(sc['o_id']).to_dict(orient='dict').get('coords'))
|
|
@@ -110,6 +110,6 @@ class ExternalNetworkInjectionsCim16:
|
|
|
110
110
|
regulation_controllers = self.cimConverter.merge_eq_ssh_profile('RegulatingControl')
|
|
111
111
|
regulation_controllers = regulation_controllers.loc[regulation_controllers['mode'] == 'voltage']
|
|
112
112
|
regulation_controllers = regulation_controllers[['rdfId', 'targetValue', 'enabled']]
|
|
113
|
-
regulation_controllers.rename(columns={'rdfId': 'RegulatingControl'}
|
|
113
|
+
regulation_controllers = regulation_controllers.rename(columns={'rdfId': 'RegulatingControl'})
|
|
114
114
|
eqssh_eni = pd.merge(eqssh_eni, regulation_controllers, how='left', on='RegulatingControl')
|
|
115
115
|
return eqssh_eni
|
|
@@ -48,11 +48,11 @@ class AsynchronousMachinesCim16:
|
|
|
48
48
|
eq_generating_units = pd.concat([eq_generating_units, self.cimConverter.cim['eq']['NuclearGeneratingUnit']],
|
|
49
49
|
sort=False)
|
|
50
50
|
eq_generating_units['type'].fillna('Nuclear', inplace=True)
|
|
51
|
-
eq_generating_units.rename(columns={'rdfId': 'GeneratingUnit'}
|
|
51
|
+
eq_generating_units = eq_generating_units.rename(columns={'rdfId': 'GeneratingUnit'})
|
|
52
52
|
eqssh_asynchronous_machines = self.cimConverter.merge_eq_ssh_profile('AsynchronousMachine',
|
|
53
53
|
add_cim_type_column=True)
|
|
54
54
|
# prevent conflict of merging two dataframes each containing column 'name'
|
|
55
|
-
eq_generating_units.drop('name', axis=1
|
|
55
|
+
eq_generating_units = eq_generating_units.drop('name', axis=1)
|
|
56
56
|
eqssh_asynchronous_machines = pd.merge(eqssh_asynchronous_machines, eq_generating_units,
|
|
57
57
|
how='left', on='GeneratingUnit')
|
|
58
58
|
eqssh_asynchronous_machines = pd.merge(eqssh_asynchronous_machines, self.cimConverter.bus_merge, how='left',
|
|
@@ -66,12 +66,12 @@ class AsynchronousMachinesCim16:
|
|
|
66
66
|
eqssh_asynchronous_machines['generator_type'] = 'async'
|
|
67
67
|
eqssh_asynchronous_machines['loading_percent'] = \
|
|
68
68
|
100 * eqssh_asynchronous_machines['p_mw'] / eqssh_asynchronous_machines['ratedMechanicalPower']
|
|
69
|
-
eqssh_asynchronous_machines.rename(columns={'rdfId_Terminal': sc['t'], 'rdfId': sc['o_id'],
|
|
69
|
+
eqssh_asynchronous_machines = eqssh_asynchronous_machines.rename(columns={'rdfId_Terminal': sc['t'], 'rdfId': sc['o_id'],
|
|
70
70
|
'connected': 'in_service', 'index_bus': 'bus',
|
|
71
71
|
'rxLockedRotorRatio': 'rx', 'iaIrRatio': 'lrc_pu',
|
|
72
72
|
'ratedPowerFactor': 'cos_phi', 'ratedU': 'vn_kv',
|
|
73
73
|
'efficiency': 'efficiency_n_percent',
|
|
74
|
-
'ratedMechanicalPower': 'pn_mech_mw'}
|
|
74
|
+
'ratedMechanicalPower': 'pn_mech_mw'})
|
|
75
75
|
eqssh_asynchronous_machines['scaling'] = 1
|
|
76
76
|
eqssh_asynchronous_machines['efficiency_percent'] = 100
|
|
77
77
|
return eqssh_asynchronous_machines
|