Skip to content

Commit 804b989

Browse files
committed
Add tests to check if attrs are kept after regridding
1 parent b383bd1 commit 804b989

File tree

2 files changed

+45
-0
lines changed

2 files changed

+45
-0
lines changed

tests/test_most_common.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ def dummy_lc_data():
3333
"longitude": (["longitude"], lon_coords),
3434
"latitude": (["latitude"], lat_coords),
3535
},
36+
attrs={"test": "not empty"},
3637
)
3738

3839

@@ -77,3 +78,20 @@ def test_most_common(dummy_lc_data, dummy_target_grid):
7778
dummy_lc_data.regrid.most_common(dummy_target_grid)["lc"],
7879
expected["lc"],
7980
)
81+
82+
83+
def test_attrs_dataarray(dummy_lc_data, dummy_target_grid):
84+
dummy_lc_data["lc"].attrs = {"test": "testing"}
85+
da_regrid = dummy_lc_data["lc"].regrid.most_common(
86+
dummy_target_grid
87+
)
88+
assert da_regrid.attrs != {}
89+
assert da_regrid.attrs == dummy_lc_data["lc"].attrs
90+
91+
92+
def test_attrs_dataset(dummy_lc_data, dummy_target_grid):
93+
ds_regrid = dummy_lc_data.regrid.most_common(
94+
dummy_target_grid,
95+
)
96+
assert ds_regrid.attrs != {}
97+
assert ds_regrid.attrs == dummy_lc_data.attrs

tests/test_regrid.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from copy import deepcopy
12
from pathlib import Path
23

34
import pytest
@@ -123,3 +124,29 @@ def test_conservative_nans(conservative_input_data, conservative_sample_grid):
123124
rtol=0.002,
124125
atol=2e-6,
125126
)
127+
128+
129+
@pytest.mark.parametrize("method", ["linear", "nearest", "cubic"])
130+
def test_attrs_dataarray(sample_input_data, sample_grid_ds, method):
131+
regridder = getattr(sample_input_data["d2m"].regrid, method)
132+
assert regridder(sample_grid_ds).attrs == sample_input_data["d2m"].attrs
133+
134+
135+
def test_attrs_dataarray_conservative(sample_input_data, sample_grid_ds):
136+
da_regrid = sample_input_data["d2m"].regrid.conservative(
137+
sample_grid_ds, latitude_coord="latitude"
138+
)
139+
assert da_regrid.attrs == sample_input_data["d2m"].attrs
140+
141+
142+
@pytest.mark.parametrize("method", ["linear", "nearest", "cubic"])
143+
def test_attrs_dataset(sample_input_data, sample_grid_ds, method):
144+
regridder = getattr(sample_input_data.regrid, method)
145+
assert regridder(sample_grid_ds).attrs == sample_input_data.attrs
146+
147+
148+
def test_attrs_dataset_conservative(sample_input_data, sample_grid_ds):
149+
ds_regrid = sample_input_data.regrid.conservative(
150+
sample_grid_ds, latitude_coord="latitude"
151+
)
152+
assert ds_regrid.attrs == sample_input_data.attrs

0 commit comments

Comments
 (0)