Skip to content

Commit

Permalink
resampling in space now works lazyli
Browse files Browse the repository at this point in the history
  • Loading branch information
konstntokas committed Oct 22, 2024
1 parent ea78604 commit 5d54262
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 9 deletions.
14 changes: 7 additions & 7 deletions test/core/resampling/test_rectify.py
Original file line number Diff line number Diff line change
Expand Up @@ -977,30 +977,30 @@ def test_rectify_dataset(self):

source_gm = GridMapping.from_dataset(source_ds, prefer_crs=CRS_WGS84)

target_ds = rectify_dataset(source_ds, source_gm=source_gm, tile_size=None)
self.assertEqual(None, target_ds.rrs_665.chunks)
target_ds = rectify_dataset(source_ds, source_gm=source_gm)
self.assertEqual(((5, 1), (5, 4)), target_ds.rrs_665.chunks)
np.testing.assert_almost_equal(
target_ds.rrs_665.values, expected_data, decimal=3
)

target_ds = rectify_dataset(source_ds, source_gm=source_gm, tile_size=5)
self.assertEqual(((5, 1), (5, 4)), target_ds.rrs_665.chunks)
target_ds = rectify_dataset(source_ds, source_gm=source_gm, tile_size=6)
self.assertEqual(((6,), (6, 3)), target_ds.rrs_665.chunks)
np.testing.assert_almost_equal(
target_ds.rrs_665.values, expected_data, decimal=3
)

target_ds = rectify_dataset(
source_ds, source_gm=source_gm, tile_size=None, is_j_axis_up=True
)
self.assertEqual(None, target_ds.rrs_665.chunks)
self.assertEqual(((5, 1), (5, 4)), target_ds.rrs_665.chunks)
np.testing.assert_almost_equal(
target_ds.rrs_665.values, expected_data[::-1], decimal=3
)

target_ds = rectify_dataset(
source_ds, source_gm=source_gm, tile_size=5, is_j_axis_up=True
source_ds, source_gm=source_gm, tile_size=6, is_j_axis_up=True
)
self.assertEqual(((5, 1), (5, 4)), target_ds.rrs_665.chunks)
self.assertEqual(((6,), (6, 3)), target_ds.rrs_665.chunks)
np.testing.assert_almost_equal(
target_ds.rrs_665.values, expected_data[::-1], decimal=3
)
4 changes: 4 additions & 0 deletions xcube/core/gridmapping/coords.py
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,10 @@ def new_grid_mapping_from_coords(
and da.allclose(x_x_diff[-1, :], x_res, atol=tolerance)
and da.allclose(y_y_diff[:, 0], y_res, atol=tolerance)
and da.allclose(y_y_diff[:, -1], y_res, atol=tolerance)
and da.all(x_y_diff[0, :] == 0)
and da.all(x_y_diff[-1, :] == 0)
and da.all(y_x_diff[0, :] == 0)
and da.all(y_x_diff[-1, :] == 0)
)
if not is_regular:
# Let diff arrays have same shape as original by
Expand Down
4 changes: 2 additions & 2 deletions xcube/core/gridmapping/regular.py
Original file line number Diff line number Diff line change
Expand Up @@ -114,8 +114,6 @@ def to_regular_grid_mapping(
tile_size: Union[int, tuple[int, int]] = None,
is_j_axis_up: bool = False,
) -> GridMapping:
if tile_size is None:
tile_size = grid_mapping.tile_size
if grid_mapping.is_regular:
if tile_size is not None or is_j_axis_up != grid_mapping.is_j_axis_up:
return grid_mapping.derive(tile_size=tile_size, is_j_axis_up=is_j_axis_up)
Expand All @@ -135,6 +133,8 @@ def to_regular_grid_mapping(
width = width if width >= 2 else 2
height = height if height >= 2 else 2

if tile_size is None:
tile_size = grid_mapping.tile_size
return new_regular_grid_mapping(
size=(width, height),
xy_min=(x_min, y_min),
Expand Down

0 comments on commit 5d54262

Please sign in to comment.