power-grid-model-io 1.2.63__tar.gz → 1.2.64__tar.gz
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.
Potentially problematic release.
This version of power-grid-model-io might be problematic. Click here for more details.
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/PKG-INFO +3 -2
- power-grid-model-io-1.2.64/PYPI_VERSION +1 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/pyproject.toml +2 -1
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/converters/pandapower_converter.py +16 -12
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/data_stores/excel_file_store.py +1 -1
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/data_types/tabular_data.py +2 -2
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io.egg-info/PKG-INFO +3 -2
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io.egg-info/SOURCES.txt +3 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io.egg-info/requires.txt +2 -1
- power-grid-model-io-1.2.64/tests/conftest.py +7 -0
- power-grid-model-io-1.2.64/tests/data/pandapower/pgm_asym_output_data.json +43 -0
- power-grid-model-io-1.2.64/tests/data/pandapower/pgm_output_data.json +56 -0
- power-grid-model-io-1.2.64/tests/unit/conftest.py +8 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/unit/converters/test_pandapower_converter_input.py +12 -5
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/unit/converters/test_tabular_converter.py +3 -3
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/unit/data_types/test_data_types.py +7 -4
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/unit/data_types/test_tabular_data.py +1 -1
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/utils.py +25 -8
- power-grid-model-io-1.2.64/tests/validation/conftest.py +10 -0
- power-grid-model-io-1.2.63/PYPI_VERSION +0 -1
- power-grid-model-io-1.2.63/tests/data/pandapower/pgm_asym_output_data.json +0 -43
- power-grid-model-io-1.2.63/tests/data/pandapower/pgm_output_data.json +0 -56
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/LICENSE +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/MANIFEST.in +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/README.md +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/VERSION +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/setup.cfg +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/setup.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/__init__.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/config/__init__.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/config/examples/__init__.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/config/examples/multipliers.yaml +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/config/excel/__init__.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/config/excel/vision_en.yaml +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/config/excel/vision_nl.yaml +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/converters/__init__.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/converters/base_converter.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/converters/pgm_json_converter.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/converters/tabular_converter.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/converters/vision_excel_converter.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/data_stores/__init__.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/data_stores/base_data_store.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/data_stores/csv_dir_store.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/data_stores/json_file_store.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/data_stores/vision_excel_file_store.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/data_types/__init__.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/data_types/_data_types.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/functions/__init__.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/functions/_functions.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/functions/phase_to_phase.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/mappings/__init__.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/mappings/field_mapping.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/mappings/multiplier_mapping.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/mappings/tabular_mapping.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/mappings/unit_mapping.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/mappings/value_mapping.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/utils/__init__.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/utils/auto_id.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/utils/dict.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/utils/download.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/utils/json.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/utils/modules.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/utils/parsing.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/utils/zip.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io.egg-info/dependency_links.txt +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io.egg-info/top_level.txt +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/__init__.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/data/config/dummy_mapping.yaml +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/data/config/mapping.yaml +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/data/pandapower/pgm_asym_output_data.json.license +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/data/pandapower/pgm_input_data.json +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/data/pandapower/pgm_input_data.json.license +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/data/pandapower/pgm_output_data.json.license +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/data/pandapower/pp_validation.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/data/vision/pgm_input_data_en.json +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/data/vision/pgm_input_data_en.json.license +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/data/vision/pgm_input_data_nl.json +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/data/vision/pgm_input_data_nl.json.license +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/data/vision/vision_en.xlsx +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/data/vision/vision_en.xlsx.license +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/data/vision/vision_nl.xlsx +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/data/vision/vision_nl.xlsx.license +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/data/vision/vision_validation.vnf +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/data/vision/vision_validation.vnf.license +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/data/zip/foo-bar.zip +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/data/zip/foo-bar.zip.license +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/data/zip/foo.zip +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/data/zip/foo.zip.license +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/test_utils.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/unit/__init__.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/unit/converters/__init__.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/unit/converters/test_base_converter.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/unit/converters/test_pandapower_converter_output.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/unit/converters/test_pgm_json_converter.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/unit/converters/test_vision_excel_converter.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/unit/data_stores/__init__.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/unit/data_stores/test_base_data_store.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/unit/data_stores/test_csv_dir_store.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/unit/data_stores/test_excel_file_store.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/unit/data_stores/test_json_file_store.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/unit/data_stores/test_vision_excel_file_store.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/unit/data_types/__init__.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/unit/functions/__init__.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/unit/functions/test_functions.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/unit/functions/test_phase_to_phase.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/unit/mappings/__init__.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/unit/mappings/test_multiplier_mapping.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/unit/mappings/test_tabular_mapping.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/unit/mappings/test_unit_mapping.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/unit/mappings/test_value_mapping.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/unit/utils/__init__.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/unit/utils/test_auto_id.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/unit/utils/test_dict.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/unit/utils/test_download.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/unit/utils/test_json.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/unit/utils/test_modules.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/unit/utils/test_parsing.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/unit/utils/test_zip.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/validation/__init__.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/validation/converters/__init__.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/validation/converters/test_pandapower_converter_input.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/validation/converters/test_pandapower_converter_output.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/validation/converters/test_vision_excel_converter.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/validation/test_test_utils.py +0 -0
- {power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/validation/utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: power-grid-model-io
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.64
|
|
4
4
|
Summary: Power Grid Model Input/Output
|
|
5
5
|
Author-email: Contributors to the Power Grid Model project <powergridmodel@lfenergy.org>
|
|
6
6
|
License: MPL-2.0
|
|
@@ -34,7 +34,8 @@ Requires-Dist: pre-commit; extra == "dev"
|
|
|
34
34
|
Requires-Dist: pylint; extra == "dev"
|
|
35
35
|
Requires-Dist: pytest; extra == "dev"
|
|
36
36
|
Requires-Dist: pytest-cov; extra == "dev"
|
|
37
|
-
Requires-Dist: pydantic; extra == "dev"
|
|
37
|
+
Requires-Dist: pydantic>2; extra == "dev"
|
|
38
|
+
Requires-Dist: numba; extra == "dev"
|
|
38
39
|
Provides-Extra: examples
|
|
39
40
|
Requires-Dist: pandapower>2.11.1; extra == "examples"
|
|
40
41
|
Requires-Dist: pyarrow; extra == "examples"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1.2.64
|
|
@@ -21,7 +21,6 @@ from power_grid_model_io.utils.parsing import is_node_ref, parse_trafo3_connecti
|
|
|
21
21
|
|
|
22
22
|
PandaPowerData = MutableMapping[str, pd.DataFrame]
|
|
23
23
|
|
|
24
|
-
pd.set_option('future.no_silent_downcasting', True)
|
|
25
24
|
logger = structlog.get_logger(__file__)
|
|
26
25
|
|
|
27
26
|
|
|
@@ -700,7 +699,9 @@ class PandaPowerConverter(BaseConverter[PandaPowerData]):
|
|
|
700
699
|
mag0_percent = self._get_pp_attr("trafo", "mag0_percent", expected_type="f8", default=np.nan)
|
|
701
700
|
mag0_rx = self._get_pp_attr("trafo", "mag0_rx", expected_type="f8", default=np.nan)
|
|
702
701
|
# Calculate rx ratio of magnetising branch
|
|
703
|
-
|
|
702
|
+
valid = np.logical_and(np.not_equal(sn_mva, 0.0), np.isfinite(sn_mva))
|
|
703
|
+
mag_g = np.divide(pfe, sn_mva * 1000, where=valid)
|
|
704
|
+
mag_g[np.logical_not(valid)] = np.nan
|
|
704
705
|
rx_mag = mag_g / np.sqrt(i_no_load * i_no_load * 1e-4 - mag_g * mag_g)
|
|
705
706
|
# positive and zero sequence magnetising impedance must be equal.
|
|
706
707
|
# mag0_percent = z0mag / z0.
|
|
@@ -728,7 +729,7 @@ class PandaPowerConverter(BaseConverter[PandaPowerData]):
|
|
|
728
729
|
# Default vector group for odd clocks = DYn and for even clocks = YNyn
|
|
729
730
|
no_vector_groups = np.isnan(winding_types["winding_from"]) | np.isnan(winding_types["winding_to"])
|
|
730
731
|
no_vector_groups_dyn = no_vector_groups & (clocks % 2)
|
|
731
|
-
winding_types[no_vector_groups] = WindingType.wye_n
|
|
732
|
+
winding_types.loc[no_vector_groups] = WindingType.wye_n
|
|
732
733
|
winding_types.loc[no_vector_groups_dyn, "winding_from"] = WindingType.delta
|
|
733
734
|
|
|
734
735
|
# Create PGM array
|
|
@@ -1013,9 +1014,11 @@ class PandaPowerConverter(BaseConverter[PandaPowerData]):
|
|
|
1013
1014
|
* 1e6
|
|
1014
1015
|
)
|
|
1015
1016
|
p_spec = pgm_sym_loads_from_motor["p_specified"]
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
)
|
|
1017
|
+
cos_phi = self._get_pp_attr("motor", "cos_phi", expected_type="f8")
|
|
1018
|
+
valid = np.logical_and(np.not_equal(cos_phi, 0.0), np.isfinite(cos_phi))
|
|
1019
|
+
q_spec = np.sqrt(np.power(np.divide(p_spec, cos_phi, where=valid), 2, where=valid) - p_spec**2, where=valid)
|
|
1020
|
+
q_spec[np.logical_not(valid)] = np.nan
|
|
1021
|
+
pgm_sym_loads_from_motor["q_specified"] = q_spec
|
|
1019
1022
|
|
|
1020
1023
|
# If input data of loads has already been filled then extend it with data of motors. If it is empty and there
|
|
1021
1024
|
# is no data about loads,then assign motor data to it
|
|
@@ -1614,7 +1617,7 @@ class PandaPowerConverter(BaseConverter[PandaPowerData]):
|
|
|
1614
1617
|
links = self.pgm_output_data["link"]
|
|
1615
1618
|
# For links, i_from = i_to = i_ka / 1e3
|
|
1616
1619
|
link_ids = self._get_pp_ids("switch", links["id"], "b2b_switches")
|
|
1617
|
-
pp_switches_output["i_ka"]
|
|
1620
|
+
pp_switches_output.loc[link_ids, "i_ka"] = links["i_from"] * 1e-3
|
|
1618
1621
|
|
|
1619
1622
|
assert "res_switch" not in self.pp_output_data
|
|
1620
1623
|
self.pp_output_data["res_switch"] = pp_switches_output
|
|
@@ -2248,7 +2251,7 @@ class PandaPowerConverter(BaseConverter[PandaPowerData]):
|
|
|
2248
2251
|
Returns:
|
|
2249
2252
|
the "closed" value of a Switch
|
|
2250
2253
|
"""
|
|
2251
|
-
|
|
2254
|
+
switch_states = (
|
|
2252
2255
|
component[["index", bus]]
|
|
2253
2256
|
.merge(
|
|
2254
2257
|
switches,
|
|
@@ -2256,10 +2259,11 @@ class PandaPowerConverter(BaseConverter[PandaPowerData]):
|
|
|
2256
2259
|
left_on=["index", bus],
|
|
2257
2260
|
right_on=["element", "bus"],
|
|
2258
2261
|
)
|
|
2259
|
-
.
|
|
2260
|
-
.set_index(component.index)
|
|
2262
|
+
.set_index(component.index)["closed"]
|
|
2261
2263
|
)
|
|
2262
|
-
|
|
2264
|
+
|
|
2265
|
+
# no need to fill na because bool(NaN) == True
|
|
2266
|
+
return pd.Series(switch_states.astype(bool, copy=False))
|
|
2263
2267
|
|
|
2264
2268
|
def get_switch_states(self, pp_table: str) -> pd.DataFrame:
|
|
2265
2269
|
"""
|
|
@@ -2415,7 +2419,7 @@ class PandaPowerConverter(BaseConverter[PandaPowerData]):
|
|
|
2415
2419
|
if any(nan_values):
|
|
2416
2420
|
attr_data = attr_data.fillna(value=default, inplace=False)
|
|
2417
2421
|
|
|
2418
|
-
return attr_data.to_numpy(dtype=exp_dtype)
|
|
2422
|
+
return attr_data.to_numpy(dtype=exp_dtype, copy=True)
|
|
2419
2423
|
|
|
2420
2424
|
def get_id(self, pp_table: str, pp_idx: int, name: Optional[str] = None) -> int:
|
|
2421
2425
|
"""
|
|
@@ -140,7 +140,7 @@ class ExcelFileStore(BaseDataStore[TabularData]):
|
|
|
140
140
|
|
|
141
141
|
to_rename = self._check_duplicate_values(sheet_name=sheet_name, data=data)
|
|
142
142
|
if to_rename:
|
|
143
|
-
columns = data.columns.values
|
|
143
|
+
columns = data.columns.values.copy()
|
|
144
144
|
for col_idx, new_name in to_rename.items():
|
|
145
145
|
self._log.warning(
|
|
146
146
|
"Column is renamed",
|
|
@@ -80,12 +80,12 @@ class TabularData:
|
|
|
80
80
|
# If the index 'column' is requested, but no column called 'index' exist,
|
|
81
81
|
# return the index of the dataframe as if it were an actual column.
|
|
82
82
|
if column_name == "index" and "index" not in table_data and hasattr(table_data, "index"):
|
|
83
|
-
return pd.Series(table_data.index, name="index")
|
|
83
|
+
return pd.Series(table_data.index, name="index", copy=False)
|
|
84
84
|
|
|
85
85
|
column_data = table_data[column_name]
|
|
86
86
|
|
|
87
87
|
if isinstance(column_data, np.ndarray):
|
|
88
|
-
column_data = pd.Series(column_data, name=column_name)
|
|
88
|
+
column_data = pd.Series(column_data, name=column_name, copy=False)
|
|
89
89
|
|
|
90
90
|
# If unit information is available, convert the unit
|
|
91
91
|
if not isinstance(column_data, pd.Series):
|
{power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io.egg-info/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: power-grid-model-io
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.64
|
|
4
4
|
Summary: Power Grid Model Input/Output
|
|
5
5
|
Author-email: Contributors to the Power Grid Model project <powergridmodel@lfenergy.org>
|
|
6
6
|
License: MPL-2.0
|
|
@@ -34,7 +34,8 @@ Requires-Dist: pre-commit; extra == "dev"
|
|
|
34
34
|
Requires-Dist: pylint; extra == "dev"
|
|
35
35
|
Requires-Dist: pytest; extra == "dev"
|
|
36
36
|
Requires-Dist: pytest-cov; extra == "dev"
|
|
37
|
-
Requires-Dist: pydantic; extra == "dev"
|
|
37
|
+
Requires-Dist: pydantic>2; extra == "dev"
|
|
38
|
+
Requires-Dist: numba; extra == "dev"
|
|
38
39
|
Provides-Extra: examples
|
|
39
40
|
Requires-Dist: pandapower>2.11.1; extra == "examples"
|
|
40
41
|
Requires-Dist: pyarrow; extra == "examples"
|
|
@@ -50,6 +50,7 @@ src/power_grid_model_io/utils/modules.py
|
|
|
50
50
|
src/power_grid_model_io/utils/parsing.py
|
|
51
51
|
src/power_grid_model_io/utils/zip.py
|
|
52
52
|
tests/__init__.py
|
|
53
|
+
tests/conftest.py
|
|
53
54
|
tests/test_utils.py
|
|
54
55
|
tests/utils.py
|
|
55
56
|
tests/data/config/dummy_mapping.yaml
|
|
@@ -76,6 +77,7 @@ tests/data/zip/foo-bar.zip.license
|
|
|
76
77
|
tests/data/zip/foo.zip
|
|
77
78
|
tests/data/zip/foo.zip.license
|
|
78
79
|
tests/unit/__init__.py
|
|
80
|
+
tests/unit/conftest.py
|
|
79
81
|
tests/unit/converters/__init__.py
|
|
80
82
|
tests/unit/converters/test_base_converter.py
|
|
81
83
|
tests/unit/converters/test_pandapower_converter_input.py
|
|
@@ -109,6 +111,7 @@ tests/unit/utils/test_modules.py
|
|
|
109
111
|
tests/unit/utils/test_parsing.py
|
|
110
112
|
tests/unit/utils/test_zip.py
|
|
111
113
|
tests/validation/__init__.py
|
|
114
|
+
tests/validation/conftest.py
|
|
112
115
|
tests/validation/test_test_utils.py
|
|
113
116
|
tests/validation/utils.py
|
|
114
117
|
tests/validation/converters/__init__.py
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
{
|
|
2
|
+
"node":
|
|
3
|
+
[
|
|
4
|
+
{"id": 0, "energized": 1, "u_pu": [1.000000000042805, 1.000000000042805, 1.000000000040956], "u": [63508.52961357732, 63508.52961357732, 63508.52961345989], "u_angle": [-2.297462191765614e-10, -2.094395102622942, 2.094395102852041], "p": [765820.7217852274, 765820.7235734381, -1529485.490304183], "q": [-142683.6055350895, -142683.5967414472, -136520.3696246375], "id_reference": {"table": "bus", "index": 101}},
|
|
5
|
+
{"id": 1, "energized": 1, "u_pu": [0.9994132656313264, 0.9994132656313274, 1.002844167287654], "u": [11540.23035887859, 11540.2303588786, 11579.84699877547], "u_angle": [-0.002501623712801432, -2.096896726105997, 2.098735152107258], "p": [5.662039942836705e-08, 4.158749852077411e-07, 5.339208304447429e-08], "q": [-7.588863607722517e-08, -6.631148746093378e-08, 3.610845913546241e-07], "id_reference": {"table": "bus", "index": 102}},
|
|
6
|
+
{"id": 2, "energized": 1, "u_pu": [0.9987870960752929, 0.9987870960752938, 1.004418511811836], "u": [11532.9999756439, 11532.99997564391, 11598.02596347214], "u_angle": [-0.002966986920613948, -2.09736208931381, 2.099116406819713], "p": [-729999.9999998733, -730000.000000165, 1570000.000000135], "q": [189999.9999999996, 190000.0000003468, 189999.9999996292], "id_reference": {"table": "bus", "index": 103}},
|
|
7
|
+
{"id": 3, "energized": 1, "u_pu": [1.000000000042805, 1.000000000042805, 1.000000000040956], "u": [63508.52961357732, 63508.52961357732, 63508.52961345989], "u_angle": [-2.297462191765614e-10, -2.094395102622942, 2.094395102852041], "p": [0, 0, 0], "q": [0, 0, 0], "id_reference": {"table": "bus", "index": 106}}
|
|
8
|
+
],
|
|
9
|
+
"line":
|
|
10
|
+
[
|
|
11
|
+
{"id": 4, "energized": 1, "loading": 1.265330032238072, "p_from": [-729999.9999998733, -730000.000000165, 1570000.000000135], "q_from": [189999.9999999996, 190000.0000003468, 189999.9999996292], "i_from": [65.40543555178559, 65.40543555181758, 136.3555342275158], "s_from": [754320.8866257217, 754320.8866260914, 1581455.026233842], "p_to": [730552.3008243673, 730552.3008246894, -1567616.527443881], "q_to": [-216633.7469513389, -216633.7469515898, -216173.5239478488], "i_to": [66.02947091323357, 66.02947091326645, 136.6556434817117], "s_to": [761995.3048135885, 761995.3048139686, 1582451.44303743], "id_reference": {"table": "line", "index": 101}, "pgm_input": {"from_node": 2, "to_node": 1, "i_n": 108.0}}
|
|
12
|
+
],
|
|
13
|
+
"source":
|
|
14
|
+
[
|
|
15
|
+
{"id": 5, "energized": 1, "p": [765820.730621319, 765820.4766903995, -1529485.219644774], "q": [-142683.6428608279, -142684.1067247107, -136520.4031334404], "i": [12.26605892917178, 12.26605633625489, 24.17889348713215], "s": [778999.36674519, 778999.2020728515, 1535565.973048225], "pf": [0.9830826099654819, 0.9830824918082272, -0.9960400572100595], "id_reference": {"table": "ext_grid", "index": 0}, "pgm_input": {"node": 0}}
|
|
16
|
+
],
|
|
17
|
+
"sym_load":
|
|
18
|
+
[
|
|
19
|
+
{"id": 6, "energized": 1, "p": [833333.3333333333, 833333.3333333333, 833333.3333333333], "q": [79999.99999999999, 79999.99999999999, 79999.99999999999], "i": [72.58861772969922, 72.58861772969915, 72.18163928458914], "s": [837164.5265086454, 837164.5265086454, 837164.5265086454], "pf": [0.9954236078405162, 0.9954236078405162, 0.9954236078405162], "id_reference": {"table": "load", "name": "const_power", "index": 101}, "pgm_input": {"node": 2}},
|
|
20
|
+
{"id": 7, "energized": 1, "p": [0, 0, 0], "q": [0, 0, 0], "i": [0, 0, 0], "s": [0, 0, 0], "pf": [0, 0, 0], "id_reference": {"table": "load", "name": "const_impedance", "index": 101}, "pgm_input": {"node": 2}},
|
|
21
|
+
{"id": 8, "energized": 1, "p": [0, 0, 0], "q": [0, 0, 0], "i": [0, 0, 0], "s": [0, 0, 0], "pf": [0, 0, 0], "id_reference": {"table": "load", "name": "const_current", "index": 101}, "pgm_input": {"node": 2}}
|
|
22
|
+
],
|
|
23
|
+
"transformer":
|
|
24
|
+
[
|
|
25
|
+
{"id": 9, "energized": 1, "loading": 0.03883052565830863, "p_from": [765820.724989093, 765820.7249890427, -1529485.491438911], "q_from": [-142683.6001096883, -142683.6001099306, -136520.3668874493], "i_from": [12.26605871869048, 12.2660587186904, 24.17889769909201], "s_from": [778999.3533778327, 778999.3533778277, 1535566.240543602], "p_to": [-730552.3008242727, -730552.300824217, 1567616.527444104], "q_to": [216633.7469512629, 216633.7469515783, 216173.5239482207], "i_to": [66.02947091322386, 66.02947091322693, 136.6556434817352], "s_to": [761995.3048134763, 761995.3048135125, 1582451.443037701], "id_reference": {"table": "trafo", "index": 0}, "pgm_input": {"from_node": 0, "to_node": 1}, "pp_input": {"df": 1.0}}
|
|
26
|
+
],
|
|
27
|
+
"sym_gen":
|
|
28
|
+
[
|
|
29
|
+
{"id": 10, "energized": 1, "p": [403333.3333333333, 403333.3333333333, 403333.3333333333], "q": [269999.9999999999, 269999.9999999999, 269999.9999999999], "i": [42.08476139753746, 42.08476139753742, 41.84880717644763], "s": [485363.5521727787, 485363.5521727787, 485363.5521727787], "pf": [0.8309922150680065, 0.8309922150680065, 0.8309922150680065], "id_reference": {"table": "sgen", "index": 31}, "pgm_input": {"node": 2}}
|
|
30
|
+
],
|
|
31
|
+
"link":
|
|
32
|
+
[
|
|
33
|
+
{"id": 11, "energized": 1, "loading": 0, "p_from": [0, 0, 0], "q_from": [0, 0, 0], "i_from": [0, 0, 0], "s_from": [0, 0, 0], "p_to": [0, 0, 0], "q_to": [0, 0, 0], "i_to": [0, 0, 0], "s_to": [0, 0, 0], "id_reference": {"table": "switch", "name": "b2b_switches", "index": 3021}, "pgm_input": {"from_node": 0, "to_node": 3}}
|
|
34
|
+
],
|
|
35
|
+
"asym_load":
|
|
36
|
+
[
|
|
37
|
+
{"id": 12, "energized": 1, "p": [399999.9999999999, 500000, 1000000], "q": [10000, 10000, 10000], "i": [34.69392016993495, 43.36252415313805, 86.22588032650638], "s": [400124.980474851, 500099.9900019995, 1000049.998750063], "pf": [0.9996876464081228, 0.999800059980007, 0.9999500037496875], "id_reference": {"table": "asymmetric_load", "index": 33}, "pgm_input": {"node": 2}}
|
|
38
|
+
],
|
|
39
|
+
"asym_gen":
|
|
40
|
+
[
|
|
41
|
+
{"id": 13, "energized": 1, "p": [99999.99999999999, 200000, 3000000], "q": [10000, 10000, 10000], "i": [8.71401685801165, 17.3632050956306, 258.6661450895947], "s": [100498.7562112089, 200249.8439450078, 3000016.66662037], "pf": [0.9950371902099889, 0.9987523388778446, 0.9999944444907404], "id_reference": {"table": "asymmetric_sgen", "index": 32}, "pgm_input": {"node": 2}}
|
|
42
|
+
]
|
|
43
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
{
|
|
2
|
+
"node":
|
|
3
|
+
[
|
|
4
|
+
{"id": 0, "energized": 1, "u_pu": 0.9999999996523372, "u": 109999.9999617571, "u_angle": -1.798666001063812e-10, "p": 1798665.98546505, "q": 3476628.82353626, "id_reference": {"table": "bus", "index": 101}},
|
|
5
|
+
{"id": 1, "energized": 1, "u_pu": 0.97374599364253, "u": 19474.9198728506, "u_angle": -0.5239008142519944, "p": 1.408570295181389e-07, "q": -3.370807360039286e-07, "id_reference": {"table": "bus", "index": 102}},
|
|
6
|
+
{"id": 2, "energized": 1, "u_pu": 0.9730137872763268, "u": 19460.27574552653, "u_angle": -0.5237223960629773, "p": -2414572.645273485, "q": -231798.9739460695, "id_reference": {"table": "bus", "index": 103}},
|
|
7
|
+
{"id": 3, "energized": 1, "u_pu": 0.9695497239124967, "u": 29183.44668976615, "u_angle": -1.04518706304991, "p": -8.295648914520637e-08, "q": 1.430200360429221e-07, "id_reference": {"table": "bus", "index": 104}},
|
|
8
|
+
{"id": 4, "energized": 1, "u_pu": 0.9719979160849105, "u": 58319.87496509463, "u_angle": -1.044828700708015, "p": 944410.894001629, "q": 581081.3221020879, "id_reference": {"table": "bus", "index": 105}},
|
|
9
|
+
{"id": 5, "energized": 1, "u_pu": 0.9999999996523372, "u": 109999.9999617571, "u_angle": -1.798666001063812e-10, "p": 0, "q": 0, "id_reference": {"table": "bus", "index": 106}}
|
|
10
|
+
],
|
|
11
|
+
"line":
|
|
12
|
+
[
|
|
13
|
+
{"id": 6, "energized": 1, "loading": 0.5930290459172566, "p_from": -1763554.11350539, "q_from": -1245081.686597617, "i_from": 64.0471369590637, "s_from": 2158784.731640131, "p_to": 1765096.677117153, "q_to": 1169229.770073222, "i_to": 62.7670637419498, "s_to": 2117230.39246925, "id_reference": {"table": "line", "index": 101}, "pgm_input": {"from_node": 2, "to_node": 1, "i_n": 108.0}}
|
|
14
|
+
],
|
|
15
|
+
"source":
|
|
16
|
+
[
|
|
17
|
+
{"id": 7, "energized": 1, "p": 1798666.000438483, "q": 3476627.872944676, "i": 20.54501257148846, "s": 3914350.616394652, "pf": 0.4595055928063901, "id_reference": {"table": "ext_grid", "index": 1}, "pgm_input": {"node": 0}}
|
|
18
|
+
],
|
|
19
|
+
"sym_load":
|
|
20
|
+
[
|
|
21
|
+
{"id": 8, "energized": 1, "p": 575000, "q": 55200, "i": 17.13761141048308, "s": 577643.5232909652, "pf": 0.9954236078405164, "id_reference": {"table": "load", "name": "const_power", "index": 101}, "pgm_input": {"node": 2}},
|
|
22
|
+
{"id": 9, "energized": 1, "p": 1207113.683543022, "q": 115882.9136201301, "i": 35.97746997710809, "s": 1212663.306390481, "pf": 0.9954236078405161, "id_reference": {"table": "load", "name": "const_impedance", "index": 101}, "pgm_input": {"node": 2}},
|
|
23
|
+
{"id": 10, "energized": 1, "p": 632458.9617296124, "q": 60716.06032604279, "i": 18.85014942469511, "s": 635366.6486790245, "pf": 0.9954236078405163, "id_reference": {"table": "load", "name": "const_current", "index": 101}, "pgm_input": {"node": 2}},
|
|
24
|
+
{"id": 18, "energized": 1, "p": 99999.99999999999, "q": 99999.99999999999, "i": 1.400031432537213, "s": 141421.3562373095, "pf": 0.7071067811865475, "id_reference": {"table": "ward", "name": "ward_const_power_load", "index": 34}, "pgm_input": {"node": 4}},
|
|
25
|
+
{"id": 19, "energized": 1, "p": 94477.99488734086, "q": 94477.99488734086, "i": 1.322721625253674, "s": 133612.0617154934, "pf": 0.7071067811865475, "id_reference": {"table": "ward", "name": "ward_const_impedance_load", "index": 34}, "pgm_input": {"node": 4}},
|
|
26
|
+
{"id": 20, "energized": 1, "p": 71111.11111111111, "q": 34440.68301069173, "i": 0.7821998773897324, "s": 79012.34567901235, "pf": 0.9, "id_reference": {"table": "motor", "name": "motor_load", "index": 12}, "pgm_input": {"node": 4}}
|
|
27
|
+
],
|
|
28
|
+
"shunt":
|
|
29
|
+
[
|
|
30
|
+
{"id": 11, "energized": 1, "p": 282008.0001416396, "q": 1551044.000779018, "i": 31.18812237569019, "s": 1576472.646288691, "pf": 0.1788854381999832, "id_reference": {"table": "shunt", "index": 1201}, "pgm_input": {"node": 3}}
|
|
31
|
+
],
|
|
32
|
+
"transformer":
|
|
33
|
+
[
|
|
34
|
+
{"id": 12, "energized": 1, "loading": 0.04892939318768632, "p_from": 1798665.9834271, "q_from": 3476628.825951878, "i_from": 20.54501697310328, "s_from": 3914351.455014905, "p_to": -1765096.677117184, "q_to": -1169229.770073524, "i_to": 62.76706374195551, "s_to": 2117230.392469442, "id_reference": {"table": "trafo", "index": 101}, "pgm_input": {"from_node": 0, "to_node": 1}, "pp_input": {"df": 1.0}}
|
|
35
|
+
],
|
|
36
|
+
"sym_gen":
|
|
37
|
+
[
|
|
38
|
+
{"id": 13, "energized": 1, "p": 1210000, "q": 810000, "i": 14.414885714493, "s": 1456090.656518336, "pf": 0.8309922150680065, "id_reference": {"table": "sgen", "index": 31}, "pgm_input": {"node": 4}}
|
|
39
|
+
],
|
|
40
|
+
"three_winding_transformer":
|
|
41
|
+
[
|
|
42
|
+
{"id": 14, "energized": 1, "loading": 0.03152945292576947, "p_1": -651018.5317680555, "q_1": 1013282.712651781, "i_1": 35.73216058618558, "s_1": 1204394.862353865, "p_2": 944410.894001629, "q_2": 581081.3221020879, "i_2": 10.97738675283968, "s_2": 1108858.62020587, "p_3": -282008.0001417859, "q_3": -1551044.00077877, "i_3": 31.18812237568588, "s_3": 1576472.646288473, "id_reference": {"table": "trafo3w", "index": 102}, "pgm_input": {"node_1": 2, "node_2": 4, "node_3": 3}}
|
|
43
|
+
],
|
|
44
|
+
"link":
|
|
45
|
+
[
|
|
46
|
+
{"id": 15, "energized": 1, "loading": 0, "p_from": 0, "q_from": 0, "i_from": 0, "s_from": 0, "p_to": 0, "q_to": 0, "i_to": 0, "s_to": 0, "id_reference": {"table": "switch", "name": "b2b_switches", "index": 3021}, "pgm_input": {"from_node": 0, "to_node": 5}}
|
|
47
|
+
],
|
|
48
|
+
"asym_load":
|
|
49
|
+
[
|
|
50
|
+
{"id": 16, "energized": 1, "p": 3300000, "q": 30000, "i": 32.67041668765106, "s": 3300136.36081905, "pf": 0.9999586802470745, "id_reference": {"table": "asymmetric_load", "index": 33}, "pgm_input": {"node": 4}}
|
|
51
|
+
],
|
|
52
|
+
"asym_gen":
|
|
53
|
+
[
|
|
54
|
+
{"id": 17, "energized": 1, "p": 3300000, "q": 30000, "i": 32.67041668765106, "s": 3300136.36081905, "pf": 0.9999586802470745, "id_reference": {"table": "asymmetric_sgen", "index": 32}, "pgm_input": {"node": 4}}
|
|
55
|
+
]
|
|
56
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: Contributors to the Power Grid Model project <powergridmodel@lfenergy.org>
|
|
2
|
+
#
|
|
3
|
+
# SPDX-License-Identifier: MPL-2.0
|
|
4
|
+
|
|
5
|
+
import pandas as pd
|
|
6
|
+
|
|
7
|
+
# TODO(mgovers) We're ready for Pandas 3.x, but pandapower is not. Move to parent conftest when it is.
|
|
8
|
+
pd.set_option("mode.copy_on_write", True)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# SPDX-FileCopyrightText: Contributors to the Power Grid Model project <powergridmodel@lfenergy.org>
|
|
2
2
|
#
|
|
3
3
|
# SPDX-License-Identifier: MPL-2.0
|
|
4
|
-
|
|
4
|
+
|
|
5
5
|
from typing import Callable
|
|
6
6
|
from unittest.mock import ANY, MagicMock, call, patch
|
|
7
7
|
|
|
@@ -562,8 +562,7 @@ def test_create_pgm_input_lines(mock_init_array: MagicMock, two_pp_objs, convert
|
|
|
562
562
|
)
|
|
563
563
|
pgm.assert_any_call(
|
|
564
564
|
"i_n",
|
|
565
|
-
_get_pp_attr("line", "max_i_ka", expected_type="f8", default=np.nan)
|
|
566
|
-
* 1e3
|
|
565
|
+
(_get_pp_attr("line", "max_i_ka", expected_type="f8", default=np.nan) * 1e3)
|
|
567
566
|
* _get_pp_attr("line", "df", expected_type="f8", default=1)
|
|
568
567
|
* _get_pp_attr("line", "parallel", expected_type="u4", default=1),
|
|
569
568
|
)
|
|
@@ -823,6 +822,11 @@ def test_create_pgm_input_shunts(mock_init_array: MagicMock, two_pp_objs, conver
|
|
|
823
822
|
|
|
824
823
|
@patch("power_grid_model_io.converters.pandapower_converter.initialize_array")
|
|
825
824
|
@patch("power_grid_model_io.converters.pandapower_converter.np.round", new=lambda x: x)
|
|
825
|
+
@patch("power_grid_model_io.converters.pandapower_converter.np.divide", new=lambda x, _, **kwargs: x)
|
|
826
|
+
@patch("power_grid_model_io.converters.pandapower_converter.np.bitwise_and", new=lambda x, _: x)
|
|
827
|
+
@patch("power_grid_model_io.converters.pandapower_converter.np.logical_and", new=lambda x, _: x)
|
|
828
|
+
@patch("power_grid_model_io.converters.pandapower_converter.np.allclose", new=lambda x, _: x)
|
|
829
|
+
@patch("power_grid_model_io.converters.pandapower_converter.np.isnan", new=lambda x: x)
|
|
826
830
|
def test_create_pgm_input_transformers(mock_init_array: MagicMock, two_pp_objs, converter):
|
|
827
831
|
# Arrange
|
|
828
832
|
converter.pp_input_data["trafo"] = two_pp_objs
|
|
@@ -938,7 +942,7 @@ def test_create_pgm_input_transformers__default() -> None:
|
|
|
938
942
|
pp_net, *args, tap_neutral=12.0, tap_pos=34.0, tap_step_percent=1, tap_side=None
|
|
939
943
|
)
|
|
940
944
|
tap_pos_trafo = pp.create_transformer_from_parameters(pp_net, *args, tap_neutral=12.0, tap_size=1, tap_side="hv")
|
|
941
|
-
pp_net["trafo"]["tap_pos"]
|
|
945
|
+
pp_net["trafo"].loc[tap_pos_trafo, "tap_pos"] = np.nan
|
|
942
946
|
pp.create_transformer_from_parameters(pp_net, *args, tap_neutral=np.nan, tap_pos=34.0, tap_side="hv")
|
|
943
947
|
pp.create_transformer_from_parameters(
|
|
944
948
|
pp_net, *args, tap_neutral=12, tap_step_percent=np.nan, tap_pos=34.0, tap_side="hv"
|
|
@@ -1290,7 +1294,7 @@ def test_create_pgm_input_transformers3w__default() -> None:
|
|
|
1290
1294
|
nan_trafo = pp.create_transformer3w_from_parameters(
|
|
1291
1295
|
pp_net, *args, tap_neutral=12.0, tap_step_percent=1, tap_pos=np.nan, tap_side="hv"
|
|
1292
1296
|
)
|
|
1293
|
-
pp_net["trafo3w"]["tap_pos"]
|
|
1297
|
+
pp_net["trafo3w"].loc[nan_trafo, "tap_pos"] = np.nan
|
|
1294
1298
|
pp.create_transformer3w_from_parameters(
|
|
1295
1299
|
pp_net, *args, tap_neutral=12.0, tap_pos=34.0, tap_step_percent=np.nan, tap_side="hv"
|
|
1296
1300
|
)
|
|
@@ -1615,6 +1619,9 @@ def test_create_pgm_input_dclines(mock_init_array: MagicMock, two_pp_objs, conve
|
|
|
1615
1619
|
|
|
1616
1620
|
|
|
1617
1621
|
@patch("power_grid_model_io.converters.pandapower_converter.initialize_array")
|
|
1622
|
+
@patch("power_grid_model_io.converters.pandapower_converter.np.divide", new=lambda x, _, **kwargs: x)
|
|
1623
|
+
@patch("power_grid_model_io.converters.pandapower_converter.np.power", new=lambda x, _, **kwargs: x)
|
|
1624
|
+
@patch("power_grid_model_io.converters.pandapower_converter.np.sqrt", new=lambda x, **kwargs: x)
|
|
1618
1625
|
def test_create_pgm_input_motors(mock_init_array: MagicMock, two_pp_objs, converter):
|
|
1619
1626
|
# Arrange
|
|
1620
1627
|
converter.pp_input_data["motor"] = two_pp_objs
|
|
@@ -980,9 +980,9 @@ def test_lookup_ids(converter: TabularConverter):
|
|
|
980
980
|
reference,
|
|
981
981
|
pd.DataFrame(
|
|
982
982
|
[
|
|
983
|
-
["foo",
|
|
984
|
-
["node",
|
|
985
|
-
["node", "bar", 1, 2,
|
|
983
|
+
["foo", np.nan, 1, 2, np.nan],
|
|
984
|
+
["node", np.nan, 1, np.nan, 2],
|
|
985
|
+
["node", "bar", 1, 2, np.nan],
|
|
986
986
|
],
|
|
987
987
|
columns=["table", "name", "a", "b", "c"],
|
|
988
988
|
index=[3, 2, 4],
|
{power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/unit/data_types/test_data_types.py
RENAMED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
#
|
|
3
3
|
# SPDX-License-Identifier: MPL-2.0
|
|
4
4
|
|
|
5
|
-
from pydantic import
|
|
5
|
+
from pydantic import TypeAdapter
|
|
6
6
|
|
|
7
7
|
from power_grid_model_io.data_types import ExtraInfo, StructuredData
|
|
8
8
|
|
|
@@ -11,14 +11,16 @@ def test_extra_info():
|
|
|
11
11
|
extra_info = {1: {"a": 123, "b": 1.23}, 2: {"c": (1.2, 3.4, 5.6), "d": "foo"}}
|
|
12
12
|
|
|
13
13
|
# Expect no exception
|
|
14
|
-
|
|
14
|
+
adapter = TypeAdapter(ExtraInfo)
|
|
15
|
+
adapter.validate_python(extra_info)
|
|
15
16
|
|
|
16
17
|
|
|
17
18
|
def test_structured_data__single():
|
|
18
19
|
data = {"node": [{"id": 1}, {"id": 2}], "line": [{"id": 3, "node_from": 1, "node_to": 2}]}
|
|
19
20
|
|
|
20
21
|
# Expect no exception
|
|
21
|
-
|
|
22
|
+
adapter = TypeAdapter(StructuredData)
|
|
23
|
+
assert isinstance(adapter.validate_python(data), dict)
|
|
22
24
|
|
|
23
25
|
|
|
24
26
|
def test_structured_data__batch():
|
|
@@ -38,4 +40,5 @@ def test_structured_data__batch():
|
|
|
38
40
|
]
|
|
39
41
|
|
|
40
42
|
# Expect no exception
|
|
41
|
-
|
|
43
|
+
adapter = TypeAdapter(StructuredData)
|
|
44
|
+
assert isinstance(adapter.validate_python(data), list)
|
{power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/unit/data_types/test_tabular_data.py
RENAMED
|
@@ -85,7 +85,7 @@ def test_get_column__numpy_is_a_reference(nodes_np: np.ndarray):
|
|
|
85
85
|
|
|
86
86
|
# Act
|
|
87
87
|
col_data = data.get_column(table_name="nodes", column_name="u_rated")
|
|
88
|
-
col_data[0] = 123.0 # << should update the source data
|
|
88
|
+
col_data.loc[0] = 123.0 # << should update the source data
|
|
89
89
|
|
|
90
90
|
# Assert
|
|
91
91
|
np.testing.assert_array_equal(nodes_np["u_rated"], np.array([123.0, 10.5e3, 400.0]))
|
|
@@ -172,21 +172,38 @@ class MockFn:
|
|
|
172
172
|
return False
|
|
173
173
|
|
|
174
174
|
def eq(left, right) -> bool:
|
|
175
|
-
if
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
175
|
+
if type(left) != type(right):
|
|
176
|
+
return False
|
|
177
|
+
if isinstance(left, pd.DataFrame) and left.columns != right.columns:
|
|
178
|
+
return False
|
|
179
|
+
if isinstance(left, pd.Series) and left.name != right.name:
|
|
180
|
+
return False
|
|
181
181
|
if isinstance(left, NDFrame):
|
|
182
182
|
return (left == right).all()
|
|
183
183
|
if isinstance(right, NDFrame):
|
|
184
184
|
return False
|
|
185
|
+
|
|
185
186
|
if isinstance(left, np.ndarray) and left.size == 0:
|
|
186
187
|
return isinstance(right, np.ndarray) and right.size == 0
|
|
187
|
-
|
|
188
|
+
|
|
189
|
+
if left == right:
|
|
190
|
+
return True
|
|
191
|
+
|
|
192
|
+
left_nans = isnan(left)
|
|
193
|
+
right_nans = isnan(right)
|
|
194
|
+
|
|
195
|
+
if np.any(left_nans != right_nans):
|
|
196
|
+
return False
|
|
197
|
+
|
|
198
|
+
infinite = np.logical_and(left_nans, right_nans)
|
|
199
|
+
if isinstance(left, np.ndarray):
|
|
200
|
+
finite = np.logical_not(infinite)
|
|
201
|
+
return bool(np.all(np.equal(left[finite], right[finite])))
|
|
202
|
+
|
|
203
|
+
if isinstance(infinite, np.ndarray) and np.any(infinite):
|
|
188
204
|
return True
|
|
189
|
-
|
|
205
|
+
|
|
206
|
+
return infinite
|
|
190
207
|
|
|
191
208
|
if not eq(self.fn, other.fn):
|
|
192
209
|
return False
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: Contributors to the Power Grid Model project <powergridmodel@lfenergy.org>
|
|
2
|
+
#
|
|
3
|
+
# SPDX-License-Identifier: MPL-2.0
|
|
4
|
+
|
|
5
|
+
import pandas as pd
|
|
6
|
+
|
|
7
|
+
pd.set_option("future.no_silent_downcasting", True)
|
|
8
|
+
|
|
9
|
+
# TODO(mgovers) We're ready for Pandas 3.x, but pandapower is not. Move to parent conftest when it is.
|
|
10
|
+
pd.set_option("mode.copy_on_write", False)
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
1.2.63
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"asym_gen":
|
|
3
|
-
[
|
|
4
|
-
{"energized": 1, "i": [8.71401685801165, 17.363205095630597, 258.6661450895947], "id": 13, "p": [99999.99999999999, 199999.99999999997, 3000000], "pf": [0.9950371902099889, 0.9987523388778446, 0.9999944444907404], "q": [10000, 10000, 10000], "s": [100498.7562112089, 200249.84394500783, 3000016.6666203705], "id_reference": {"table": "asymmetric_sgen", "index": 32}, "pgm_input": {"node": 2}}
|
|
5
|
-
],
|
|
6
|
-
"asym_load":
|
|
7
|
-
[
|
|
8
|
-
{"energized": 1, "i": [34.69392016993495, 43.36252415313805, 86.22588032650638], "id": 12, "p": [399999.99999999994, 500000, 1000000], "pf": [0.9996876464081228, 0.999800059980007, 0.9999500037496875], "q": [10000, 10000, 10000], "s": [400124.98047485104, 500099.9900019995, 1000049.9987500625], "id_reference": {"table": "asymmetric_load", "index": 33}, "pgm_input": {"node": 2}}
|
|
9
|
-
],
|
|
10
|
-
"line":
|
|
11
|
-
[
|
|
12
|
-
{"energized": 1, "i_from": [65.40543555178559, 65.40543555181758, 136.35553422751582], "i_to": [66.02947091323357, 66.02947091326645, 136.65564348171173], "id": 4, "loading": 1.2653300322380716, "p_from": [-729999.9999998733, -730000.000000165, 1570000.0000001346], "p_to": [730552.3008243673, 730552.3008246894, -1567616.527443881], "q_from": [189999.99999999956, 190000.00000034677, 189999.9999996292], "q_to": [-216633.74695133892, -216633.74695158977, -216173.52394784882], "s_from": [754320.8866257217, 754320.8866260914, 1581455.0262338421], "s_to": [761995.3048135885, 761995.3048139686, 1582451.4430374296], "id_reference": {"table": "line", "index": 101}, "pgm_input": {"from_node": 2, "to_node": 1, "i_n": 108.0}}
|
|
13
|
-
],
|
|
14
|
-
"link":
|
|
15
|
-
[
|
|
16
|
-
{"energized": 1, "i_from": [0, 0, 0], "i_to": [0, 0, 0], "id": 11, "loading": 0, "p_from": [0, 0, 0], "p_to": [0, 0, 0], "q_from": [0, 0, 0], "q_to": [0, 0, 0], "s_from": [0, 0, 0], "s_to": [0, 0, 0], "id_reference": {"table": "switch", "name": "b2b_switches", "index": 3021}, "pgm_input": {"from_node": 0, "to_node": 3}}
|
|
17
|
-
],
|
|
18
|
-
"node":
|
|
19
|
-
[
|
|
20
|
-
{"energized": 1, "id": 0, "p": [765820.7217852274, 765820.7235734381, -1529485.4903041832], "q": [-142683.6055350895, -142683.59674144717, -136520.36962463753], "u": [63508.52961357732, 63508.52961357732, 63508.52961345989], "u_angle": [-2.297462191765614e-10, -2.0943951026229417, 2.094395102852041], "u_pu": [1.000000000042805, 1.000000000042805, 1.0000000000409561], "id_reference": {"table": "bus", "index": 101}},
|
|
21
|
-
{"energized": 1, "id": 1, "p": [5.662039942836705e-08, 4.158749852077411e-07, 5.339208304447429e-08], "q": [-7.588863607722517e-08, -6.631148746093378e-08, 3.610845913546241e-07], "u": [11540.230358878585, 11540.230358878596, 11579.846998775465], "u_angle": [-0.002501623712801432, -2.096896726105997, 2.098735152107258], "u_pu": [0.9994132656313264, 0.9994132656313274, 1.0028441672876542], "id_reference": {"table": "bus", "index": 102}},
|
|
22
|
-
{"energized": 1, "id": 2, "p": [-729999.9999998733, -730000.000000165, 1570000.0000001346], "q": [189999.99999999956, 190000.00000034677, 189999.9999996292], "u": [11532.9999756439, 11532.99997564391, 11598.025963472139], "u_angle": [-0.0029669869206139484, -2.09736208931381, 2.099116406819713], "u_pu": [0.9987870960752929, 0.9987870960752938, 1.0044185118118363], "id_reference": {"table": "bus", "index": 103}},
|
|
23
|
-
{"energized": 1, "id": 3, "p": [0, 0, 0], "q": [0, 0, 0], "u": [63508.52961357732, 63508.52961357732, 63508.52961345989], "u_angle": [-2.297462191765614e-10, -2.0943951026229417, 2.094395102852041], "u_pu": [1.000000000042805, 1.000000000042805, 1.0000000000409561], "id_reference": {"table": "bus", "index": 106}}
|
|
24
|
-
],
|
|
25
|
-
"source":
|
|
26
|
-
[
|
|
27
|
-
{"energized": 1, "i": [12.266058929171775, 12.266056336254893, 24.17889348713215], "id": 5, "p": [765820.730621319, 765820.4766903995, -1529485.2196447744], "pf": [0.9830826099654819, 0.9830824918082272, -0.9960400572100595], "q": [-142683.64286082785, -142684.1067247107, -136520.40313344038], "s": [778999.36674519, 778999.2020728515, 1535565.9730482248], "id_reference": {"table": "ext_grid", "index": 0}, "pgm_input": {"node": 0}}
|
|
28
|
-
],
|
|
29
|
-
"sym_gen":
|
|
30
|
-
[
|
|
31
|
-
{"energized": 1, "i": [42.084761397537456, 42.08476139753742, 41.84880717644763], "id": 10, "p": [403333.3333333333, 403333.3333333333, 403333.3333333333], "pf": [0.8309922150680065, 0.8309922150680065, 0.8309922150680065], "q": [269999.99999999994, 269999.99999999994, 269999.99999999994], "s": [485363.5521727787, 485363.5521727787, 485363.5521727787], "id_reference": {"table": "sgen", "index": 31}, "pgm_input": {"node": 2}}
|
|
32
|
-
],
|
|
33
|
-
"sym_load":
|
|
34
|
-
[
|
|
35
|
-
{"energized": 1, "i": [72.58861772969922, 72.58861772969915, 72.18163928458914], "id": 6, "p": [833333.3333333333, 833333.3333333333, 833333.3333333333], "pf": [0.9954236078405162, 0.9954236078405162, 0.9954236078405162], "q": [79999.99999999999, 79999.99999999999, 79999.99999999999], "s": [837164.5265086454, 837164.5265086454, 837164.5265086454], "id_reference": {"table": "load", "name": "const_power", "index": 101}, "pgm_input": {"node": 2}},
|
|
36
|
-
{"energized": 1, "i": [0, 0, 0], "id": 7, "p": [0, 0, 0], "pf": [0, 0, 0], "q": [0, 0, 0], "s": [0, 0, 0], "id_reference": {"table": "load", "name": "const_impedance", "index": 101}, "pgm_input": {"node": 2}},
|
|
37
|
-
{"energized": 1, "i": [0, 0, 0], "id": 8, "p": [0, 0, 0], "pf": [0, 0, 0], "q": [0, 0, 0], "s": [0, 0, 0], "id_reference": {"table": "load", "name": "const_current", "index": 101}, "pgm_input": {"node": 2}}
|
|
38
|
-
],
|
|
39
|
-
"transformer":
|
|
40
|
-
[
|
|
41
|
-
{"energized": 1, "i_from": [12.266058718690484, 12.266058718690402, 24.17889769909201], "i_to": [66.02947091322386, 66.02947091322693, 136.6556434817352], "id": 9, "loading": 0.03883052565830863, "p_from": [765820.724989093, 765820.7249890427, -1529485.491438911], "p_to": [-730552.3008242727, -730552.300824217, 1567616.5274441042], "q_from": [-142683.60010968833, -142683.60010993064, -136520.3668874493], "q_to": [216633.7469512629, 216633.74695157827, 216173.52394822074], "s_from": [778999.3533778327, 778999.3533778277, 1535566.2405436018], "s_to": [761995.3048134763, 761995.3048135125, 1582451.4430377013], "id_reference": {"table": "trafo", "index": 0}, "pgm_input": {"from_node": 0, "to_node": 1}, "pp_input": {"df": 1.0}}
|
|
42
|
-
]
|
|
43
|
-
}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"asym_gen":
|
|
3
|
-
[
|
|
4
|
-
{"energized": 1, "i": 32.670416687651056, "id": 17, "p": 3300000.0000000005, "pf": 0.9999586802470745, "q": 30000.000000000004, "s": 3300136.36081905, "id_reference": {"table": "asymmetric_sgen", "index": 32}, "pgm_input": {"node": 4}}
|
|
5
|
-
],
|
|
6
|
-
"asym_load":
|
|
7
|
-
[
|
|
8
|
-
{"energized": 1, "i": 32.670416687651056, "id": 16, "p": 3300000.0000000005, "pf": 0.9999586802470745, "q": 30000.000000000004, "s": 3300136.36081905, "id_reference": {"table": "asymmetric_load", "index": 33}, "pgm_input": {"node": 4}}
|
|
9
|
-
],
|
|
10
|
-
"line":
|
|
11
|
-
[
|
|
12
|
-
{"energized": 1, "i_from": 64.0471369590637, "i_to": 62.767063741949805, "id": 6, "loading": 0.5930290459172566, "p_from": -1763554.1135053905, "p_to": 1765096.6771171533, "q_from": -1245081.6865976173, "q_to": 1169229.7700732222, "s_from": 2158784.7316401307, "s_to": 2117230.39246925, "id_reference": {"table": "line", "index": 101}, "pgm_input": {"from_node": 2, "to_node": 1, "i_n": 108.0}}
|
|
13
|
-
],
|
|
14
|
-
"link":
|
|
15
|
-
[
|
|
16
|
-
{"energized": 1, "i_from": 0, "i_to": 0, "id": 15, "loading": 0, "p_from": 0, "p_to": 0, "q_from": 0, "q_to": 0, "s_from": 0, "s_to": 0, "id_reference": {"table": "switch", "name": "b2b_switches", "index": 3021}, "pgm_input": {"from_node": 0, "to_node": 5}}
|
|
17
|
-
],
|
|
18
|
-
"node":
|
|
19
|
-
[
|
|
20
|
-
{"energized": 1, "id": 0, "p": 1798665.98546505, "q": 3476628.8235362596, "u": 109999.99996175709, "u_angle": -1.798666001063812e-10, "u_pu": 0.9999999996523372, "id_reference": {"table": "bus", "index": 101}},
|
|
21
|
-
{"energized": 1, "id": 1, "p": 1.4085702951813892e-07, "q": -3.3708073600392856e-07, "u": 19474.9198728506, "u_angle": -0.5239008142519944, "u_pu": 0.97374599364253, "id_reference": {"table": "bus", "index": 102}},
|
|
22
|
-
{"energized": 1, "id": 2, "p": -2414572.6452734848, "q": -231798.9739460695, "u": 19460.275745526535, "u_angle": -0.5237223960629773, "u_pu": 0.9730137872763268, "id_reference": {"table": "bus", "index": 103}},
|
|
23
|
-
{"energized": 1, "id": 3, "p": -8.295648914520637e-08, "q": 1.430200360429221e-07, "u": 29183.44668976615, "u_angle": -1.04518706304991, "u_pu": 0.9695497239124967, "id_reference": {"table": "bus", "index": 104}},
|
|
24
|
-
{"energized": 1, "id": 4, "p": 944410.894001629, "q": 581081.3221020879, "u": 58319.87496509463, "u_angle": -1.044828700708015, "u_pu": 0.9719979160849105, "id_reference": {"table": "bus", "index": 105}},
|
|
25
|
-
{"energized": 1, "id": 5, "p": 0, "q": 0, "u": 109999.99996175709, "u_angle": -1.798666001063812e-10, "u_pu": 0.9999999996523372, "id_reference": {"table": "bus", "index": 106}}
|
|
26
|
-
],
|
|
27
|
-
"shunt":
|
|
28
|
-
[
|
|
29
|
-
{"energized": 1, "i": 31.188122375690188, "id": 11, "p": 282008.0001416396, "pf": 0.17888543819998318, "q": 1551044.0007790178, "s": 1576472.6462886913, "id_reference": {"table": "shunt", "index": 1201}, "pgm_input": {"node": 3}}
|
|
30
|
-
],
|
|
31
|
-
"source":
|
|
32
|
-
[
|
|
33
|
-
{"energized": 1, "i": 20.545012571488463, "id": 7, "p": 1798666.0004384827, "pf": 0.4595055928063901, "q": 3476627.872944676, "s": 3914350.6163946516, "id_reference": {"table": "ext_grid", "index": 1}, "pgm_input": {"node": 0}}
|
|
34
|
-
],
|
|
35
|
-
"sym_gen":
|
|
36
|
-
[
|
|
37
|
-
{"energized": 1, "i": 14.414885714493, "id": 13, "p": 1210000, "pf": 0.8309922150680065, "q": 810000, "s": 1456090.6565183362, "id_reference": {"table": "sgen", "index": 31}, "pgm_input": {"node": 4}}
|
|
38
|
-
],
|
|
39
|
-
"sym_load":
|
|
40
|
-
[
|
|
41
|
-
{"energized": 1, "i": 17.13761141048308, "id": 8, "p": 575000, "pf": 0.9954236078405164, "q": 55200, "s": 577643.5232909652, "id_reference": {"table": "load", "name": "const_power", "index": 101}, "pgm_input": {"node": 2}},
|
|
42
|
-
{"energized": 1, "i": 35.977469977108086, "id": 9, "p": 1207113.6835430216, "pf": 0.9954236078405161, "q": 115882.91362013007, "s": 1212663.3063904808, "id_reference": {"table": "load", "name": "const_impedance", "index": 101}, "pgm_input": {"node": 2}},
|
|
43
|
-
{"energized": 1, "i": 18.850149424695108, "id": 10, "p": 632458.9617296124, "pf": 0.9954236078405163, "q": 60716.06032604279, "s": 635366.6486790245, "id_reference": {"table": "load", "name": "const_current", "index": 101}, "pgm_input": {"node": 2}},
|
|
44
|
-
{"energized": 1, "i": 1.4000314325372134, "id": 18, "p": 99999.99999999999, "pf": 0.7071067811865475, "q": 99999.99999999999, "s": 141421.3562373095, "id_reference": {"table": "ward", "name": "ward_const_power_load", "index": 34}, "pgm_input": {"node": 4}},
|
|
45
|
-
{"energized": 1, "i": 1.3227216252536735, "id": 19, "p": 94477.99488734086, "pf": 0.7071067811865475, "q": 94477.99488734086, "s": 133612.0617154934, "id_reference": {"table": "ward", "name": "ward_const_impedance_load", "index": 34}, "pgm_input": {"node": 4}},
|
|
46
|
-
{"energized": 1, "i": 0.7821998773897324, "id": 20, "p": 71111.11111111111, "pf": 0.9, "q": 34440.68301069173, "s": 79012.34567901235, "id_reference": {"table": "motor", "name": "motor_load", "index": 12}, "pgm_input": {"node": 4}}
|
|
47
|
-
],
|
|
48
|
-
"three_winding_transformer":
|
|
49
|
-
[
|
|
50
|
-
{"energized": 1, "i_1": 35.73216058618558, "i_2": 10.977386752839678, "i_3": 31.18812237568588, "id": 14, "loading": 0.03152945292576947, "p_1": -651018.5317680555, "p_2": 944410.894001629, "p_3": -282008.00014178595, "q_1": 1013282.7126517809, "q_2": 581081.3221020879, "q_3": -1551044.0007787698, "s_1": 1204394.8623538653, "s_2": 1108858.6202058704, "s_3": 1576472.6462884734, "id_reference": {"table": "trafo3w", "index": 102}, "pgm_input": {"node_1": 2, "node_2": 4, "node_3": 3}}
|
|
51
|
-
],
|
|
52
|
-
"transformer":
|
|
53
|
-
[
|
|
54
|
-
{"energized": 1, "i_from": 20.545016973103277, "i_to": 62.76706374195551, "id": 12, "loading": 0.04892939318768632, "p_from": 1798665.9834270997, "p_to": -1765096.6771171836, "q_from": 3476628.8259518775, "q_to": -1169229.7700735242, "s_from": 3914351.4550149054, "s_to": 2117230.3924694424, "id_reference": {"table": "trafo", "index": 101}, "pgm_input": {"from_node": 0, "to_node": 1}, "pp_input": {"df": 1.0}}
|
|
55
|
-
]
|
|
56
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/__init__.py
RENAMED
|
File without changes
|
{power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/config/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/utils/__init__.py
RENAMED
|
File without changes
|
{power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/utils/auto_id.py
RENAMED
|
File without changes
|
{power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/utils/dict.py
RENAMED
|
File without changes
|
{power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/utils/download.py
RENAMED
|
File without changes
|
{power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/utils/json.py
RENAMED
|
File without changes
|
{power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/utils/modules.py
RENAMED
|
File without changes
|
{power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/utils/parsing.py
RENAMED
|
File without changes
|
{power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/src/power_grid_model_io/utils/zip.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/data/config/dummy_mapping.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/data/pandapower/pgm_input_data.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/data/pandapower/pp_validation.py
RENAMED
|
File without changes
|
{power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/data/vision/pgm_input_data_en.json
RENAMED
|
File without changes
|
|
File without changes
|
{power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/data/vision/pgm_input_data_nl.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/data/vision/vision_en.xlsx.license
RENAMED
|
File without changes
|
|
File without changes
|
{power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/data/vision/vision_nl.xlsx.license
RENAMED
|
File without changes
|
{power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/data/vision/vision_validation.vnf
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/data/zip/foo-bar.zip.license
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/unit/data_stores/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/unit/functions/test_functions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/unit/mappings/test_unit_mapping.py
RENAMED
|
File without changes
|
{power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/unit/mappings/test_value_mapping.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/validation/converters/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{power-grid-model-io-1.2.63 → power-grid-model-io-1.2.64}/tests/validation/test_test_utils.py
RENAMED
|
File without changes
|
|
File without changes
|