From 4df1029055f06fe6d51137973ea0ddee4833047e Mon Sep 17 00:00:00 2001 From: Daniel Olsen Date: Thu, 28 Jan 2021 20:32:53 -0800 Subject: [PATCH 1/2] test: add test for repeated substation bus adds --- powersimdata/input/tests/test_transform_grid.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/powersimdata/input/tests/test_transform_grid.py b/powersimdata/input/tests/test_transform_grid.py index 33f11bd91..3f557cf57 100644 --- a/powersimdata/input/tests/test_transform_grid.py +++ b/powersimdata/input/tests/test_transform_grid.py @@ -506,13 +506,15 @@ def test_add_bus(ct): prev_max_bus = grid.bus.index.max() prev_num_subs = len(grid.sub.index) ct.ct["new_bus"] = [ - # These two are buses at new locations + # These three are buses at new locations {"lat": 40, "lon": 50.5, "zone_id": 2, "Pd": 0, "baseKV": 69}, {"lat": -40.5, "lon": -50, "zone_id": 201, "Pd": 10, "baseKV": 230}, + # We want to test that we can add two new buses at the same lat/lon + {"lat": -40.5, "lon": -50, "zone_id": 201, "Pd": 5, "baseKV": 69}, # This one is at the lat/lon of an existing substation {"lat": 36.0155, "lon": -114.738, "zone_id": 208, "Pd": 0, "baseKV": 345}, ] - expected_interconnects = ("Eastern", "Western", "Western") + expected_interconnects = ("Eastern", "Western", "Western", "Western") new_grid = TransformGrid(grid, ct.ct).get_grid() assert len(new_grid.bus.index) == prev_num_buses + len(ct.ct["new_bus"]) for i, new_bus in enumerate(ct.ct["new_bus"]): @@ -523,6 +525,7 @@ def test_add_bus(ct): # Ensure that we still match with the other dataframes that matter assert len(new_grid.bus) == len(new_grid.bus2sub) assert len(new_grid.bus2sub.sub_id.unique()) == len(new_grid.sub) + # Even though we add three new buses, there are only two unique lat/lon pairs assert len(new_grid.sub) == prev_num_subs + 2 assert new_grid.bus.index.dtype == grid.bus.index.dtype assert new_grid.bus2sub.index.dtype == grid.bus2sub.index.dtype From 5bf7a749a0b8a83c5ed92abf161eff74f54e513a Mon Sep 17 00:00:00 2001 From: Daniel Olsen Date: Thu, 28 Jan 2021 19:19:42 -0800 Subject: [PATCH 2/2] fix: correct bug with repeated substation in TransformGrid._add_bus --- powersimdata/input/transform_grid.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/powersimdata/input/transform_grid.py b/powersimdata/input/transform_grid.py index 06cde5e78..3719cb6b1 100644 --- a/powersimdata/input/transform_grid.py +++ b/powersimdata/input/transform_grid.py @@ -281,7 +281,7 @@ def _add_bus(self): index=[new_sub_id], ) self.grid.sub = sub.append(new_row, sort=False) - latlon2sub[(lat, lon)] = new_sub_id + latlon2sub[(lat, lon)] = [new_sub_id] def _add_dcline(self): """Adds HVDC line(s) to the grid"""