Skip to content

Commit 123f22b

Browse files
committed
test that data encoding is preserved
1 parent 2d3f448 commit 123f22b

File tree

2 files changed

+20
-3
lines changed

2 files changed

+20
-3
lines changed

tests/conftest.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@ def generate_silly_vt_dataset():
114114
),
115115
}
116116
)
117+
eastern_boundary.time.attrs = {"units":"days"}
117118
return eastern_boundary
118119

119120

tests/test_regridding.py

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,11 @@ def test_fill_missing_data(generate_silly_vt_dataset):
2323
"""
2424
ds = generate_silly_vt_dataset
2525
ds["temp"][0, 0, 6:10, 0] = np.nan
26-
26+
ds.temp.attrs = {"units":"C"}
2727
ds = rgd.fill_missing_data(ds, "silly_depth", fill="f")
28-
28+
assert (
29+
ds.temp.attrs == {"units":"C"}
30+
) # Assert that attributes are retained
2931
assert (
3032
ds["temp"][0, 0, 6:10, 0] == (ds["temp"][0, 0, 5, 0])
3133
).all() # Assert if we are forward filling in time
@@ -37,15 +39,18 @@ def test_fill_missing_data(generate_silly_vt_dataset):
3739

3840
def test_add_or_update_time_dim(generate_silly_vt_dataset):
3941
ds = generate_silly_vt_dataset
40-
ds = rgd.add_or_update_time_dim(ds, xr.DataArray([0]))
4142

43+
ds = rgd.add_or_update_time_dim(ds, xr.DataArray([0]))
44+
assert ds.time.attrs == {"units":"days"} # Assert that attributes are retained
4245
assert ds["time"].values == [0] # Assert time is added
4346
assert ds["temp"].dims[0] == "time" # Check time is first dim
4447

4548

4649
def test_generate_dz(generate_silly_vt_dataset):
4750
ds = generate_silly_vt_dataset
51+
4852
dz = rgd.generate_dz(ds, "silly_depth")
53+
assert ds.time.attrs == {"units":"days"} # Assert that attributes are retained
4954
z = np.linspace(0, 1000, 10)
5055
dz_check = np.full(z.shape, z[1] - z[0])
5156
assert (
@@ -57,9 +62,11 @@ def test_add_secondary_dimension(get_curvilinear_hgrid, generate_silly_vt_datase
5762
ds = generate_silly_vt_dataset
5863
hgrid = get_curvilinear_hgrid
5964

65+
6066
# N/S Boundary
6167
coords = rgd.coords(hgrid, "north", "segment_002")
6268
ds = rgd.add_secondary_dimension(ds, "temp", coords, "segment_002")
69+
assert ds.time.attrs == {"units":"days"} # Assert that attributes are retained
6370
assert ds["temp"].dims == (
6471
"silly_lat",
6572
"ny_segment_002",
@@ -102,7 +109,12 @@ def test_add_secondary_dimension(get_curvilinear_hgrid, generate_silly_vt_datase
102109

103110
def test_vertical_coordinate_encoding(generate_silly_vt_dataset):
104111
ds = generate_silly_vt_dataset
112+
113+
114+
105115
ds = rgd.vertical_coordinate_encoding(ds, "temp", "segment_002", "silly_depth")
116+
assert ds.time.attrs == {"units":"days"} # Assert that attributes are retained
117+
106118
assert "nz_segment_002_temp" in ds["temp"].dims
107119
assert "nz_segment_002_temp" in ds
108120
assert (
@@ -114,6 +126,8 @@ def test_generate_layer_thickness(generate_silly_vt_dataset):
114126
ds = generate_silly_vt_dataset
115127
ds["temp"] = ds["temp"].transpose("time", "silly_depth", "silly_lat", "silly_lon")
116128
ds = rgd.generate_layer_thickness(ds, "temp", "segment_002", "silly_depth")
129+
assert ds.time.attrs == {"units":"days"} # Assert that attributes are retained
130+
117131
assert "dz_temp" in ds
118132
assert ds["dz_temp"].dims == ("time", "nz_temp", "ny_segment_002", "nx_segment_002")
119133
assert (
@@ -228,6 +242,7 @@ def test_mask_dataset(get_curvilinear_hgrid):
228242
ds["temp"] = ds["temp"].expand_dims("y", axis=0)
229243
ds["temp"] = ds["temp"].expand_dims("nz_temp", axis=0)
230244
ds["temp"] = ds["temp"].expand_dims("time", axis=0)
245+
ds.temp.attrs = {"units":"C"}
231246
fill_value = 36
232247
ds = rgd.mask_dataset(
233248
ds,
@@ -237,6 +252,7 @@ def test_mask_dataset(get_curvilinear_hgrid):
237252
x_dim_name="t_points_x",
238253
fill_value=fill_value,
239254
)
255+
assert ds.temp.attrs == {"units":"C"}
240256

241257
assert (
242258
np.isnan(ds["temp"][0, 0, 0][start_ind * 2 + 2]) == False

0 commit comments

Comments
 (0)