grid-data-models 2.3.4__tar.gz → 2.3.5__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.
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/PKG-INFO +2 -2
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/pyproject.toml +1 -1
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/components/__init__.py +1 -0
- grid_data_models-2.3.5/src/gdm/distribution/components/geometry_switch.py +122 -0
- grid_data_models-2.3.5/src/gdm/distribution/upgrade_handler/from__2_3_4__to__2_3_5.py +15 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/upgrade_handler/upgrade_handler.py +6 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/version.py +1 -1
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/.gitignore +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/LICENSE.txt +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/README.md +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/__init__.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/cli/cli.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/cli/reducer.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/constants.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/dataset/__init__.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/dataset/cost_model.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/dataset/dataset_system.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/__init__.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/catalog_system.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/common/__init__.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/common/curve.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/common/limitset.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/common/sequence_pair.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/components/base/__init__.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/components/base/distribution_branch_base.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/components/base/distribution_component_base.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/components/base/distribution_switch_base.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/components/base/distribution_transformer_base.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/components/distribution_battery.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/components/distribution_bus.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/components/distribution_capacitor.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/components/distribution_feeder.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/components/distribution_load.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/components/distribution_regulator.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/components/distribution_solar.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/components/distribution_substation.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/components/distribution_transformer.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/components/distribution_vsource.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/components/geometry_branch.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/components/matrix_impedance_branch.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/components/matrix_impedance_fuse.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/components/matrix_impedance_recloser.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/components/matrix_impedance_switch.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/components/sequence_impedance_branch.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/controllers/__init__.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/controllers/base/__init__.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/controllers/base/capacitor_controller_base.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/controllers/base/inverter_controller_base.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/controllers/distribution_capacitor_controller.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/controllers/distribution_inverter_controller.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/controllers/distribution_recloser_controller.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/controllers/distribution_regulator_controller.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/controllers/distribution_switch_controller.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/distribution_graph.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/distribution_system.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/enums.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/equipment/__init__.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/equipment/bare_conductor_equipment.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/equipment/base/__init__.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/equipment/base/matrix_impedance_branch_equipment_base.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/equipment/battery_equipment.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/equipment/capacitor_equipment.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/equipment/concentric_cable_equipment.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/equipment/distribution_transformer_equipment.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/equipment/geometry_branch_equipment.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/equipment/inverter_equipment.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/equipment/load_equipment.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/equipment/matrix_impedance_branch_equipment.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/equipment/matrix_impedance_fuse_equipment.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/equipment/matrix_impedance_recloser_equipment.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/equipment/matrix_impedance_switch_equipment.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/equipment/phase_capacitor_equipment.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/equipment/phase_load_equipment.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/equipment/phase_voltagesource_equipment.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/equipment/recloser_controller_equipment.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/equipment/sequence_impedance_branch_equipment.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/equipment/solar_equipment.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/equipment/voltagesource_equipment.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/market/__init__.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/market/aggregator.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/market/tariff.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/model_reduction/__init__.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/model_reduction/reducer.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/sys_functools.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/upgrade_handler/__init__.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/upgrade_handler/from__2_0_1__to__2_1_2.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/upgrade_handler/from__2_1_2__to__2_1_3.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/upgrade_handler/from__2_1_3__to__2_1_4.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/upgrade_handler/from__2_1_4__to__2_1_5.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/upgrade_handler/from__2_1_5__to__2_2_0.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/upgrade_handler/from__2_2_0__to__2_2_1.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/upgrade_handler/from__2_2_1__to__2_3_0.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/upgrade_handler/from__2_3_0__to__2_3_1.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/upgrade_handler/from__2_3_1__to__2_3_2.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/upgrade_handler/from__2_3_2__to__2_3_3.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/upgrade_handler/from__2_3_3__to__2_3_4.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/exceptions.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/hashing_utils.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/mcp/__init__.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/mcp/exceptions.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/mcp/inspection/__init__.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/mcp/inspection/inspector.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/mcp/inspection/relationships.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/mcp/inspection/topology.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/mcp/knowledge/__init__.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/mcp/knowledge/documentation.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/mcp/operations/__init__.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/mcp/operations/merger.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/mcp/operations/splitter.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/mcp/schemas.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/mcp/server.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/mcp/utilities/__init__.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/mcp/utilities/subsystem.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/mcp/utilities/timeseries.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/mcp/validation/__init__.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/mcp/validation/auto_fixer.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/mcp/validation/diagnostics.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/mcp/validation/suggestions.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/mcp/version.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/quantities.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/structural/__init__.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/structural/components/__init__.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/structural/components/base.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/structural/components/building.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/structural/components/overhead_line_segment.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/structural/components/pole.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/structural/components/pvsystem.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/structural/components/transformer.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/structural/components/underground_cable.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/structural/components/underground_junction.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/structural/structural_system.py +0 -0
- {grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/tracked_changes.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: grid-data-models
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.5
|
|
4
4
|
Project-URL: Documentation, https://github.com/NREL-Distribution-Suites/grid-data-models#readme
|
|
5
5
|
Project-URL: Issues, https://github.com/NREL-Distribution-Suites/grid-data-models/issues
|
|
6
6
|
Project-URL: Source, https://github.com/NREL-Distribution-Suites/grid-data-models
|
|
@@ -36,7 +36,7 @@ Requires-Dist: pydata-sphinx-theme; extra == 'doc'
|
|
|
36
36
|
Requires-Dist: sphinx; extra == 'doc'
|
|
37
37
|
Requires-Dist: sphinxcontrib-mermaid; extra == 'doc'
|
|
38
38
|
Provides-Extra: mcp
|
|
39
|
-
Requires-Dist: mcp>=1.
|
|
39
|
+
Requires-Dist: mcp>=1.28.0; extra == 'mcp'
|
|
40
40
|
Description-Content-Type: text/markdown
|
|
41
41
|
|
|
42
42
|
|
{grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/components/__init__.py
RENAMED
|
@@ -7,6 +7,7 @@ from gdm.distribution.components.distribution_solar import DistributionSolar
|
|
|
7
7
|
from gdm.distribution.components.distribution_transformer import DistributionTransformer
|
|
8
8
|
from gdm.distribution.components.distribution_vsource import DistributionVoltageSource
|
|
9
9
|
from gdm.distribution.components.geometry_branch import GeometryBranch
|
|
10
|
+
from gdm.distribution.components.geometry_switch import GeometrySwitch
|
|
10
11
|
from gdm.distribution.components.matrix_impedance_branch import MatrixImpedanceBranch
|
|
11
12
|
from gdm.distribution.components.matrix_impedance_fuse import MatrixImpedanceFuse
|
|
12
13
|
from gdm.distribution.components.matrix_impedance_recloser import MatrixImpedanceRecloser
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"""This module contains geometry branch."""
|
|
2
|
+
|
|
3
|
+
from typing import Annotated
|
|
4
|
+
|
|
5
|
+
from pydantic import Field
|
|
6
|
+
|
|
7
|
+
from gdm.distribution.components.base.distribution_switch_base import (
|
|
8
|
+
DistributionSwitchBase,
|
|
9
|
+
)
|
|
10
|
+
from gdm.distribution.equipment.geometry_branch_equipment import (
|
|
11
|
+
GeometryBranchEquipment,
|
|
12
|
+
)
|
|
13
|
+
from gdm.distribution.components.distribution_feeder import DistributionFeeder
|
|
14
|
+
from gdm.distribution.components.distribution_substation import (
|
|
15
|
+
DistributionSubstation,
|
|
16
|
+
)
|
|
17
|
+
from gdm.distribution.components.distribution_bus import DistributionBus
|
|
18
|
+
from gdm.distribution.enums import Phase
|
|
19
|
+
from gdm.quantities import Voltage, Distance
|
|
20
|
+
|
|
21
|
+
from gdm.distribution.components.matrix_impedance_switch import MatrixImpedanceSwitch
|
|
22
|
+
from gdm.distribution.equipment import (
|
|
23
|
+
ConcentricCableEquipment,
|
|
24
|
+
)
|
|
25
|
+
from gdm.distribution.equipment.matrix_impedance_switch_equipment import (
|
|
26
|
+
MatrixImpedanceSwitchEquipment,
|
|
27
|
+
)
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
class GeometrySwitch(DistributionSwitchBase):
|
|
31
|
+
"""Data model for distribution branches based on line geometry."""
|
|
32
|
+
|
|
33
|
+
equipment: Annotated[
|
|
34
|
+
GeometryBranchEquipment,
|
|
35
|
+
Field(..., description="Geometry branch equipment."),
|
|
36
|
+
]
|
|
37
|
+
|
|
38
|
+
def validate_fields(self) -> "GeometrySwitch":
|
|
39
|
+
"""Custom validator for geometry branch fields."""
|
|
40
|
+
if len(self.phases) != len(self.equipment.conductors):
|
|
41
|
+
msg = "Number of phases is not equal to number of wires."
|
|
42
|
+
raise ValueError(msg)
|
|
43
|
+
return self
|
|
44
|
+
|
|
45
|
+
def to_matrix_representation(
|
|
46
|
+
self, frequency_hz: float = 60, soil_resistivity_ohm_m: float = 100
|
|
47
|
+
) -> MatrixImpedanceSwitch:
|
|
48
|
+
"""
|
|
49
|
+
Converts the geometry-based branch model to a matrix impedance representation.
|
|
50
|
+
|
|
51
|
+
This method transforms the current `GeometryBranch` instance into a `MatrixImpedanceBranch`
|
|
52
|
+
by calculating the impedance matrix based on the specified frequency and soil resistivity.
|
|
53
|
+
The conversion process involves using the equipment's matrix representation method to obtain
|
|
54
|
+
the necessary impedance data.
|
|
55
|
+
|
|
56
|
+
Parameters
|
|
57
|
+
----------
|
|
58
|
+
frequency_hz : float, optional
|
|
59
|
+
The frequency in hertz used for impedance calculations. Defaults to 60 Hz.
|
|
60
|
+
soil_resistivity_ohm_m : float, optional
|
|
61
|
+
The soil resistivity in ohm-meters used for impedance calculations. Defaults to 100 ohm-m.
|
|
62
|
+
|
|
63
|
+
Returns
|
|
64
|
+
-------
|
|
65
|
+
MatrixImpedanceBranch
|
|
66
|
+
A new instance of `MatrixImpedanceBranch` representing the converted geometry branch.
|
|
67
|
+
|
|
68
|
+
Notes
|
|
69
|
+
-----
|
|
70
|
+
- The method uses the number of neutral phases to assist in the impedance calculation.
|
|
71
|
+
- This conversion is essential for systems that require matrix impedance representations
|
|
72
|
+
for detailed electrical analysis.
|
|
73
|
+
|
|
74
|
+
"""
|
|
75
|
+
equipment = self.equipment.to_matrix_representation(
|
|
76
|
+
frequency_hz,
|
|
77
|
+
soil_resistivity_ohm_m,
|
|
78
|
+
n_neutrals=len([phs for phs in self.phases if phs == Phase.N]),
|
|
79
|
+
)
|
|
80
|
+
if isinstance(self.equipment.conductors[0], ConcentricCableEquipment):
|
|
81
|
+
phases = self.phases + [Phase.N for _ in self.phases]
|
|
82
|
+
equipment.kron_reduce(phases)
|
|
83
|
+
|
|
84
|
+
switch_equipment = MatrixImpedanceSwitchEquipment(
|
|
85
|
+
**equipment.model_dump(exclude_none=True)
|
|
86
|
+
)
|
|
87
|
+
|
|
88
|
+
return MatrixImpedanceSwitch(
|
|
89
|
+
buses=self.buses,
|
|
90
|
+
length=self.length,
|
|
91
|
+
phases=self.phases,
|
|
92
|
+
substation=self.substation,
|
|
93
|
+
feeder=self.feeder,
|
|
94
|
+
name=self.name,
|
|
95
|
+
equipment=switch_equipment,
|
|
96
|
+
is_closed=self.is_closed,
|
|
97
|
+
)
|
|
98
|
+
|
|
99
|
+
@classmethod
|
|
100
|
+
def example(cls) -> "GeometrySwitch":
|
|
101
|
+
"""Example for geometry branch."""
|
|
102
|
+
buses = [
|
|
103
|
+
DistributionBus(
|
|
104
|
+
voltage_type="line-to-ground",
|
|
105
|
+
phases=[Phase.A, Phase.B, Phase.C],
|
|
106
|
+
rated_voltage=Voltage(400, "volt"),
|
|
107
|
+
substation=DistributionSubstation.example(),
|
|
108
|
+
feeder=DistributionFeeder.example(),
|
|
109
|
+
name=bus_name,
|
|
110
|
+
)
|
|
111
|
+
for bus_name in ["Branch-DistBus1", "Branch-DistBus2"]
|
|
112
|
+
]
|
|
113
|
+
return GeometrySwitch(
|
|
114
|
+
buses=buses,
|
|
115
|
+
length=Distance(130.2, "meter"),
|
|
116
|
+
phases=[Phase.A, Phase.B, Phase.C],
|
|
117
|
+
substation=DistributionSubstation.example(),
|
|
118
|
+
feeder=DistributionFeeder.example(),
|
|
119
|
+
name="DistBranch1",
|
|
120
|
+
is_closed=[True, True, True],
|
|
121
|
+
equipment=GeometryBranchEquipment.example(),
|
|
122
|
+
)
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from loguru import logger
|
|
2
|
+
from infrasys.migrations.metadata_migration import migrate_component_metadata
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
def from__2_3_4__to__2_3_5(data: dict, from_version: str, to_version: str) -> dict:
|
|
6
|
+
logger.info(f"Upgrading DistributionSystem from verion {from_version} to {to_version}")
|
|
7
|
+
data["data_format_version"] = str(to_version)
|
|
8
|
+
number_of_components_before = len(data["components"])
|
|
9
|
+
data["components"] = migrate_component_metadata(data["components"])
|
|
10
|
+
number_of_components_after = len(data["components"])
|
|
11
|
+
assert (
|
|
12
|
+
number_of_components_before == number_of_components_after
|
|
13
|
+
), "Number of components should be the same before and after model upgrade"
|
|
14
|
+
|
|
15
|
+
return data
|
|
@@ -22,6 +22,7 @@ from gdm.distribution.upgrade_handler.from__2_3_0__to__2_3_1 import from__2_3_0_
|
|
|
22
22
|
from gdm.distribution.upgrade_handler.from__2_3_1__to__2_3_2 import from__2_3_1__to__2_3_2
|
|
23
23
|
from gdm.distribution.upgrade_handler.from__2_3_2__to__2_3_3 import from__2_3_2__to__2_3_3
|
|
24
24
|
from gdm.distribution.upgrade_handler.from__2_3_3__to__2_3_4 import from__2_3_3__to__2_3_4
|
|
25
|
+
from gdm.distribution.upgrade_handler.from__2_3_4__to__2_3_5 import from__2_3_4__to__2_3_5
|
|
25
26
|
|
|
26
27
|
|
|
27
28
|
def fix_version(version):
|
|
@@ -124,6 +125,11 @@ class UpgradeHandler(BaseModel):
|
|
|
124
125
|
from_version="2.3.3",
|
|
125
126
|
to_version="2.3.4",
|
|
126
127
|
),
|
|
128
|
+
UpgradeSchema(
|
|
129
|
+
method=from__2_3_4__to__2_3_5,
|
|
130
|
+
from_version="2.3.4",
|
|
131
|
+
to_version="2.3.5",
|
|
132
|
+
),
|
|
127
133
|
]
|
|
128
134
|
|
|
129
135
|
@model_validator(mode="after")
|
|
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
|
{grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/common/sequence_pair.py
RENAMED
|
File without changes
|
{grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/components/base/__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
|
{grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/components/geometry_branch.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/controllers/__init__.py
RENAMED
|
File without changes
|
{grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/controllers/base/__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
|
{grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/distribution_graph.py
RENAMED
|
File without changes
|
{grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/distribution_system.py
RENAMED
|
File without changes
|
|
File without changes
|
{grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/equipment/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/equipment/base/__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
|
{grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/equipment/load_equipment.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
|
{grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/equipment/solar_equipment.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/model_reduction/__init__.py
RENAMED
|
File without changes
|
{grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/model_reduction/reducer.py
RENAMED
|
File without changes
|
|
File without changes
|
{grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/distribution/upgrade_handler/__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
|
|
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
|
{grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/structural/components/transformer.py
RENAMED
|
File without changes
|
{grid_data_models-2.3.4 → grid_data_models-2.3.5}/src/gdm/structural/components/underground_cable.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|