Skip to content

Commit 4cb9397

Browse files
committed
more files
Signed-off-by: Thijs Baaijen <[email protected]>
1 parent e9df881 commit 4cb9397

File tree

3 files changed

+63
-64
lines changed

3 files changed

+63
-64
lines changed

src/power_grid_model_ds/_core/data_source/generator/arrays/source.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,14 @@ class SourceGenerator(BaseGenerator):
1717
def run(self, amount: int) -> tuple[NodeArray, SourceArray]:
1818
"""Generate nodes in a grid which are sources (substations)"""
1919
substation_node_array = self.grid.node.__class__.empty(amount)
20-
substation_node_array.id = 1 + self.grid.max_id + np.arange(amount)
21-
substation_node_array.u_rated = 10_500
22-
substation_node_array.node_type = NodeType.SUBSTATION_NODE.value
20+
substation_node_array["id"] = 1 + self.grid.max_id + np.arange(amount)
21+
substation_node_array["u_rated"] = 10_500
22+
substation_node_array["node_type"] = NodeType.SUBSTATION_NODE.value
2323

2424
source_array = self.grid.source.__class__.empty(amount)
25-
source_array.id = 1 + substation_node_array.id.max() + np.arange(amount)
26-
source_array.node = substation_node_array.id
27-
source_array.status = 1
28-
source_array.u_ref = 1
25+
source_array["id"] = 1 + substation_node_array["id"].max() + np.arange(amount)
26+
source_array["node"] = substation_node_array["id"]
27+
source_array["status"] = 1
28+
source_array["u_ref"] = 1
2929

3030
return substation_node_array, source_array

src/power_grid_model_ds/_core/model/arrays/pgm_arrays.py

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -52,12 +52,12 @@ class BranchArray(IdArray, Branch):
5252
@property
5353
def node_ids(self):
5454
"""Return both from_node and to_node in one array"""
55-
return np.concatenate([self.data["from_node"], self.data["to_node"]])
55+
return np.concatenate([self["from_node"], self["to_node"]])
5656

5757
@property
5858
def is_active(self) -> NDArray[np.bool_]:
5959
"""Returns boolean whether branch is closed at both ends"""
60-
return np.logical_and(self.from_status == 1, self.to_status == 1)
60+
return np.logical_and(self["from_status"] == 1, self["to_status"] == 1)
6161

