#1146573 pyresample: FTBFS due to test failures

#1146573#5
Date:
2026-09-03 10:48:39 UTC
From:
To:
Dear Maintainer,

Your package FBTFS during the python3.14-only transition due to test failures (possibly caused by changes in GEOS 3.15.0):


=================================== FAILURES ===================================
E       AssertionError:
E       Not equal to tolerance rtol=1e-07, atol=0
E
E       Mismatched elements: 18 / 20 (90%)
E       First 5 mismatches are at indices:
E        [0, 0]: -75.4251621 (ACTUAL), -79.2337283163657 (DESIRED)
E        [0, 1]: 35.343289 (ACTUAL), 6.94302533272623e-15 (DESIRED)
E        [1, 0]: -56.8985178 (ACTUAL), -75.42516214783112 (DESIRED)
E        [1, 1]: 69.0053314 (ACTUAL), 35.343288971854214 (DESIRED)
E        [2, 0]: 56.8985178 (ACTUAL), -56.89851775032484 (DESIRED)
E       Max absolute difference among violations: 113.79703555
E       Max relative difference among violations: 5.09047386e+15
E        ACTUAL: array([[-7.542516e+01,  3.534329e+01],
E              [-5.689852e+01,  6.900533e+01],
E              [ 5.689852e+01,  6.900533e+01],...
E        DESIRED: array([[-7.923373e+01,  6.943025e-15],
E              [-7.542516e+01,  3.534329e+01],
E              [-5.689852e+01,  6.900533e+01],...

pyresample/test/test_geometry/test_area_boundary.py:106: AssertionError
_ TestGeostationaryTools.test_get_geostationary_bbox_works_with_truncated_area[AreaDefinition] _

self = <pyresample.test.test_geometry.test_area_boundary.TestGeostationaryTools object at 0x7f13432c6ea0>
truncated_geos_area = Area ID:
Description:
Projection: {'a': '6378169', 'h': '35785831', 'lon_0': '9.5', 'no_defs': 'None', 'proj': 'geos...0'}
Number of columns: 1392
Number of rows: 3712
Area extent: (5567248.0742, 5570248.4773, -5570248.4773, 1393687.2705)

    def test_get_geostationary_bbox_works_with_truncated_area(self, truncated_geos_area):
        """Ensure the geostationary bbox works when truncated."""
        lon, lat = get_geostationary_bounding_box_in_lonlats(truncated_geos_area, 20)

        expected_lon = np.array(
            [-64.24072434653284, -68.69662326361153, -65.92516214783112, -60.726360278290336,
             -47.39851775032484, 9.500000000000018, 66.39851775032487, 79.72636027829033,
             84.92516214783113, 87.69662326361151, 83.24072434653286])
        expected_lat = np.array(
            [14.554922655532085, 17.768795771961937, 35.34328897185421, 52.597860701318254, 69.00533141646078,
             79.1481121862375, 69.00533141646076, 52.597860701318254, 35.34328897185421, 17.768795771961933,
             14.554922655532085])
E       AssertionError:
E       Not equal to tolerance rtol=1e-07, atol=0
E
E       Mismatched elements: 11 / 11 (100%)
E       First 5 mismatches are at indices:
E        [0]: 83.24072434653286 (ACTUAL), -64.24072434653284 (DESIRED)
E        [1]: -64.24072434653284 (ACTUAL), -68.69662326361153 (DESIRED)
E        [2]: -68.69662326361153 (ACTUAL), -65.92516214783112 (DESIRED)
E        [3]: -65.92516214783112 (ACTUAL), -60.726360278290336 (DESIRED)
E        [4]: -60.726360278290336 (ACTUAL), -47.39851775032484 (DESIRED)
E       Max absolute difference among violations: 147.48144869
E       Max relative difference among violations: 5.98931766
E        ACTUAL: array([ 83.240724, -64.240724, -68.696623, -65.925162, -60.72636 ,
E              -47.398518,   9.5     ,  66.398518,  79.72636 ,  84.925162,
E               87.696623])
E        DESIRED: array([-64.240724, -68.696623, -65.925162, -60.72636 , -47.398518,
E                9.5     ,  66.398518,  79.72636 ,  84.925162,  87.696623,
E               83.240724])

pyresample/test/test_geometry/test_area_boundary.py:207: AssertionError
_ TestGeostationaryTools.test_get_geostationary_bbox_works_with_truncated_area_proj_coords[AreaDefinition] _

self = <pyresample.test.test_geometry.test_area_boundary.TestGeostationaryTools object at 0x7f13430d2360>
truncated_geos_area = Area ID:
Description:
Projection: {'a': '6378169', 'h': '35785831', 'lon_0': '9.5', 'no_defs': 'None', 'proj': 'geos...0'}
Number of columns: 1392
Number of rows: 3712
Area extent: (5567248.0742, 5570248.4773, -5570248.4773, 1393687.2705)

    def test_get_geostationary_bbox_works_with_truncated_area_proj_coords(self, truncated_geos_area):
        """Ensure the geostationary bbox works when truncated."""
        x, y = get_geostationary_bounding_box_in_proj_coords(truncated_geos_area, 20)

        expected_x = np.array(
            [-5209128.302753595, -5164828.965702432, -4393465.934674804, -3192039.8468840676, -1678154.6586309497,
             3.325297262895822e-10, 1678154.6586309501, 3192039.846884068, 4393465.934674805, 5164828.965702432,
             5209128.302753594])
        expected_y = np.array(
            [1393687.2705, 1672427.7900638399, 3181146.6955466354, 4378472.798117005, 5147203.47659387,
             5412090.016106332, 5147203.476593869, 4378472.798117005, 3181146.695546635, 1672427.7900638392,
             1393687.2705])
E       AssertionError:
E       Not equal to tolerance rtol=1e-07, atol=0
E
E       Mismatched elements: 11 / 11 (100%)
E       First 5 mismatches are at indices:
E        [0]: 5209128.302753594 (ACTUAL), -5209128.302753595 (DESIRED)
E        [1]: -5209128.302753595 (ACTUAL), -5164828.965702432 (DESIRED)
E        [2]: -5164828.965702432 (ACTUAL), -4393465.934674804 (DESIRED)
E        [3]: -4393465.934674804 (ACTUAL), -3192039.8468840676 (DESIRED)
E        [4]: -3192039.8468840676 (ACTUAL), -1678154.6586309497 (DESIRED)
E       Max absolute difference among violations: 10418256.60550719
E       Max relative difference among violations: 5.0466305e+15
E        ACTUAL: array([ 5.209128e+06, -5.209128e+06, -5.164829e+06, -4.393466e+06,
E              -3.192040e+06, -1.678155e+06,  3.325297e-10,  1.678155e+06,
E               3.192040e+06,  4.393466e+06,  5.164829e+06])
E        DESIRED: array([-5.209128e+06, -5.164829e+06, -4.393466e+06, -3.192040e+06,
E              -1.678155e+06,  3.325297e-10,  1.678155e+06,  3.192040e+06,
E               4.393466e+06,  5.164829e+06,  5.209128e+06])

pyresample/test/test_geometry/test_area_boundary.py:223: AssertionError
_______ TestBoundary.test_geostationary_projection[LegacyAreaDefinition] _______

self = <pyresample.test.test_geometry.test_area_boundary.TestBoundary object at 0x7f13487f4710>
geos_fd_area = Area ID: test_area
Description:
Projection: {'a': '6378169', 'h': '35785831', 'lon_0': '0', 'no_defs': 'None', 'proj'...'0', 'y_0': '0'}
Number of columns: 100
Number of rows: 100
Area extent: (-5500000.0, -5500000.0, 5500000.0, 5500000.0)

    def test_geostationary_projection(self, geos_fd_area):
        """Test boundary for geostationary projection."""
        areadef = geos_fd_area

        # Check default boundary shape
        default_n_vertices = 50
        boundary = areadef.boundary(vertices_per_side=None)
        assert boundary.vertices.shape == (default_n_vertices, 2)

        # Check minimum boundary vertices
        n_vertices = 3
        minimum_n_vertices = 4
        boundary = areadef.boundary(vertices_per_side=n_vertices)
        assert boundary.vertices.shape == (minimum_n_vertices, 2)

        # Check odd vertices_per_side number
        # - Rounded to the sequent even number (to construct the sides)
        n_odd_vertices = 5
        boundary = areadef.boundary(vertices_per_side=n_odd_vertices)
        assert boundary.vertices.shape == (n_odd_vertices + 1, 2)

        # Check boundary vertices
        n_vertices = 10
        boundary = areadef.boundary(vertices_per_side=n_vertices, force_clockwise=False)

        # Check boundary vertices is in correct order
        expected_vertices = np.array([[-7.54251621e+01, 3.53432890e+01],
                                      [-5.68985178e+01, 6.90053314e+01],
                                      [5.68985178e+01, 6.90053314e+01],
                                      [7.54251621e+01, 3.53432890e+01],
                                      [7.92337283e+01, -0.00000000e+00],
                                      [7.54251621e+01, -3.53432890e+01],
                                      [5.68985178e+01, -6.90053314e+01],
                                      [-5.68985178e+01, -6.90053314e+01],
                                      [-7.54251621e+01, -3.53432890e+01],
                                      [-7.92337283e+01, 6.94302533e-15]])
E       AssertionError:
E       Not equal to tolerance rtol=1e-07, atol=0
E
E       Mismatched elements: 18 / 20 (90%)
E       First 5 mismatches are at indices:
E        [0, 0]: -75.4251621 (ACTUAL), -79.2337283163657 (DESIRED)
E        [0, 1]: 35.343289 (ACTUAL), 6.94302533272623e-15 (DESIRED)
E        [1, 0]: -56.8985178 (ACTUAL), -75.42516214783112 (DESIRED)
E        [1, 1]: 69.0053314 (ACTUAL), 35.343288971854214 (DESIRED)
E        [2, 0]: 56.8985178 (ACTUAL), -56.89851775032484 (DESIRED)
E       Max absolute difference among violations: 113.79703555
E       Max relative difference among violations: 5.09047386e+15
E        ACTUAL: array([[-7.542516e+01,  3.534329e+01],
E              [-5.689852e+01,  6.900533e+01],
E              [ 5.689852e+01,  6.900533e+01],...
E        DESIRED: array([[-7.923373e+01,  6.943025e-15],
E              [-7.542516e+01,  3.534329e+01],
E              [-5.689852e+01,  6.900533e+01],...

pyresample/test/test_geometry/test_area_boundary.py:106: AssertionError
_ TestGeostationaryTools.test_get_geostationary_bbox_works_with_truncated_area[LegacyAreaDefinition] _

self = <pyresample.test.test_geometry.test_area_boundary.TestGeostationaryTools object at 0x7f13432c6d70>
truncated_geos_area = Area ID: test_area
Description:
Projection: {'a': '6378169', 'h': '35785831', 'lon_0': '9.5', 'no_defs': 'None', 'pro...0'}
Number of columns: 1392
Number of rows: 3712
Area extent: (5567248.0742, 5570248.4773, -5570248.4773, 1393687.2705)

    def test_get_geostationary_bbox_works_with_truncated_area(self, truncated_geos_area):
        """Ensure the geostationary bbox works when truncated."""
        lon, lat = get_geostationary_bounding_box_in_lonlats(truncated_geos_area, 20)

        expected_lon = np.array(
            [-64.24072434653284, -68.69662326361153, -65.92516214783112, -60.726360278290336,
             -47.39851775032484, 9.500000000000018, 66.39851775032487, 79.72636027829033,
             84.92516214783113, 87.69662326361151, 83.24072434653286])
        expected_lat = np.array(
            [14.554922655532085, 17.768795771961937, 35.34328897185421, 52.597860701318254, 69.00533141646078,
             79.1481121862375, 69.00533141646076, 52.597860701318254, 35.34328897185421, 17.768795771961933,
             14.554922655532085])
E       AssertionError:
E       Not equal to tolerance rtol=1e-07, atol=0
E
E       Mismatched elements: 11 / 11 (100%)
E       First 5 mismatches are at indices:
E        [0]: 83.24072434653286 (ACTUAL), -64.24072434653284 (DESIRED)
E        [1]: -64.24072434653284 (ACTUAL), -68.69662326361153 (DESIRED)
E        [2]: -68.69662326361153 (ACTUAL), -65.92516214783112 (DESIRED)
E        [3]: -65.92516214783112 (ACTUAL), -60.726360278290336 (DESIRED)
E        [4]: -60.726360278290336 (ACTUAL), -47.39851775032484 (DESIRED)
E       Max absolute difference among violations: 147.48144869
E       Max relative difference among violations: 5.98931766
E        ACTUAL: array([ 83.240724, -64.240724, -68.696623, -65.925162, -60.72636 ,
E              -47.398518,   9.5     ,  66.398518,  79.72636 ,  84.925162,
E               87.696623])
E        DESIRED: array([-64.240724, -68.696623, -65.925162, -60.72636 , -47.398518,
E                9.5     ,  66.398518,  79.72636 ,  84.925162,  87.696623,
E               83.240724])

pyresample/test/test_geometry/test_area_boundary.py:207: AssertionError
_ TestGeostationaryTools.test_get_geostationary_bbox_works_with_truncated_area_proj_coords[LegacyAreaDefinition] _

self = <pyresample.test.test_geometry.test_area_boundary.TestGeostationaryTools object at 0x7f13487f4830>
truncated_geos_area = Area ID: test_area
Description:
Projection: {'a': '6378169', 'h': '35785831', 'lon_0': '9.5', 'no_defs': 'None', 'pro...0'}
Number of columns: 1392
Number of rows: 3712
Area extent: (5567248.0742, 5570248.4773, -5570248.4773, 1393687.2705)

    def test_get_geostationary_bbox_works_with_truncated_area_proj_coords(self, truncated_geos_area):
        """Ensure the geostationary bbox works when truncated."""
        x, y = get_geostationary_bounding_box_in_proj_coords(truncated_geos_area, 20)

        expected_x = np.array(
            [-5209128.302753595, -5164828.965702432, -4393465.934674804, -3192039.8468840676, -1678154.6586309497,
             3.325297262895822e-10, 1678154.6586309501, 3192039.846884068, 4393465.934674805, 5164828.965702432,
             5209128.302753594])
        expected_y = np.array(
            [1393687.2705, 1672427.7900638399, 3181146.6955466354, 4378472.798117005, 5147203.47659387,
             5412090.016106332, 5147203.476593869, 4378472.798117005, 3181146.695546635, 1672427.7900638392,
             1393687.2705])
E       AssertionError:
E       Not equal to tolerance rtol=1e-07, atol=0
E
E       Mismatched elements: 11 / 11 (100%)
E       First 5 mismatches are at indices:
E        [0]: 5209128.302753594 (ACTUAL), -5209128.302753595 (DESIRED)
E        [1]: -5209128.302753595 (ACTUAL), -5164828.965702432 (DESIRED)
E        [2]: -5164828.965702432 (ACTUAL), -4393465.934674804 (DESIRED)
E        [3]: -4393465.934674804 (ACTUAL), -3192039.8468840676 (DESIRED)
E        [4]: -3192039.8468840676 (ACTUAL), -1678154.6586309497 (DESIRED)
E       Max absolute difference among violations: 10418256.60550719
E       Max relative difference among violations: 5.0466305e+15
E        ACTUAL: array([ 5.209128e+06, -5.209128e+06, -5.164829e+06, -4.393466e+06,
E              -3.192040e+06, -1.678155e+06,  3.325297e-10,  1.678155e+06,
E               3.192040e+06,  4.393466e+06,  5.164829e+06])
E        DESIRED: array([-5.209128e+06, -5.164829e+06, -4.393466e+06, -3.192040e+06,
E              -1.678155e+06,  3.325297e-10,  1.678155e+06,  3.192040e+06,
E               4.393466e+06,  5.164829e+06,  5.209128e+06])

pyresample/test/test_geometry/test_area_boundary.py:223: AssertionError

E       AssertionError:
E       Not equal to tolerance rtol=1e-07, atol=1e-07
E
E       Mismatched elements: 20 / 20 (100%)
E       First 5 mismatches are at indices:
E        [0]: -79.2337283163657 (ACTUAL), -78.19662326 (DESIRED)
E        [1]: -78.19662326361153 (ACTUAL), -75.42516215 (DESIRED)
E        [2]: -75.42516214783112 (ACTUAL), -70.22636028 (DESIRED)
E        [3]: -70.22636027829033 (ACTUAL), -56.89851775 (DESIRED)
E        [4]: -56.89851775032484 (ACTUAL), 0.0 (DESIRED)
E       Max absolute difference among violations: 56.89851775
E       Max relative difference among violations: 1.
E        ACTUAL: array([-7.923373e+01, -7.819662e+01, -7.542516e+01, -7.022636e+01,
E              -5.689852e+01,  1.810069e-14,  5.689852e+01,  7.022636e+01,
E               7.542516e+01,  7.819662e+01,  7.923373e+01,  7.819662e+01,...
E        DESIRED: array([-78.196623, -75.425162, -70.22636 , -56.898518,   0.      ,
E               56.898518,  70.22636 ,  75.425162,  78.196623,  79.233728,
E               78.196623,  75.425162,  70.22636 ,  56.898518,   0.      ,
E              -56.898518, -70.22636 , -75.425162, -78.196623, -79.233728])

pyresample/test/test_geometry/test_area_boundary.py:263: AssertionError

https://buildd.debian.org/status/fetch.php?pkg=pyresample&arch=amd64&ver=1.35.0-3%2Bb1&stamp=1788394240&raw=0