@@ -75,6 +75,21 @@ def __init__(
7575 async def _post_load (self ) -> bool :
7676 status = await super ()._post_load ()
7777
78+ #
79+ # NOTE: We need to have the feeder head equipment assigned before we can set the feeder directions to prevent
80+ # tracing back into the zone substation in parallel feeders. Rather than splitting the feeder assignment
81+ # into two passes, we can just assign the equipment to feeders before we set the directions.
82+ #
83+ self ._logger .info ("Assigning equipment to feeders..." )
84+ await self .assign_to_feeders .run (self .service , network_state_operators = NetworkStateOperators .NORMAL )
85+ await self .assign_to_feeders .run (self .service , network_state_operators = NetworkStateOperators .CURRENT )
86+ self ._logger .info ("Equipment assigned to feeders." )
87+
88+ self ._logger .info ("Assigning equipment to LV feeders..." )
89+ await self .assign_to_lv_feeders .run (self .service , network_state_operators = NetworkStateOperators .NORMAL )
90+ await self .assign_to_lv_feeders .run (self .service , network_state_operators = NetworkStateOperators .CURRENT )
91+ self ._logger .info ("Equipment assigned to LV feeders." )
92+
7893 self ._logger .info ("Applying feeder direction to network..." )
7994 await self .set_feeder_direction .run (self .service , network_state_operators = NetworkStateOperators .NORMAL )
8095 await self .set_feeder_direction .run (self .service , network_state_operators = NetworkStateOperators .CURRENT )
@@ -91,16 +106,6 @@ async def _post_load(self) -> bool:
91106
92107 self ._logger .info ("Phasing applied to network." )
93108
94- self ._logger .info ("Assigning equipment to feeders..." )
95- await self .assign_to_feeders .run (self .service , network_state_operators = NetworkStateOperators .NORMAL )
96- await self .assign_to_feeders .run (self .service , network_state_operators = NetworkStateOperators .CURRENT )
97- self ._logger .info ("Equipment assigned to feeders." )
98-
99- self ._logger .info ("Assigning equipment to LV feeders..." )
100- await self .assign_to_lv_feeders .run (self .service , network_state_operators = NetworkStateOperators .NORMAL )
101- await self .assign_to_lv_feeders .run (self .service , network_state_operators = NetworkStateOperators .CURRENT )
102- self ._logger .info ("Equipment assigned to LV feeders." )
103-
104109 self ._logger .info ("Validating that each equipment is assigned to a container..." )
105110 self ._validate_equipment_containers ()
106111 self ._logger .info ("Equipment containers validated." )
0 commit comments