1212from parcels ._datasets .structured .generic import T as T_structured
1313from parcels ._datasets .structured .generic import datasets as datasets_structured
1414from parcels ._datasets .unstructured .generic import datasets as datasets_unstructured
15+ from parcels .interpolators import XLinear
1516from tests import utils
1617
1718ds = datasets_structured ["ds_2d_left" ]
2122def fieldset () -> FieldSet :
2223 """Fixture to create a FieldSet object for testing."""
2324 grid = XGrid .from_dataset (ds , mesh = "flat" )
24- U = Field ("U" , ds ["U_A_grid" ], grid )
25- V = Field ("V" , ds ["V_A_grid" ], grid )
25+ U = Field ("U" , ds ["U_A_grid" ], grid , interp_method = XLinear )
26+ V = Field ("V" , ds ["V_A_grid" ], grid , interp_method = XLinear )
2627 UV = VectorField ("UV" , U , V )
2728
2829 return FieldSet (
@@ -65,7 +66,7 @@ def test_fieldset_add_constant_field(fieldset):
6566
6667def test_fieldset_add_field (fieldset ):
6768 grid = XGrid .from_dataset (ds , mesh = "flat" )
68- field = Field ("test_field" , ds ["U_A_grid" ], grid )
69+ field = Field ("test_field" , ds ["U_A_grid" ], grid , interp_method = XLinear )
6970 fieldset .add_field (field )
7071 assert fieldset .test_field == field
7172
@@ -78,7 +79,7 @@ def test_fieldset_add_field_wrong_type(fieldset):
7879
7980def test_fieldset_add_field_already_exists (fieldset ):
8081 grid = XGrid .from_dataset (ds , mesh = "flat" )
81- field = Field ("test_field" , ds ["U_A_grid" ], grid )
82+ field = Field ("test_field" , ds ["U_A_grid" ], grid , interp_method = XLinear )
8283 fieldset .add_field (field , "test_field" )
8384 with pytest .raises (ValueError , match = "FieldSet already has a Field with name 'test_field'" ):
8485 fieldset .add_field (field , "test_field" )
@@ -96,7 +97,7 @@ def test_fieldset_gridset(fieldset):
9697
9798def test_fieldset_no_UV (tmp_zarrfile ):
9899 grid = XGrid .from_dataset (ds , mesh = "flat" )
99- fieldset = FieldSet ([Field ("P" , ds ["U_A_grid" ], grid )])
100+ fieldset = FieldSet ([Field ("P" , ds ["U_A_grid" ], grid , interp_method = XLinear )])
100101
101102 def SampleP (particles , fieldset ):
102103 particles .dlon += fieldset .P [particles ]
@@ -114,7 +115,7 @@ def test_fieldset_from_structured_generic_datasets(ds):
114115 grid = XGrid .from_dataset (ds , mesh = "flat" )
115116 fields = []
116117 for var in ds .data_vars :
117- fields .append (Field (var , ds [var ], grid ))
118+ fields .append (Field (var , ds [var ], grid , interp_method = XLinear ))
118119
119120 fieldset = FieldSet (fields )
120121
@@ -130,12 +131,12 @@ def test_fieldset_gridset_multiple_grids(): ...
130131
131132def test_fieldset_time_interval ():
132133 grid1 = XGrid .from_dataset (ds , mesh = "flat" )
133- field1 = Field ("field1" , ds ["U_A_grid" ], grid1 )
134+ field1 = Field ("field1" , ds ["U_A_grid" ], grid1 , interp_method = XLinear )
134135
135136 ds2 = ds .copy ()
136137 ds2 ["time" ] = (ds2 ["time" ].dims , ds2 ["time" ].data + np .timedelta64 (timedelta (days = 1 )), ds2 ["time" ].attrs )
137138 grid2 = XGrid .from_dataset (ds2 , mesh = "flat" )
138- field2 = Field ("field2" , ds2 ["U_A_grid" ], grid2 )
139+ field2 = Field ("field2" , ds2 ["U_A_grid" ], grid2 , interp_method = XLinear )
139140
140141 fieldset = FieldSet ([field1 , field2 ])
141142 fieldset .add_constant_field ("constant_field" , 1.0 )
@@ -161,8 +162,8 @@ def test_fieldset_init_incompatible_calendars():
161162 )
162163
163164 grid = XGrid .from_dataset (ds1 , mesh = "flat" )
164- U = Field ("U" , ds1 ["U_A_grid" ], grid )
165- V = Field ("V" , ds1 ["V_A_grid" ], grid )
165+ U = Field ("U" , ds1 ["U_A_grid" ], grid , interp_method = XLinear )
166+ V = Field ("V" , ds1 ["V_A_grid" ], grid , interp_method = XLinear )
166167 UV = VectorField ("UV" , U , V )
167168
168169 ds2 = ds .copy ()
@@ -172,7 +173,7 @@ def test_fieldset_init_incompatible_calendars():
172173 ds2 ["time" ].attrs ,
173174 )
174175 grid2 = XGrid .from_dataset (ds2 , mesh = "flat" )
175- incompatible_calendar = Field ("test" , ds2 ["data_g" ], grid2 )
176+ incompatible_calendar = Field ("test" , ds2 ["data_g" ], grid2 , interp_method = XLinear )
176177
177178 with pytest .raises (CalendarError , match = "Expected field '.*' to have calendar compatible with datetime object" ):
178179 FieldSet ([U , V , UV , incompatible_calendar ])
@@ -186,7 +187,7 @@ def test_fieldset_add_field_incompatible_calendars(fieldset):
186187 ds_test ["time" ].attrs ,
187188 )
188189 grid = XGrid .from_dataset (ds_test , mesh = "flat" )
189- field = Field ("test_field" , ds_test ["data_g" ], grid )
190+ field = Field ("test_field" , ds_test ["data_g" ], grid , interp_method = XLinear )
190191
191192 with pytest .raises (CalendarError , match = "Expected field '.*' to have calendar compatible with datetime object" ):
192193 fieldset .add_field (field , "test_field" )
@@ -198,7 +199,7 @@ def test_fieldset_add_field_incompatible_calendars(fieldset):
198199 ds_test ["time" ].attrs ,
199200 )
200201 grid = XGrid .from_dataset (ds_test , mesh = "flat" )
201- field = Field ("test_field" , ds_test ["data_g" ], grid )
202+ field = Field ("test_field" , ds_test ["data_g" ], grid , interp_method = XLinear )
202203
203204 with pytest .raises (CalendarError , match = "Expected field '.*' to have calendar compatible with datetime object" ):
204205 fieldset .add_field (field , "test_field" )
@@ -328,8 +329,8 @@ def test_fieldset_from_fesom2_missingUV():
328329 _ = FieldSet .from_fesom2 (localds )
329330 assert "Dataset has only one of the two variables 'U' and 'V'" in str (info )
330331
331- # Intentionally create a dataset that is missing both U and V
332- localds = ds .rename ({"U" : "notU" , " V" : "notV" })
332+ # Intentionally create a dataset that is missing the V field
333+ localds = ds .rename ({"V" : "notV" })
333334 with pytest .raises (ValueError ) as info :
334335 _ = FieldSet .from_fesom2 (localds )
335- assert "Dataset has neither 'U' nor 'V' in potential options " in str (info )
336+ assert "Dataset has only one of the two variables 'U' and 'V'" in str (info )
0 commit comments