6262
def filter_parallel(self, n_parallel: int, mode: Literal["eq", "neq"]) -> "BranchArray":
6363
"""Return branches that have n_parallel connections.
@@ -84,7 +84,7 @@ def filter_parallel(self, n_parallel: int, mode: Literal["eq", "neq"]) -> "Branc
8484
if mode == "eq" and n_parallel == 1:
8585
return self[index][counts_mask]
8686
filtered_branches = self[index][counts_mask]
87-
return self.filter(from_node=filtered_branches.from_node, to_node=filtered_branches.to_node)
87+
return self.filter(from_node=filtered_branches["from_node"], to_node=filtered_branches["to_node"])
8888

8989

9090
class LinkArray(Link, BranchArray):
@@ -102,23 +102,23 @@ class TransformerArray(Transformer, BranchArray):
102102
class Branch3Array(IdArray, Branch3):
103103
def as_branches(self) -> BranchArray:
104104
"""Convert Branch3Array to BranchArray."""
105-
branches_1_2 = BranchArray.empty(self.size)
106-
branches_1_2.from_node = self.node_1
107-
branches_1_2.to_node = self.node_2
108-
branches_1_2.from_status = self.status_1
109-
branches_1_2.to_status = self.status_2
110-
111-
branches_1_3 = BranchArray.empty(self.size)
112-
branches_1_3.from_node = self.node_1
113-
branches_1_3.to_node = self.node_3
114-
branches_1_3.from_status = self.status_1
115-
branches_1_3.to_status = self.status_3
116-
117-
branches_2_3 = BranchArray.empty(self.size)
118-
branches_2_3.from_node = self.node_2
119-
branches_2_3.to_node = self.node_3
120-
branches_2_3.from_status = self.status_2
121-
branches_2_3.to_status = self.status_3
105+
branches_1_2 = BranchArray.empty(len(self))
106+
branches_1_2["from_node"] = self["node_1"]
107+
branches_1_2["to_node"] = self["node_2"]
108+
branches_1_2["from_status"] = self["status_1"]
109+
branches_1_2["to_status"] = self["status_2"]
110+
111+
branches_1_3 = BranchArray.empty(len(self))
112+
branches_1_3["from_node"] = self["node_1"]
113+
branches_1_3["to_node"] = self["node_3"]
114+
branches_1_3["from_status"] = self["status_1"]
115+
branches_1_3["to_status"] = self["status_3"]
116+
117+
branches_2_3 = BranchArray.empty(len(self))
118+
branches_2_3["from_node"] = self["node_2"]
119+
branches_2_3["to_node"] = self["node_3"]
120+
branches_2_3["from_status"] = self["status_2"]
121+
branches_2_3["to_status"] = self["status_3"]
122122
return concatenate(branches_1_2, branches_1_3, branches_2_3)
123123

124124

tests/unit/model/arrays/test_build.py

Lines changed: 36 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ def test_build_without_array_definition():
5959

6060
def test_build_without_args_or_kwargs():
6161
array = FancyTestArray()
62-
assert_array_equal(array.id, [])
62+
assert_array_equal(array["id"], [])
6363
assert 0 == array.size
6464

6565

@@ -72,11 +72,11 @@ def test_build_from_kwargs():
7272
test_bool=[True, False, True],
7373
)
7474
assert array.size == 3
75-
assert_array_equal(array.id, [1, 2, 3])
76-
assert_array_equal(array.test_int, [3, 0, 4])
77-
assert_array_equal(array.test_float, [4.0, 4.0, 1.0])
78-
assert_array_equal(array.test_str, ["a", "c", "d"])
79-
assert_array_equal(array.test_bool, [True, False, True])
75+
assert_array_equal(array["id"], [1, 2, 3])
76+
assert_array_equal(array["test_int"], [3, 0, 4])
77+
assert_array_equal(array["test_float"], [4.0, 4.0, 1.0])
78+
assert_array_equal(array["test_str"], ["a", "c", "d"])
79+
assert_array_equal(array["test_bool"], [True, False, True])
8080

8181

8282
def test_build_from_kwargs_with_missing_input_fields():
@@ -129,15 +129,15 @@ def test_build_from_numpy_2d_shape_2_4():
129129
numpy_array = np.array([[1, 2, 3, 4, 5], [9, 9, 9, 9, 9]])
130130
assert (2, 5) == numpy_array.shape
131131
array = FancyTestArray(numpy_array)
132-
assert_array_equal([2, 9], array.test_int)
132+
assert_array_equal([2, 9], array["test_int"])
133133
assert 2 == array.size
134134

135135

136136
def test_build_from_numpy_2d_shape_4_2():
137137
numpy_array = np.array([[15, 9], [2, 9], [3, 9], [4, 9], [7, 9]])
138138
assert (5, 2) == numpy_array.shape
139139
array = FancyTestArray(numpy_array)
140-
assert_array_equal([2, 9], array.test_int)
140+
assert_array_equal([2, 9], array["test_int"])
141141
assert 2 == array.size
142142

143143

@@ -149,61 +149,60 @@ def test_array_invalid_columns_before_initialization():
149149
def test_some_zeros():
150150
array = FancyTestArray.zeros(3)
151151
assert 3 == array.size
152-
assert_array_equal([np.iinfo(np.int32).min] * 3, array.id)
153-
assert_array_equal([0, 0, 0], array.test_int)
154-
assert 3 == array.size
152+
assert_array_equal([np.iinfo(np.int32).min] * 3, array["id"])
153+
assert_array_equal([0, 0, 0], array["test_int"])
155154
assert 3 == len(array)
156155
assert 3 == len(array.data)
157-
assert 3 == len(array.id)
158-
assert 3 == len(array.test_int)
159-
assert 3 == len(array.test_float)
156+
assert 3 == len(array["id"])
157+
assert 3 == len(array["test_int"])
158+
assert 3 == len(array["test_float"])
160159

161160

162161
def test_many_zeros():
163162
array = FancyTestArray.zeros(int(1e6))
164163
assert int(1e6) == array.size
165164
assert int(1e6) == len(array)
166165
assert int(1e6) == len(array.data)
167-
assert int(1e6) == len(array.id)
168-
assert int(1e6) == len(array.test_int)
169-
assert int(1e6) == len(array.test_float)
166+
assert int(1e6) == len(array["id"])
167+
assert int(1e6) == len(array["test_int"])
168+
assert int(1e6) == len(array["test_float"])
170169

171170

172171
def test_empty():
173172
array = FancyTestArray.empty(3)
174173
assert 3 == array.size
175-
assert_array_equal([EMPTY_ID, EMPTY_ID, EMPTY_ID], array.id)
174+
assert_array_equal([EMPTY_ID, EMPTY_ID, EMPTY_ID], array["id"])
176175
min_int64 = np.iinfo(np.int64).min
177-
assert_array_equal([min_int64] * 3, array.test_int)
176+
assert_array_equal([min_int64] * 3, array["test_int"])
178177

179178

180179
def test_empty_with_sized_dtypes():
181180
array = SizedDTypesArray.empty(1)
182181

183-
assert_array_equal([np.iinfo(np.int8).min], array.test_int8)
184-
assert_array_equal([np.iinfo(np.int16).min], array.test_int16)
185-
assert_array_equal([np.iinfo(np.int32).min], array.test_int32)
186-
assert_array_equal([np.iinfo(np.int64).min], array.test_int64)
182+
assert_array_equal([np.iinfo(np.int8).min], array["test_int8"])
183+
assert_array_equal([np.iinfo(np.int16).min], array["test_int16"])
184+
assert_array_equal([np.iinfo(np.int32).min], array["test_int32"])
185+
assert_array_equal([np.iinfo(np.int64).min], array["test_int64"])
187186

188-
assert_array_equal([np.nan], array.test_float16)
189-
assert_array_equal([np.nan], array.test_float32)
190-
assert_array_equal([np.nan], array.test_float64)
187+
assert_array_equal([np.nan], array["test_float16"])
188+
assert_array_equal([np.nan], array["test_float32"])
189+
assert_array_equal([np.nan], array["test_float64"])
191190

192191

193192
def test_empty_with_defaults():
194193
array = DefaultedFancyTestArray.empty(3)
195194
assert 3 == array.size
196-
assert_array_equal([-1, -1, -1], array.id)
197-
assert_array_equal([4, 4, 4], array.test_int)
198-
assert_array_equal([4.5, 4.5, 4.5], array.test_float)
199-
assert_array_equal(["DEFAULT", "DEFAULT", "DEFAULT"], array.test_str)
195+
assert_array_equal([-1, -1, -1], array["id"])
196+
assert_array_equal([4, 4, 4], array["test_int"])
197+
assert_array_equal([4.5, 4.5, 4.5], array["test_float"])
198+
assert_array_equal(["DEFAULT", "DEFAULT", "DEFAULT"], array["test_str"])
200199

201200

202201
def test_from_structured_subarray_with_defaults(fancy_test_array: FancyTestArray):
203202
array = ExtendedFancyTestArray(fancy_test_array.data)
204203
assert 3 == array.size
205-
assert all(np.isnan(array.test_float2))
206-
assert_array_equal([42.0, 42.0, 42.0], array.test_float3)
204+
assert all(np.isnan(array["test_float2"]))
205+
assert_array_equal([42.0, 42.0, 42.0], array["test_float3"])
207206

208207

209208
def test_from_structured_subarray_no_defaults(fancy_test_array: FancyTestArray):
@@ -258,8 +257,8 @@ def test_sensor_array():
258257
def test_inherit_defaults_from_multiple_parents():
259258
array = ChildArray.empty(3)
260259
assert 3 == array.size
261-
assert_array_equal([-1, -1, -1], array.id)
262-
assert_array_equal([4, 4, 4], array.test_int)
263-
assert_array_equal([4.5, 4.5, 4.5], array.test_float)
264-
assert_array_equal(["DEFAULT", "DEFAULT", "DEFAULT"], array.test_str)
265-
assert_array_equal([42.0, 42.0, 42.0], array.test_float4)
260+
assert_array_equal([-1, -1, -1], array["id"])
261+
assert_array_equal([4, 4, 4], array["test_int"])
262+
assert_array_equal([4.5, 4.5, 4.5], array["test_float"])
263+
assert_array_equal(["DEFAULT", "DEFAULT", "DEFAULT"], array["test_str"])
264+
assert_array_equal([42.0, 42.0, 42.0], array["test_float4"])

0 commit comments

Comments
 (0)