Skip to content

Commit c0bcbf9

Browse files
committed
shuffle csv, values by index
1 parent 4b41a1b commit c0bcbf9

File tree

2 files changed

+30
-14
lines changed

2 files changed

+30
-14
lines changed

tests/test_field.py

+17-3
Original file line numberDiff line numberDiff line change
@@ -263,14 +263,28 @@ def test_field_interpolation_and_derivatives():
263263
def test_field_from_csv():
264264
"""Test reading field from csv."""
265265
data = np.genfromtxt("tests/test_temp.csv", delimiter=",", names=True)
266-
dim_time = np.unique(data["time"])
267-
dim_axial = np.unique(data["axial"])
268-
values = data["Temperature"].reshape(len(dim_time), len(dim_axial))
266+
267+
# Initialize dimensions
268+
dim_time, idx_time = np.unique(data["time"], return_inverse=True)
269+
dim_axial, idx_axial = np.unique(data["axial"], return_inverse=True)
270+
271+
# Initialize values
272+
values = np.zeros((len(dim_time), len(dim_axial)))
273+
for idx in range(len(data)):
274+
values[idx_time[idx]][idx_axial[idx]] = data[idx]["Temperature"]
275+
269276
field = Field(
270277
name="temp_field",
271278
dimensions={"time": dim_time, "axial": dim_axial},
272279
data=values,
273280
)
281+
assert_shape(field.shape, (4, 3), "Field shape mismatch")
282+
283+
interp_field = FieldInterpolator(field)
284+
assert_equal(interp_field(time=1700, axial=0), 24, "Wrong interpolated temperature")
285+
assert_equal(
286+
interp_field(time=300, axial=0.3), 17.34, "Wrong interpolated temperature"
287+
)
274288

275289

276290
# %% Run tests

tests/test_temp.csv

+13-11
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
1-
"time", "axial", "Temperature"
2-
0, 0.0, 20
3-
0, 0.5, 20
4-
0, 1.0, 20
5-
1800, 0.0, 25
6-
1800, 0.5, 25
7-
1800, 1.0, 25
8-
3600, 0.0, 30
9-
3600, 0.5, 30
10-
3600, 1.0, 30
11-
1+
"time","axial","Temperature"
2+
0,0.0,20
3+
0,0.5,15
4+
1500,0.0,22
5+
1500,0.5,16.5
6+
1800,0.0,25
7+
1500,1.0,11
8+
3600,0.5,22.5
9+
0,1.0,10
10+
1800,1.0,12.5
11+
3600,0.0,30
12+
1800,0.5,18.75
13+
3600,1.0,15

0 commit comments

Comments
 (0)