bopen / xarray-sentinel

Xarray backend to Copernicus Sentinel-1 satellite data products
Apache License 2.0
219 stars 22 forks source link

Test failure in debian/sid #130

Open avalentino opened 11 months ago

avalentino commented 11 months ago

We are having the following error in debian/sid. I did not investigate but probably the issue is linked to the use or recent versions of some of the dependencies (maybe fsspec itself).

python3.11 -m pytest -k " not test_mosaic_slc_iw and not test_to_group_netcdf and not test_open_dataset_zip_data and not test_to_group_zarr" /<<PKGBUILDDIR>>/tests
============================= test session starts ==============================
platform linux -- Python 3.11.4, pytest-7.4.0, pluggy-1.2.0
rootdir: /<<PKGBUILDDIR>>
collected 68 items / 4 deselected / 64 selected

../../../tests/test_10_esa_safe.py .............                         [ 20%]
../../../tests/test_20_sentinel1.py ........................             [ 57%]
../../../tests/test_30_sentinel1_fsspec.py F.                            [ 60%]
../../../tests/test_30_xarray_backends.py ........................       [ 98%]
../../../tests/test_35_xarray_backends_dask.py .                         [100%]

=================================== FAILURES ===================================
_______________________________ test_get_fs_path _______________________________

    def test_get_fs_path() -> None:
        fs, path = sentinel1.get_fs_path(SLC_IW)

        assert isinstance(fs, fsspec.AbstractFileSystem)
        assert path == str(SLC_IW / "manifest.safe")

        fs2, path2 = sentinel1.get_fs_path(path, fs=fs)

        assert fs2 is fs
        assert path2 is path

        with pytest.raises(ValueError):
            sentinel1.get_fs_path("dummy*")

>       with pytest.raises(ValueError):
E       Failed: DID NOT RAISE <class 'ValueError'>

../../../tests/test_30_sentinel1_fsspec.py:68: Failed
=============================== warnings summary ===============================
xarray_sentinel/esa_safe.py:7
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_xarray-sentinel/build/xarray_sentinel/esa_safe.py:7: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
    import pkg_resources

tests/test_20_sentinel1.py::test_open_calibration_dataset
tests/test_20_sentinel1.py::test_calibrate_amplitude
tests/test_20_sentinel1.py::test_calibrate_intensity
tests/test_30_xarray_backends.py::test_open_calibration_dataset
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_xarray-sentinel/build/xarray_sentinel/sentinel1.py:116: UserWarning: Converting non-nanosecond precision datetime values to nanosecond precision. This behavior can eventually be relaxed in xarray, as it is an artifact from pandas which is now beginning to support non-nanosecond precision values. This warning is caused by passing non-nanosecond np.datetime64 or np.timedelta64 values to the DataArray or Variable constructor; it can be silenced by converting the values to nanosecond precision ahead of time.
    return xr.Dataset(data_vars=data_vars, coords=coords, attrs=attrs)

tests/test_20_sentinel1.py::test_open_noise_range_dataset
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_xarray-sentinel/build/xarray_sentinel/sentinel1.py:149: UserWarning: Converting non-nanosecond precision datetime values to nanosecond precision. This behavior can eventually be relaxed in xarray, as it is an artifact from pandas which is now beginning to support non-nanosecond precision values. This warning is caused by passing non-nanosecond np.datetime64 or np.timedelta64 values to the DataArray or Variable constructor; it can be silenced by converting the values to nanosecond precision ahead of time.
    return xr.Dataset(data_vars=data_vars, coords=coords, attrs=attrs)

tests/test_20_sentinel1.py::test_open_coordinate_conversion_dataset
tests/test_20_sentinel1.py::test_slant_range_time_to_ground_range
tests/test_20_sentinel1.py::test_ground_range_to_slant_range_time
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_xarray-sentinel/build/xarray_sentinel/sentinel1.py:217: UserWarning: Converting non-nanosecond precision datetime values to nanosecond precision. This behavior can eventually be relaxed in xarray, as it is an artifact from pandas which is now beginning to support non-nanosecond precision values. This warning is caused by passing non-nanosecond np.datetime64 or np.timedelta64 values to the DataArray or Variable constructor; it can be silenced by converting the values to nanosecond precision ahead of time.
    return xr.Dataset(data_vars=data_vars, coords=coords, attrs=attrs)

