Skip to content

Commit e0b5b9f

Browse files
committed
Patch return of XGrid.search() to match BaseGrid
1 parent 417126a commit e0b5b9f

2 files changed

Lines changed: 4 additions & 3 deletions

File tree

parcels/xgrid.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ def search(self, z, y, x, ei=None, search2D=False):
191191
if ds.lon.ndim == 1:
192192
yi, eta = _search_1d_array(ds.lat.values, y)
193193
xi, xsi = _search_1d_array(ds.lon.values, x)
194-
return (zi, yi, xi), np.array([eta, xsi, 1 - eta, 1 - xsi])
194+
return self.ravel_index(zi, yi, xi), np.array([eta, xsi, 1 - eta, 1 - xsi])
195195

196196
yi, xi = None, None
197197
if ei is not None:
@@ -200,7 +200,7 @@ def search(self, z, y, x, ei=None, search2D=False):
200200
if ds.lon.ndim == 2:
201201
eta, xsi, yi, xi = _search_indices_curvilinear_2d(self, y, x, yi, xi)
202202

203-
return (zi, yi, xi), np.array([eta, xsi, 1 - eta, 1 - xsi])
203+
return self.ravel_index(zi, yi, xi), np.array([eta, xsi, 1 - eta, 1 - xsi])
204204

205205
raise NotImplementedError("Searching in >2D lon/lat arrays is not implemented yet.")
206206

tests/v4/test_xgrid.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,8 @@ def test_xgrid_search_cpoints(ds):
157157
for xi in range(grid.xdim - 1):
158158
for yi in range(grid.ydim - 1):
159159
lat, lon = lat_array[yi, xi], lon_array[yi, xi]
160-
(zi_test, yi_test, xi_test), bcoords = grid.search(0, lat, lon, ei=None, search2D=True)
160+
ei, bcoords = grid.search(0, lat, lon, ei=None, search2D=True)
161+
zi_test, yi_test, xi_test = grid.unravel_index(ei)
161162
assert xi == xi_test
162163
assert yi == yi_test
163164
assert zi_test == 0

0 commit comments

Comments
 (0)