Between v3.14.0 and v3.16.0, there is a bug which incorrectly positions the data for cyclic subspaces that span the edges of the array - the coordinate metadata are correct but the data array is anchored on its origin left-hand edge, rather than the new origin.
For subspaces derived from 2-d coordinates (e.g. the latitude and longitude of tripolar ocean grids) thee is no problem.
For example:
>>> import cf
>>> f = cf.example_field(0)
>>> g = f[:, -3:-5:1]
>>> print(f)
Field: specific_humidity (ncvar%q)
----------------------------------
Data : specific_humidity(latitude(5), longitude(8)) 1
Cell methods : area: mean
Dimension coords: latitude(5) = [-75.0, ..., 75.0] degrees_north
: longitude(8) = [22.5, ..., 337.5] degrees_east
: time(1) = [2019-01-01 00:00:00]
>>> print(g)
Field: specific_humidity (ncvar%q)
----------------------------------
Data : specific_humidity(latitude(5), longitude(6)) 1
Cell methods : area: mean
Dimension coords: latitude(5) = [-75.0, ..., 75.0] degrees_north
: longitude(6) = [-112.5, ..., 112.5] degrees_east
: time(1) = [2019-01-01 00:00:00]g = f[:, -3:-5:1]
>>> f[:, :6].data.equals(g[:, :6].data, verbose=2) # THIS SHOULD BE False
True
>>> f[:, -3:].data.equals(g[:, :3].data, verbose=2) # THIS SHOULD BE True
False
Between v3.14.0 and v3.16.0, there is a bug which incorrectly positions the data for cyclic subspaces that span the edges of the array - the coordinate metadata are correct but the data array is anchored on its origin left-hand edge, rather than the new origin.
For subspaces derived from 2-d coordinates (e.g. the latitude and longitude of tripolar ocean grids) thee is no problem.
For example: