diff --git a/lib/ncdata/dataset_like.py b/lib/ncdata/dataset_like.py index 3702f95..b92ffa9 100644 --- a/lib/ncdata/dataset_like.py +++ b/lib/ncdata/dataset_like.py @@ -81,6 +81,11 @@ def __setattr__(self, attr, value): else: self.setncattr(attr, value) + def set_auto_chartostring(self, value): + if bool(value): + msg = "Cannot enable 'auto_chartostring' for Nc4Dataselike or Nc4VariableLike." + raise ValueError() + class Nc4DatasetLike(_Nc4DatalikeWithNcattrs): """ diff --git a/tests/data_testcase_schemas.py b/tests/data_testcase_schemas.py index 7622da3..ce68460 100644 --- a/tests/data_testcase_schemas.py +++ b/tests/data_testcase_schemas.py @@ -525,6 +525,7 @@ def standard_testcase(request, session_testdir): # """ "small_rotPole_precipitation", "small_FC_167", + "test_monotonic_coordinate", ], # Xarray can save ~anything "save": [r"test_monotonic_coordinate"], diff --git a/tests/integration/test_iris_xarray_roundtrips.py b/tests/integration/test_iris_xarray_roundtrips.py index d0eb2bf..51ea827 100644 --- a/tests/integration/test_iris_xarray_roundtrips.py +++ b/tests/integration/test_iris_xarray_roundtrips.py @@ -79,9 +79,19 @@ def test_roundtrip_ixi(standard_testcase, use_irislock, adjust_chunks): "testdata____ugrid__21_triangle_example", # Problem with units on time bounds "label_and_climate__small_FC_167", - # Broken UGRID files now won't load in Iris >= 3.10 - "unstructured_grid__mesh_C12", - "_unstructured_grid__theta_nodal_xios", + # # Broken UGRID files now won't load in Iris >= 3.10 + # "unstructured_grid__mesh_C12", + # "_unstructured_grid__theta_nodal_xios", + # **No** mesh files will now roundtrip, since xarray 2026.04.0. + # This is because xarray now normalises the array type when loading + # from ncdata, removing masks and converting to nanarrays (thus making ints + # into floats). + # Previously we could create xarray Datasets with masked integer variables + # as data -- though that was alwaysobviously a bit tricksy. + # Iris can't accept the new form as it insists on integer types for + # mesh connectivities :-( + # TODO: do something to get this working again? + "unstructured", ] ) if any(key in standard_testcase.name for key in exclude_case_keys):