@@ -263,14 +263,28 @@ def test_field_interpolation_and_derivatives():
263
263
def test_field_from_csv ():
264
264
"""Test reading field from csv."""
265
265
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
+
269
276
field = Field (
270
277
name = "temp_field" ,
271
278
dimensions = {"time" : dim_time , "axial" : dim_axial },
272
279
data = values ,
273
280
)
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
+ )
274
288
275
289
276
290
# %% Run tests
0 commit comments