diff --git a/.github/workflows/ci-tests.yml b/.github/workflows/ci-tests.yml index ffeb139..845eb51 100644 --- a/.github/workflows/ci-tests.yml +++ b/.github/workflows/ci-tests.yml @@ -81,6 +81,14 @@ jobs: mkdir --parents ${GITHUB_WORKSPACE}/iris_test_data mv iris-test-data-${IRIS_TEST_DATA_VERSION} ${GITHUB_WORKSPACE}/iris_test_data_download + - name: "TEMPORARY: install specific Iris from pp-mo/lazy_encoding" + run: | + cd ${GITHUB_WORKSPACE} + git clone https://github.com/pp-mo/iris.git ./iris2 + cd ./iris2 + git checkout lazy_encoding + pip install -e . + - name: "Run tests" if: matrix.session == 'tests' run: | diff --git a/docs/userdocs/getting_started/introduction.rst b/docs/userdocs/getting_started/introduction.rst index 0a4a51d..22d4e81 100644 --- a/docs/userdocs/getting_started/introduction.rst +++ b/docs/userdocs/getting_started/introduction.rst @@ -265,9 +265,9 @@ Example code snippets : Dimensions: (dim0: 3) Dimensions without coordinates: dim0 Data variables: - vx0 (dim0) int64 ... dask.array - vx1 (dim0) int64 ... dask.array - v_mag (dim0) float64 ... dask.array + vx0 (dim0) ... dask.array changing dtype, since xarray>v2026.02.0 + "testing__cell_methods", # coordinate attributes on mesh coordinate variables - "testdata____unstructured_grid__data_C4", "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", + # **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): @@ -209,14 +215,15 @@ def test_roundtrip_xix( # float time(time) ; # time:bounds = 'time_bnds' # float time_bnds(time, time_bnds) ; - "label_and_climate__small_FC_167", - "rotated__xyt__small_rotPole_precipitation", - # This one fails to load in xarray, for somewhat unclear reasons - # NotImplementedError: Can not use auto rechunking with object dtype. - # We are unable to estimate the size in bytes of object data - "unstructured_grid__lfric_surface_mean", - # Iris loses the name of the unstructured dimension, causing multiple problems - "unstructured_grid__data_C4", + # TEMP - re-enable ?? + # "label_and_climate__small_FC_167", + # "rotated__xyt__small_rotPole_precipitation", + # # This one fails to load in xarray, for somewhat unclear reasons + # # NotImplementedError: Can not use auto rechunking with object dtype. + # # We are unable to estimate the size in bytes of object data + # "unstructured_grid__lfric_surface_mean", + # # Iris loses the name of the unstructured dimension, causing multiple problems + # "unstructured_grid__data_C4", ] if any(key in standard_testcase.name for key in excluded_casename_keys): pytest.skip("excluded testcase")