tests/test_20_sentinel1.py: 12 warnings
tests/test_30_xarray_backends.py: 11 warnings
tests/test_35_xarray_backends_dask.py: 1 warning
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_xarray-sentinel/build/xarray_sentinel/sentinel1.py:260: UserWarning: Converting non-nanosecond precision datetime values to nanosecond precision. This behavior can eventually be relaxed in xarray, as it is an artifact from pandas which is now beginning to support non-nanosecond precision values. This warning is caused by passing non-nanosecond np.datetime64 or np.timedelta64 values to the DataArray or Variable constructor; it can be silenced by converting the values to nanosecond precision ahead of time.
    ds = xr.Dataset(

tests/test_20_sentinel1.py::test_open_attitude_dataset
tests/test_30_xarray_backends.py::test_open_dataset_attitude[product_path0-IW1/VV]
tests/test_30_xarray_backends.py::test_open_dataset_attitude[product_path1-EW1/HH]
tests/test_30_xarray_backends.py::test_open_dataset_attitude[product_path2-S3/VH]
tests/test_30_xarray_backends.py::test_open_dataset_attitude[product_path3-IW/VV]
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_xarray-sentinel/build/xarray_sentinel/sentinel1.py:346: UserWarning: Converting non-nanosecond precision datetime values to nanosecond precision. This behavior can eventually be relaxed in xarray, as it is an artifact from pandas which is now beginning to support non-nanosecond precision values. This warning is caused by passing non-nanosecond np.datetime64 or np.timedelta64 values to the DataArray or Variable constructor; it can be silenced by converting the values to nanosecond precision ahead of time.
    ds = xr.Dataset(

tests/test_20_sentinel1.py::test_open_orbit_dataset
tests/test_20_sentinel1.py::test_open_sentinel1_dataset
tests/test_30_sentinel1_fsspec.py::test_open_dataset_zip_metadata
tests/test_30_xarray_backends.py::test_open_dataset_orbit[product_path0-IW1/VV]
tests/test_30_xarray_backends.py::test_open_dataset_orbit[product_path1-EW1/HH]
tests/test_30_xarray_backends.py::test_open_dataset_orbit[product_path2-S3/VH]
tests/test_30_xarray_backends.py::test_open_dataset_orbit[product_path3-IW/VV]
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_xarray-sentinel/build/xarray_sentinel/sentinel1.py:364: UserWarning: Converting non-nanosecond precision datetime values to nanosecond precision. This behavior can eventually be relaxed in xarray, as it is an artifact from pandas which is now beginning to support non-nanosecond precision values. This warning is caused by passing non-nanosecond np.datetime64 or np.timedelta64 values to the DataArray or Variable constructor; it can be silenced by converting the values to nanosecond precision ahead of time.
    ds = xr.Dataset(

tests/test_20_sentinel1.py::test_open_dc_estimate_dataset
tests/test_30_xarray_backends.py::test_open_dataset_dc_estimate[product_path0-IW1/VV]
tests/test_30_xarray_backends.py::test_open_dataset_dc_estimate[product_path1-EW1/HH]
tests/test_30_xarray_backends.py::test_open_dataset_dc_estimate[product_path2-S3/VH]
tests/test_30_xarray_backends.py::test_open_dataset_dc_estimate[product_path3-IW/VV]
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_xarray-sentinel/build/xarray_sentinel/sentinel1.py:423: UserWarning: Converting non-nanosecond precision datetime values to nanosecond precision. This behavior can eventually be relaxed in xarray, as it is an artifact from pandas which is now beginning to support non-nanosecond precision values. This warning is caused by passing non-nanosecond np.datetime64 or np.timedelta64 values to the DataArray or Variable constructor; it can be silenced by converting the values to nanosecond precision ahead of time.
    ds = xr.Dataset(

tests/test_20_sentinel1.py::test_open_azimuth_fm_rate_dataset
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_xarray-sentinel/build/xarray_sentinel/sentinel1.py:452: UserWarning: Converting non-nanosecond precision datetime values to nanosecond precision. This behavior can eventually be relaxed in xarray, as it is an artifact from pandas which is now beginning to support non-nanosecond precision values. This warning is caused by passing non-nanosecond np.datetime64 or np.timedelta64 values to the DataArray or Variable constructor; it can be silenced by converting the values to nanosecond precision ahead of time.
    ds = xr.Dataset(

tests/test_20_sentinel1.py::test_open_pol_dataset_sm
tests/test_30_xarray_backends.py::test_open_dataset_polarisation_slc[product_path2-S3/VH]
  /usr/lib/python3/dist-packages/rioxarray/_io.py:1132: NotGeoreferencedWarning: Dataset has no geotransform, gcps, or rpcs. The identity matrix will be returned.
    warnings.warn(str(rio_warning.message), type(rio_warning.message))  # type: ignore

tests/test_20_sentinel1.py::test_crop_burst_dataset
tests/test_20_sentinel1.py::test_crop_burst_dataset
  /usr/lib/python3/dist-packages/xarray/core/dataarray.py:5939: DeprecationWarning: Behaviour of argmin/argmax with neither dim nor axis argument will change to return a dict of indices of each dimension. To get a single, flat index, please use np.argmin(da.data) or np.argmax(da.data) instead of da.argmin() or da.argmax().
    result = self.variable.argmin(dim, axis, keep_attrs, skipna)

tests/test_30_xarray_backends.py::test_open_dataset_root
  /usr/lib/python3/dist-packages/xarray/backends/plugins.py:159: RuntimeWarning: 'netcdf4' fails while guessing
    warnings.warn(f"{engine!r} fails while guessing", RuntimeWarning)

tests/test_30_xarray_backends.py::test_open_dataset_root
  /usr/lib/python3/dist-packages/xarray/backends/plugins.py:159: RuntimeWarning: 'scipy' fails while guessing
    warnings.warn(f"{engine!r} fails while guessing", RuntimeWarning)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED ../../../tests/test_30_sentinel1_fsspec.py::test_get_fs_path - Failed:...
=========== 1 failed, 63 passed, 4 deselected, 57 warnings in 37.47s ===========