Bug#1050832: sarsen: autopkgtest needs update for python-xarray 2023.08.0

2023-09-01 Thread Antonio Valentino

Dear Graham,

On Wed, 30 Aug 2023 08:08:49 + Graham Inggs  wrote:

Control: severity -1 serious
Control: tags -1 + ftbfs

As can be seen on reproducible builds [1], this same error causes
sarsen to FTBFS in unstable.


[1] https://tests.reproducible-builds.org/debian/rb-pkg/sarsen.html


I think that this is a regression in xarray v2023.08.0.
I have tested sarsen with the latest development version of xarray from 
git main, and it works correctly.


Apparently the fix is in the PR #8094 
(https://github.com/pydata/xarray/pull/8094) merged tree days ago.


If it is OK for you I will re-assigning the issue to xarray.


kind regards
--
Antonio Valentino



Bug#1050832: sarsen: autopkgtest needs update for python-xarray 2023.08.0

2023-08-30 Thread Graham Inggs
Control: severity -1 serious
Control: tags -1 + ftbfs

As can be seen on reproducible builds [1], this same error causes
sarsen to FTBFS in unstable.


[1] https://tests.reproducible-builds.org/debian/rb-pkg/sarsen.html



Bug#1050832: sarsen: autopkgtest needs update for python-xarray 2023.08.0

2023-08-29 Thread Graham Inggs
Source: sarsen
Version: 0.9.3+ds-2
User: debian...@lists.debian.org
Usertags: needs-update

Hi Maintainer

Since the upload of python-xarray 2023.08.0-1, the autopkgtests of
sarsen are failing [1].  I've copied what I hope is the relevant part
of the log below.

Regards
Graham


[1] https://ci.debian.net/packages/s/sarsen/testing/amd64/


 54s === FAILURES
===
 54s  test_compute_dem_oriented_area

 54s
 54s dem_raster = 
 54s [129600 values with dtype=float32]
 54s Coordinates:
 54s   * x(x) float6405
 54s spatial_ref  int64 ...
 54s Attributes:
 54s AREA_OR_POINT:  Area
 54s units:  m
 54s long_name:  elevation
 54s
 54s def test_compute_dem_oriented_area(dem_raster: xr.DataArray) -> None:
 54s dem_3d = scene.convert_to_dem_3d(dem_raster)
 54s
 54s >   res = scene.compute_dem_oriented_area(dem_3d)
 54s
 54s ../build.cju/src/tests/test_10_scene.py:39:
 54s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _
 54s /usr/lib/python3/dist-packages/sarsen/scene.py:110: in
compute_dem_oriented_area
 54s cross_2 = xr.cross(dx2, dy2, dim="axis") / 2
 54s /usr/lib/python3/dist-packages/xarray/core/computation.py:1609: in cross
 54s c = apply_ufunc(
 54s /usr/lib/python3/dist-packages/xarray/core/computation.py:1197:
in apply_ufunc
 54s return apply_dataarray_vfunc(
 54s /usr/lib/python3/dist-packages/xarray/core/computation.py:288: in
apply_dataarray_vfunc
 54s args = deep_align(
 54s /usr/lib/python3/dist-packages/xarray/core/alignment.py:847: in deep_align
 54s aligned = align(
 54s /usr/lib/python3/dist-packages/xarray/core/alignment.py:783: in align
 54s aligner.align()
 54s /usr/lib/python3/dist-packages/xarray/core/alignment.py:568: in align
 54s self.align_indexes()
 54s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _
 54s
 54s self = 
 54s
 54s def align_indexes(self) -> None:
 54s """Compute all aligned indexes and their corresponding
coordinate variables."""
 54s
 54s aligned_indexes = {}
 54s aligned_index_vars = {}
 54s reindex = {}
 54s new_indexes = {}
 54s new_index_vars = {}
 54s
 54s for key, matching_indexes in self.all_indexes.items():
 54s matching_index_vars = self.all_index_vars[key]
 54s dims = {d for coord in
matching_index_vars[0].values() for d in coord.dims}
 54s index_cls = key[1]
 54s
 54s if self.join == "override":
 54s joined_index = matching_indexes[0]
 54s joined_index_vars = matching_index_vars[0]
 54s need_reindex = False
 54s elif key in self.indexes:
 54s joined_index = self.indexes[key]
 54s joined_index_vars = self.index_vars[key]
 54s cmp_indexes = list(
 54s zip(
 54s [joined_index] + matching_indexes,
 54s [joined_index_vars] + matching_index_vars,
 54s )
 54s )
 54s need_reindex = self._need_reindex(dims, cmp_indexes)
 54s else:
 54s if len(matching_indexes) > 1:
 54s need_reindex = self._need_reindex(
 54s dims,
 54s list(zip(matching_indexes, matching_index_vars)),
 54s )
 54s else:
 54s need_reindex = False
 54s if need_reindex:
 54s if self.join == "exact":
 54s >   raise ValueError(
 54s "cannot align objects with join='exact' where "
 54s "index/labels/sizes are not equal along "
 54s "these coordinates (dimensions): "
 54s + ", ".join(f"{name!r} {dims!r}" for
name, dims in key[0])
 54s )
 54s E   ValueError: cannot align objects with
join='exact' where index/labels/sizes are not equal along these
coordinates (dimensions): 'x' ('x',)
 54s
 54s /usr/lib/python3/dist-packages/xarray/core/alignment.py:415: ValueError