--- Begin Message ---
Source: cfgrib
Version: 0.9.8.4-1
Severity: serious
Justification: FTBFS on amd64
Tags: bullseye sid ftbfs
Usertags: ftbfs-20201027 ftbfs-bullseye
Hi,
During a rebuild of all packages in sid, your package failed to build
on amd64.
Relevant part (hopefully):
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> for p in python3.9 python3.8; do \
> PY3VERNUM=`echo $p | sed -e 's/python//' `; \
> pybuild --test --test-pytest -i $p -p $PY3VERNUM ; \
> done
> I: pybuild base:217: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_cfgrib/build;
> python3.9 -m pytest tests
> ============================= test session starts
> ==============================
> platform linux -- Python 3.9.0+, pytest-4.6.11, py-1.9.0, pluggy-0.13.0
> rootdir: /<<PKGBUILDDIR>>, inifile: setup.cfg
> collected 122 items / 1 skipped / 121 selected
>
> tests/test_10_bindings.py ........................ [
> 19%]
> tests/test_10_cfunits.py . [
> 20%]
> tests/test_20_cfcoords.py ...... [
> 25%]
> tests/test_20_main.py . [
> 26%]
> tests/test_20_messages.py ......... [
> 33%]
> tests/test_25_cfmessage.py ..... [
> 37%]
> tests/test_30_dataset.py ................... [
> 53%]
> tests/test_40_xarray_store.py ....... [
> 59%]
> tests/test_40_xarray_to_grib_regular_ll.py FF.FF [
> 63%]
> tests/test_50_datamodels.py .. [
> 64%]
> tests/test_50_sample_data.py ....................FFxFFFFxFFFxF [
> 91%]
> tests/test_50_xarray_getitem.py ..........
> [100%]
>
> =================================== FAILURES
> ===================================
> _______________ test_canonical_dataarray_to_grib_with_grib_keys
> ________________
>
> canonic_da = <xarray.DataArray (time: 4, step: 2, isobaricInhPa: 3, latitude:
> 5, longitude: 6)>
> array([[[[[0., 0., 0., 0., 0., 0.],... (latitude) float64 90.0 45.0 0.0
> -45.0 -90.0
> * longitude (longitude) float64 0.0 60.0 120.0 180.0 240.0 300.0
> tmpdir =
> local('/tmp/pytest-of-user42/pytest-5/test_canonical_dataarray_to_gr0')
>
> def test_canonical_dataarray_to_grib_with_grib_keys(canonic_da, tmpdir):
> out_path = tmpdir.join('res.grib')
> grib_keys = {'gridType': 'regular_ll'}
> with open(str(out_path), 'wb') as file:
> > xarray_to_grib.canonical_dataarray_to_grib(canonic_da, file,
> > grib_keys=grib_keys)
>
> tests/test_40_xarray_to_grib_regular_ll.py:30:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> cfgrib/xarray_to_grib.py:224: in canonical_dataarray_to_grib
> field_values = data_var.sel(**select).values.flat[:]
> /usr/lib/python3/dist-packages/xarray/core/dataarray.py:1143: in sel
> ds = self._to_temp_dataset().sel(
> /usr/lib/python3/dist-packages/xarray/core/dataset.py:2105: in sel
> pos_indexers, new_indexes = remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/coordinates.py:397: in
> remap_label_indexers
> pos_indexers, new_indexes = indexing.remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:275: in
> remap_label_indexers
> idxr, new_idx = convert_label_indexer(index, label, dim, method,
> tolerance)
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:196: in
> convert_label_indexer
> indexer = index.get_loc(label_value, method=method, tolerance=tolerance)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = DatetimeIndex(['2018-01-01 00:00:00', '2018-01-01 12:00:00',
> '2018-01-02 00:00:00', '2018-01-02 12:00:00'],
> dtype='datetime64[ns]', name='time', freq=None)
> key = 1514764800000000000, method = None, tolerance = None
>
> def get_loc(self, key, method=None, tolerance=None):
> """
> Get integer location for requested label
>
> Returns
> -------
> loc : int
> """
> if not is_scalar(key):
> raise InvalidIndexError(key)
>
> orig_key = key
> if is_valid_nat_for_dtype(key, self.dtype):
> key = NaT
>
> if isinstance(key, self._data._recognized_scalars):
> # needed to localize naive datetimes
> key = self._maybe_cast_for_get_loc(key)
>
> elif isinstance(key, str):
> try:
> return self._get_string_slice(key)
> except (TypeError, KeyError, ValueError, OverflowError):
> pass
>
> try:
> key = self._maybe_cast_for_get_loc(key)
> except ValueError as err:
> raise KeyError(key) from err
>
> elif isinstance(key, timedelta):
> # GH#20464
> raise TypeError(
> f"Cannot index {type(self).__name__} with
> {type(key).__name__}"
> )
>
> elif isinstance(key, time):
> if method is not None:
> raise NotImplementedError(
> "cannot yet lookup inexact labels when key is a time
> object"
> )
> return self.indexer_at_time(key)
>
> else:
> # unrecognized type
> > raise KeyError(key)
> E KeyError: 1514764800000000000
>
> /usr/lib/python3/dist-packages/pandas/core/indexes/datetimes.py:622: KeyError
> ______________ test_canonical_dataarray_to_grib_detect_grib_keys
> _______________
>
> canonic_da = <xarray.DataArray (time: 4, step: 2, isobaricInhPa: 3, latitude:
> 5, longitude: 6)>
> array([[[[[0., 0., 0., 0., 0., 0.],... (latitude) float64 90.0 45.0 0.0
> -45.0 -90.0
> * longitude (longitude) float64 0.0 60.0 120.0 180.0 240.0 300.0
> tmpdir =
> local('/tmp/pytest-of-user42/pytest-5/test_canonical_dataarray_to_gr1')
>
> def test_canonical_dataarray_to_grib_detect_grib_keys(canonic_da, tmpdir):
> out_path = tmpdir.join('res.grib')
> with open(str(out_path), 'wb') as file:
> > xarray_to_grib.canonical_dataarray_to_grib(canonic_da, file)
>
> tests/test_40_xarray_to_grib_regular_ll.py:36:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> cfgrib/xarray_to_grib.py:224: in canonical_dataarray_to_grib
> field_values = data_var.sel(**select).values.flat[:]
> /usr/lib/python3/dist-packages/xarray/core/dataarray.py:1143: in sel
> ds = self._to_temp_dataset().sel(
> /usr/lib/python3/dist-packages/xarray/core/dataset.py:2105: in sel
> pos_indexers, new_indexes = remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/coordinates.py:397: in
> remap_label_indexers
> pos_indexers, new_indexes = indexing.remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:275: in
> remap_label_indexers
> idxr, new_idx = convert_label_indexer(index, label, dim, method,
> tolerance)
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:196: in
> convert_label_indexer
> indexer = index.get_loc(label_value, method=method, tolerance=tolerance)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = DatetimeIndex(['2018-01-01 00:00:00', '2018-01-01 12:00:00',
> '2018-01-02 00:00:00', '2018-01-02 12:00:00'],
> dtype='datetime64[ns]', name='time', freq=None)
> key = 1514764800000000000, method = None, tolerance = None
>
> def get_loc(self, key, method=None, tolerance=None):
> """
> Get integer location for requested label
>
> Returns
> -------
> loc : int
> """
> if not is_scalar(key):
> raise InvalidIndexError(key)
>
> orig_key = key
> if is_valid_nat_for_dtype(key, self.dtype):
> key = NaT
>
> if isinstance(key, self._data._recognized_scalars):
> # needed to localize naive datetimes
> key = self._maybe_cast_for_get_loc(key)
>
> elif isinstance(key, str):
> try:
> return self._get_string_slice(key)
> except (TypeError, KeyError, ValueError, OverflowError):
> pass
>
> try:
> key = self._maybe_cast_for_get_loc(key)
> except ValueError as err:
> raise KeyError(key) from err
>
> elif isinstance(key, timedelta):
> # GH#20464
> raise TypeError(
> f"Cannot index {type(self).__name__} with
> {type(key).__name__}"
> )
>
> elif isinstance(key, time):
> if method is not None:
> raise NotImplementedError(
> "cannot yet lookup inexact labels when key is a time
> object"
> )
> return self.indexer_at_time(key)
>
> else:
> # unrecognized type
> > raise KeyError(key)
> E KeyError: 1514764800000000000
>
> /usr/lib/python3/dist-packages/pandas/core/indexes/datetimes.py:622: KeyError
> ________________________ test_canonical_dataset_to_grib
> ________________________
>
> canonic_da = <xarray.DataArray (time: 4, step: 2, isobaricInhPa: 3, latitude:
> 5, longitude: 6)>
> array([[[[[0., 0., 0., 0., 0., 0.],... (latitude) float64 90.0 45.0 0.0
> -45.0 -90.0
> * longitude (longitude) float64 0.0 60.0 120.0 180.0 240.0 300.0
> tmpdir =
> local('/tmp/pytest-of-user42/pytest-5/test_canonical_dataset_to_grib0')
>
> def test_canonical_dataset_to_grib(canonic_da, tmpdir):
> out_path = tmpdir.join('res.grib')
> canonic_ds = canonic_da.to_dataset(name='t')
> with pytest.warns(FutureWarning):
> > xarray_to_grib.canonical_dataset_to_grib(canonic_ds,
> > str(out_path))
>
> tests/test_40_xarray_to_grib_regular_ll.py:51:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> cfgrib/xarray_to_grib.py:265: in canonical_dataset_to_grib
> canonical_dataarray_to_grib(data_var, file, grib_keys=real_grib_keys,
> **kwargs)
> cfgrib/xarray_to_grib.py:224: in canonical_dataarray_to_grib
> field_values = data_var.sel(**select).values.flat[:]
> /usr/lib/python3/dist-packages/xarray/core/dataarray.py:1143: in sel
> ds = self._to_temp_dataset().sel(
> /usr/lib/python3/dist-packages/xarray/core/dataset.py:2105: in sel
> pos_indexers, new_indexes = remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/coordinates.py:397: in
> remap_label_indexers
> pos_indexers, new_indexes = indexing.remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:275: in
> remap_label_indexers
> idxr, new_idx = convert_label_indexer(index, label, dim, method,
> tolerance)
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:196: in
> convert_label_indexer
> indexer = index.get_loc(label_value, method=method, tolerance=tolerance)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = DatetimeIndex(['2018-01-01 00:00:00', '2018-01-01 12:00:00',
> '2018-01-02 00:00:00', '2018-01-02 12:00:00'],
> dtype='datetime64[ns]', name='time', freq=None)
> key = 1514764800000000000, method = None, tolerance = None
>
> def get_loc(self, key, method=None, tolerance=None):
> """
> Get integer location for requested label
>
> Returns
> -------
> loc : int
> """
> if not is_scalar(key):
> raise InvalidIndexError(key)
>
> orig_key = key
> if is_valid_nat_for_dtype(key, self.dtype):
> key = NaT
>
> if isinstance(key, self._data._recognized_scalars):
> # needed to localize naive datetimes
> key = self._maybe_cast_for_get_loc(key)
>
> elif isinstance(key, str):
> try:
> return self._get_string_slice(key)
> except (TypeError, KeyError, ValueError, OverflowError):
> pass
>
> try:
> key = self._maybe_cast_for_get_loc(key)
> except ValueError as err:
> raise KeyError(key) from err
>
> elif isinstance(key, timedelta):
> # GH#20464
> raise TypeError(
> f"Cannot index {type(self).__name__} with
> {type(key).__name__}"
> )
>
> elif isinstance(key, time):
> if method is not None:
> raise NotImplementedError(
> "cannot yet lookup inexact labels when key is a time
> object"
> )
> return self.indexer_at_time(key)
>
> else:
> # unrecognized type
> > raise KeyError(key)
> E KeyError: 1514764800000000000
>
> /usr/lib/python3/dist-packages/pandas/core/indexes/datetimes.py:622: KeyError
> _________________________________ test_to_grib
> _________________________________
>
> canonic_da = <xarray.DataArray (time: 4, step: 2, isobaricInhPa: 3, latitude:
> 5, longitude: 6)>
> array([[[[[0., 0., 0., 0., 0., 0.],... (latitude) float64 90.0 45.0 0.0
> -45.0 -90.0
> * longitude (longitude) float64 0.0 60.0 120.0 180.0 240.0 300.0
> tmpdir = local('/tmp/pytest-of-user42/pytest-5/test_to_grib0')
>
> def test_to_grib(canonic_da, tmpdir):
> out_path = tmpdir.join('res.grib')
> canonic_ds = canonic_da.to_dataset(name='t')
> with pytest.warns(FutureWarning):
> > xarray_to_grib.to_grib(canonic_ds, str(out_path))
>
> tests/test_40_xarray_to_grib_regular_ll.py:60:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> cfgrib/xarray_to_grib.py:269: in to_grib
> return canonical_dataset_to_grib(*args, **kwargs)
> cfgrib/xarray_to_grib.py:265: in canonical_dataset_to_grib
> canonical_dataarray_to_grib(data_var, file, grib_keys=real_grib_keys,
> **kwargs)
> cfgrib/xarray_to_grib.py:224: in canonical_dataarray_to_grib
> field_values = data_var.sel(**select).values.flat[:]
> /usr/lib/python3/dist-packages/xarray/core/dataarray.py:1143: in sel
> ds = self._to_temp_dataset().sel(
> /usr/lib/python3/dist-packages/xarray/core/dataset.py:2105: in sel
> pos_indexers, new_indexes = remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/coordinates.py:397: in
> remap_label_indexers
> pos_indexers, new_indexes = indexing.remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:275: in
> remap_label_indexers
> idxr, new_idx = convert_label_indexer(index, label, dim, method,
> tolerance)
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:196: in
> convert_label_indexer
> indexer = index.get_loc(label_value, method=method, tolerance=tolerance)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = DatetimeIndex(['2018-01-01 00:00:00', '2018-01-01 12:00:00',
> '2018-01-02 00:00:00', '2018-01-02 12:00:00'],
> dtype='datetime64[ns]', name='time', freq=None)
> key = 1514764800000000000, method = None, tolerance = None
>
> def get_loc(self, key, method=None, tolerance=None):
> """
> Get integer location for requested label
>
> Returns
> -------
> loc : int
> """
> if not is_scalar(key):
> raise InvalidIndexError(key)
>
> orig_key = key
> if is_valid_nat_for_dtype(key, self.dtype):
> key = NaT
>
> if isinstance(key, self._data._recognized_scalars):
> # needed to localize naive datetimes
> key = self._maybe_cast_for_get_loc(key)
>
> elif isinstance(key, str):
> try:
> return self._get_string_slice(key)
> except (TypeError, KeyError, ValueError, OverflowError):
> pass
>
> try:
> key = self._maybe_cast_for_get_loc(key)
> except ValueError as err:
> raise KeyError(key) from err
>
> elif isinstance(key, timedelta):
> # GH#20464
> raise TypeError(
> f"Cannot index {type(self).__name__} with
> {type(key).__name__}"
> )
>
> elif isinstance(key, time):
> if method is not None:
> raise NotImplementedError(
> "cannot yet lookup inexact labels when key is a time
> object"
> )
> return self.indexer_at_time(key)
>
> else:
> # unrecognized type
> > raise KeyError(key)
> E KeyError: 1514764800000000000
>
> /usr/lib/python3/dist-packages/pandas/core/indexes/datetimes.py:622: KeyError
> _____________ test_canonical_dataset_to_grib[era5-levels-members]
> ______________
>
> grib_name = 'era5-levels-members'
> tmpdir =
> local('/tmp/pytest-of-user42/pytest-5/test_canonical_dataset_to_grib1')
>
> @pytest.mark.parametrize(
> 'grib_name',
> [
> 'era5-levels-members',
> 'fields_with_missing_values',
> pytest.param('lambert_grid', marks=pytest.mark.xfail),
> 'reduced_gg',
> 'regular_gg_sfc',
> 'regular_gg_pl',
> 'regular_gg_ml',
> pytest.param('regular_gg_ml_g2', marks=pytest.mark.xfail),
> 'regular_ll_sfc',
> 'regular_ll_msl',
> 'scanning_mode_64',
> pytest.param('spherical_harmonics', marks=pytest.mark.xfail),
> 't_analysis_and_fc_0',
> ],
> )
> def test_canonical_dataset_to_grib(grib_name, tmpdir):
> grib_path = os.path.join(SAMPLE_DATA_FOLDER, grib_name + '.grib')
> out_path = str(tmpdir.join(grib_name + '.grib'))
>
> res = xarray_store.open_dataset(grib_path)
>
> > xarray_to_grib.canonical_dataset_to_grib(res, out_path)
>
> tests/test_50_sample_data.py:89:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> cfgrib/xarray_to_grib.py:265: in canonical_dataset_to_grib
> canonical_dataarray_to_grib(data_var, file, grib_keys=real_grib_keys,
> **kwargs)
> cfgrib/xarray_to_grib.py:224: in canonical_dataarray_to_grib
> field_values = data_var.sel(**select).values.flat[:]
> /usr/lib/python3/dist-packages/xarray/core/dataarray.py:1143: in sel
> ds = self._to_temp_dataset().sel(
> /usr/lib/python3/dist-packages/xarray/core/dataset.py:2105: in sel
> pos_indexers, new_indexes = remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/coordinates.py:397: in
> remap_label_indexers
> pos_indexers, new_indexes = indexing.remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:275: in
> remap_label_indexers
> idxr, new_idx = convert_label_indexer(index, label, dim, method,
> tolerance)
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:196: in
> convert_label_indexer
> indexer = index.get_loc(label_value, method=method, tolerance=tolerance)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = DatetimeIndex(['2017-01-01 00:00:00', '2017-01-01 12:00:00',
> '2017-01-02 00:00:00', '2017-01-02 12:00:00'],
> dtype='datetime64[ns]', name='time', freq=None)
> key = 1483228800000000000, method = None, tolerance = None
>
> def get_loc(self, key, method=None, tolerance=None):
> """
> Get integer location for requested label
>
> Returns
> -------
> loc : int
> """
> if not is_scalar(key):
> raise InvalidIndexError(key)
>
> orig_key = key
> if is_valid_nat_for_dtype(key, self.dtype):
> key = NaT
>
> if isinstance(key, self._data._recognized_scalars):
> # needed to localize naive datetimes
> key = self._maybe_cast_for_get_loc(key)
>
> elif isinstance(key, str):
> try:
> return self._get_string_slice(key)
> except (TypeError, KeyError, ValueError, OverflowError):
> pass
>
> try:
> key = self._maybe_cast_for_get_loc(key)
> except ValueError as err:
> raise KeyError(key) from err
>
> elif isinstance(key, timedelta):
> # GH#20464
> raise TypeError(
> f"Cannot index {type(self).__name__} with
> {type(key).__name__}"
> )
>
> elif isinstance(key, time):
> if method is not None:
> raise NotImplementedError(
> "cannot yet lookup inexact labels when key is a time
> object"
> )
> return self.indexer_at_time(key)
>
> else:
> # unrecognized type
> > raise KeyError(key)
> E KeyError: 1483228800000000000
>
> /usr/lib/python3/dist-packages/pandas/core/indexes/datetimes.py:622: KeyError
> ------------------------------ Captured log call
> -------------------------------
> WARNING cfgrib.messages:messages.py:360 Ignoring index file
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_cfgrib/build/tests/sample-data/era5-levels-members.grib.90c91.idx'
> incompatible with GRIB file
> __________ test_canonical_dataset_to_grib[fields_with_missing_values]
> __________
>
> grib_name = 'fields_with_missing_values'
> tmpdir =
> local('/tmp/pytest-of-user42/pytest-5/test_canonical_dataset_to_grib2')
>
> @pytest.mark.parametrize(
> 'grib_name',
> [
> 'era5-levels-members',
> 'fields_with_missing_values',
> pytest.param('lambert_grid', marks=pytest.mark.xfail),
> 'reduced_gg',
> 'regular_gg_sfc',
> 'regular_gg_pl',
> 'regular_gg_ml',
> pytest.param('regular_gg_ml_g2', marks=pytest.mark.xfail),
> 'regular_ll_sfc',
> 'regular_ll_msl',
> 'scanning_mode_64',
> pytest.param('spherical_harmonics', marks=pytest.mark.xfail),
> 't_analysis_and_fc_0',
> ],
> )
> def test_canonical_dataset_to_grib(grib_name, tmpdir):
> grib_path = os.path.join(SAMPLE_DATA_FOLDER, grib_name + '.grib')
> out_path = str(tmpdir.join(grib_name + '.grib'))
>
> res = xarray_store.open_dataset(grib_path)
>
> > xarray_to_grib.canonical_dataset_to_grib(res, out_path)
>
> tests/test_50_sample_data.py:89:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> cfgrib/xarray_to_grib.py:265: in canonical_dataset_to_grib
> canonical_dataarray_to_grib(data_var, file, grib_keys=real_grib_keys,
> **kwargs)
> cfgrib/xarray_to_grib.py:224: in canonical_dataarray_to_grib
> field_values = data_var.sel(**select).values.flat[:]
> /usr/lib/python3/dist-packages/xarray/core/dataarray.py:1143: in sel
> ds = self._to_temp_dataset().sel(
> /usr/lib/python3/dist-packages/xarray/core/dataset.py:2105: in sel
> pos_indexers, new_indexes = remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/coordinates.py:397: in
> remap_label_indexers
> pos_indexers, new_indexes = indexing.remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:275: in
> remap_label_indexers
> idxr, new_idx = convert_label_indexer(index, label, dim, method,
> tolerance)
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:196: in
> convert_label_indexer
> indexer = index.get_loc(label_value, method=method, tolerance=tolerance)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = DatetimeIndex(['2017-10-18 00:00:00', '2017-10-18 12:00:00'],
> dtype='datetime64[ns]', name='time', freq=None)
> key = 1508284800000000000, method = None, tolerance = None
>
> def get_loc(self, key, method=None, tolerance=None):
> """
> Get integer location for requested label
>
> Returns
> -------
> loc : int
> """
> if not is_scalar(key):
> raise InvalidIndexError(key)
>
> orig_key = key
> if is_valid_nat_for_dtype(key, self.dtype):
> key = NaT
>
> if isinstance(key, self._data._recognized_scalars):
> # needed to localize naive datetimes
> key = self._maybe_cast_for_get_loc(key)
>
> elif isinstance(key, str):
> try:
> return self._get_string_slice(key)
> except (TypeError, KeyError, ValueError, OverflowError):
> pass
>
> try:
> key = self._maybe_cast_for_get_loc(key)
> except ValueError as err:
> raise KeyError(key) from err
>
> elif isinstance(key, timedelta):
> # GH#20464
> raise TypeError(
> f"Cannot index {type(self).__name__} with
> {type(key).__name__}"
> )
>
> elif isinstance(key, time):
> if method is not None:
> raise NotImplementedError(
> "cannot yet lookup inexact labels when key is a time
> object"
> )
> return self.indexer_at_time(key)
>
> else:
> # unrecognized type
> > raise KeyError(key)
> E KeyError: 1508284800000000000
>
> /usr/lib/python3/dist-packages/pandas/core/indexes/datetimes.py:622: KeyError
> __________________ test_canonical_dataset_to_grib[reduced_gg]
> __________________
>
> grib_name = 'reduced_gg'
> tmpdir =
> local('/tmp/pytest-of-user42/pytest-5/test_canonical_dataset_to_grib4')
>
> @pytest.mark.parametrize(
> 'grib_name',
> [
> 'era5-levels-members',
> 'fields_with_missing_values',
> pytest.param('lambert_grid', marks=pytest.mark.xfail),
> 'reduced_gg',
> 'regular_gg_sfc',
> 'regular_gg_pl',
> 'regular_gg_ml',
> pytest.param('regular_gg_ml_g2', marks=pytest.mark.xfail),
> 'regular_ll_sfc',
> 'regular_ll_msl',
> 'scanning_mode_64',
> pytest.param('spherical_harmonics', marks=pytest.mark.xfail),
> 't_analysis_and_fc_0',
> ],
> )
> def test_canonical_dataset_to_grib(grib_name, tmpdir):
> grib_path = os.path.join(SAMPLE_DATA_FOLDER, grib_name + '.grib')
> out_path = str(tmpdir.join(grib_name + '.grib'))
>
> res = xarray_store.open_dataset(grib_path)
>
> > xarray_to_grib.canonical_dataset_to_grib(res, out_path)
>
> tests/test_50_sample_data.py:89:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> cfgrib/xarray_to_grib.py:265: in canonical_dataset_to_grib
> canonical_dataarray_to_grib(data_var, file, grib_keys=real_grib_keys,
> **kwargs)
> cfgrib/xarray_to_grib.py:224: in canonical_dataarray_to_grib
> field_values = data_var.sel(**select).values.flat[:]
> /usr/lib/python3/dist-packages/xarray/core/dataarray.py:1143: in sel
> ds = self._to_temp_dataset().sel(
> /usr/lib/python3/dist-packages/xarray/core/dataset.py:2105: in sel
> pos_indexers, new_indexes = remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/coordinates.py:397: in
> remap_label_indexers
> pos_indexers, new_indexes = indexing.remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:275: in
> remap_label_indexers
> idxr, new_idx = convert_label_indexer(index, label, dim, method,
> tolerance)
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:196: in
> convert_label_indexer
> indexer = index.get_loc(label_value, method=method, tolerance=tolerance)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = DatetimeIndex(['2017-10-18 12:00:00'], dtype='datetime64[ns]',
> name='time', freq=None)
> key = 1508328000000000000, method = None, tolerance = None
>
> def get_loc(self, key, method=None, tolerance=None):
> """
> Get integer location for requested label
>
> Returns
> -------
> loc : int
> """
> if not is_scalar(key):
> raise InvalidIndexError(key)
>
> orig_key = key
> if is_valid_nat_for_dtype(key, self.dtype):
> key = NaT
>
> if isinstance(key, self._data._recognized_scalars):
> # needed to localize naive datetimes
> key = self._maybe_cast_for_get_loc(key)
>
> elif isinstance(key, str):
> try:
> return self._get_string_slice(key)
> except (TypeError, KeyError, ValueError, OverflowError):
> pass
>
> try:
> key = self._maybe_cast_for_get_loc(key)
> except ValueError as err:
> raise KeyError(key) from err
>
> elif isinstance(key, timedelta):
> # GH#20464
> raise TypeError(
> f"Cannot index {type(self).__name__} with
> {type(key).__name__}"
> )
>
> elif isinstance(key, time):
> if method is not None:
> raise NotImplementedError(
> "cannot yet lookup inexact labels when key is a time
> object"
> )
> return self.indexer_at_time(key)
>
> else:
> # unrecognized type
> > raise KeyError(key)
> E KeyError: 1508328000000000000
>
> /usr/lib/python3/dist-packages/pandas/core/indexes/datetimes.py:622: KeyError
> ________________ test_canonical_dataset_to_grib[regular_gg_sfc]
> ________________
>
> grib_name = 'regular_gg_sfc'
> tmpdir =
> local('/tmp/pytest-of-user42/pytest-5/test_canonical_dataset_to_grib5')
>
> @pytest.mark.parametrize(
> 'grib_name',
> [
> 'era5-levels-members',
> 'fields_with_missing_values',
> pytest.param('lambert_grid', marks=pytest.mark.xfail),
> 'reduced_gg',
> 'regular_gg_sfc',
> 'regular_gg_pl',
> 'regular_gg_ml',
> pytest.param('regular_gg_ml_g2', marks=pytest.mark.xfail),
> 'regular_ll_sfc',
> 'regular_ll_msl',
> 'scanning_mode_64',
> pytest.param('spherical_harmonics', marks=pytest.mark.xfail),
> 't_analysis_and_fc_0',
> ],
> )
> def test_canonical_dataset_to_grib(grib_name, tmpdir):
> grib_path = os.path.join(SAMPLE_DATA_FOLDER, grib_name + '.grib')
> out_path = str(tmpdir.join(grib_name + '.grib'))
>
> res = xarray_store.open_dataset(grib_path)
>
> > xarray_to_grib.canonical_dataset_to_grib(res, out_path)
>
> tests/test_50_sample_data.py:89:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> cfgrib/xarray_to_grib.py:265: in canonical_dataset_to_grib
> canonical_dataarray_to_grib(data_var, file, grib_keys=real_grib_keys,
> **kwargs)
> cfgrib/xarray_to_grib.py:224: in canonical_dataarray_to_grib
> field_values = data_var.sel(**select).values.flat[:]
> /usr/lib/python3/dist-packages/xarray/core/dataarray.py:1143: in sel
> ds = self._to_temp_dataset().sel(
> /usr/lib/python3/dist-packages/xarray/core/dataset.py:2105: in sel
> pos_indexers, new_indexes = remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/coordinates.py:397: in
> remap_label_indexers
> pos_indexers, new_indexes = indexing.remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:275: in
> remap_label_indexers
> idxr, new_idx = convert_label_indexer(index, label, dim, method,
> tolerance)
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:196: in
> convert_label_indexer
> indexer = index.get_loc(label_value, method=method, tolerance=tolerance)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = DatetimeIndex(['2017-10-18 12:00:00'], dtype='datetime64[ns]',
> name='time', freq=None)
> key = 1508328000000000000, method = None, tolerance = None
>
> def get_loc(self, key, method=None, tolerance=None):
> """
> Get integer location for requested label
>
> Returns
> -------
> loc : int
> """
> if not is_scalar(key):
> raise InvalidIndexError(key)
>
> orig_key = key
> if is_valid_nat_for_dtype(key, self.dtype):
> key = NaT
>
> if isinstance(key, self._data._recognized_scalars):
> # needed to localize naive datetimes
> key = self._maybe_cast_for_get_loc(key)
>
> elif isinstance(key, str):
> try:
> return self._get_string_slice(key)
> except (TypeError, KeyError, ValueError, OverflowError):
> pass
>
> try:
> key = self._maybe_cast_for_get_loc(key)
> except ValueError as err:
> raise KeyError(key) from err
>
> elif isinstance(key, timedelta):
> # GH#20464
> raise TypeError(
> f"Cannot index {type(self).__name__} with
> {type(key).__name__}"
> )
>
> elif isinstance(key, time):
> if method is not None:
> raise NotImplementedError(
> "cannot yet lookup inexact labels when key is a time
> object"
> )
> return self.indexer_at_time(key)
>
> else:
> # unrecognized type
> > raise KeyError(key)
> E KeyError: 1508328000000000000
>
> /usr/lib/python3/dist-packages/pandas/core/indexes/datetimes.py:622: KeyError
> ________________ test_canonical_dataset_to_grib[regular_gg_pl]
> _________________
>
> grib_name = 'regular_gg_pl'
> tmpdir =
> local('/tmp/pytest-of-user42/pytest-5/test_canonical_dataset_to_grib6')
>
> @pytest.mark.parametrize(
> 'grib_name',
> [
> 'era5-levels-members',
> 'fields_with_missing_values',
> pytest.param('lambert_grid', marks=pytest.mark.xfail),
> 'reduced_gg',
> 'regular_gg_sfc',
> 'regular_gg_pl',
> 'regular_gg_ml',
> pytest.param('regular_gg_ml_g2', marks=pytest.mark.xfail),
> 'regular_ll_sfc',
> 'regular_ll_msl',
> 'scanning_mode_64',
> pytest.param('spherical_harmonics', marks=pytest.mark.xfail),
> 't_analysis_and_fc_0',
> ],
> )
> def test_canonical_dataset_to_grib(grib_name, tmpdir):
> grib_path = os.path.join(SAMPLE_DATA_FOLDER, grib_name + '.grib')
> out_path = str(tmpdir.join(grib_name + '.grib'))
>
> res = xarray_store.open_dataset(grib_path)
>
> > xarray_to_grib.canonical_dataset_to_grib(res, out_path)
>
> tests/test_50_sample_data.py:89:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> cfgrib/xarray_to_grib.py:265: in canonical_dataset_to_grib
> canonical_dataarray_to_grib(data_var, file, grib_keys=real_grib_keys,
> **kwargs)
> cfgrib/xarray_to_grib.py:224: in canonical_dataarray_to_grib
> field_values = data_var.sel(**select).values.flat[:]
> /usr/lib/python3/dist-packages/xarray/core/dataarray.py:1143: in sel
> ds = self._to_temp_dataset().sel(
> /usr/lib/python3/dist-packages/xarray/core/dataset.py:2105: in sel
> pos_indexers, new_indexes = remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/coordinates.py:397: in
> remap_label_indexers
> pos_indexers, new_indexes = indexing.remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:275: in
> remap_label_indexers
> idxr, new_idx = convert_label_indexer(index, label, dim, method,
> tolerance)
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:196: in
> convert_label_indexer
> indexer = index.get_loc(label_value, method=method, tolerance=tolerance)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = DatetimeIndex(['2017-10-18 12:00:00'], dtype='datetime64[ns]',
> name='time', freq=None)
> key = 1508328000000000000, method = None, tolerance = None
>
> def get_loc(self, key, method=None, tolerance=None):
> """
> Get integer location for requested label
>
> Returns
> -------
> loc : int
> """
> if not is_scalar(key):
> raise InvalidIndexError(key)
>
> orig_key = key
> if is_valid_nat_for_dtype(key, self.dtype):
> key = NaT
>
> if isinstance(key, self._data._recognized_scalars):
> # needed to localize naive datetimes
> key = self._maybe_cast_for_get_loc(key)
>
> elif isinstance(key, str):
> try:
> return self._get_string_slice(key)
> except (TypeError, KeyError, ValueError, OverflowError):
> pass
>
> try:
> key = self._maybe_cast_for_get_loc(key)
> except ValueError as err:
> raise KeyError(key) from err
>
> elif isinstance(key, timedelta):
> # GH#20464
> raise TypeError(
> f"Cannot index {type(self).__name__} with
> {type(key).__name__}"
> )
>
> elif isinstance(key, time):
> if method is not None:
> raise NotImplementedError(
> "cannot yet lookup inexact labels when key is a time
> object"
> )
> return self.indexer_at_time(key)
>
> else:
> # unrecognized type
> > raise KeyError(key)
> E KeyError: 1508328000000000000
>
> /usr/lib/python3/dist-packages/pandas/core/indexes/datetimes.py:622: KeyError
> ________________ test_canonical_dataset_to_grib[regular_gg_ml]
> _________________
>
> grib_name = 'regular_gg_ml'
> tmpdir =
> local('/tmp/pytest-of-user42/pytest-5/test_canonical_dataset_to_grib7')
>
> @pytest.mark.parametrize(
> 'grib_name',
> [
> 'era5-levels-members',
> 'fields_with_missing_values',
> pytest.param('lambert_grid', marks=pytest.mark.xfail),
> 'reduced_gg',
> 'regular_gg_sfc',
> 'regular_gg_pl',
> 'regular_gg_ml',
> pytest.param('regular_gg_ml_g2', marks=pytest.mark.xfail),
> 'regular_ll_sfc',
> 'regular_ll_msl',
> 'scanning_mode_64',
> pytest.param('spherical_harmonics', marks=pytest.mark.xfail),
> 't_analysis_and_fc_0',
> ],
> )
> def test_canonical_dataset_to_grib(grib_name, tmpdir):
> grib_path = os.path.join(SAMPLE_DATA_FOLDER, grib_name + '.grib')
> out_path = str(tmpdir.join(grib_name + '.grib'))
>
> res = xarray_store.open_dataset(grib_path)
>
> > xarray_to_grib.canonical_dataset_to_grib(res, out_path)
>
> tests/test_50_sample_data.py:89:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> cfgrib/xarray_to_grib.py:265: in canonical_dataset_to_grib
> canonical_dataarray_to_grib(data_var, file, grib_keys=real_grib_keys,
> **kwargs)
> cfgrib/xarray_to_grib.py:224: in canonical_dataarray_to_grib
> field_values = data_var.sel(**select).values.flat[:]
> /usr/lib/python3/dist-packages/xarray/core/dataarray.py:1143: in sel
> ds = self._to_temp_dataset().sel(
> /usr/lib/python3/dist-packages/xarray/core/dataset.py:2105: in sel
> pos_indexers, new_indexes = remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/coordinates.py:397: in
> remap_label_indexers
> pos_indexers, new_indexes = indexing.remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:275: in
> remap_label_indexers
> idxr, new_idx = convert_label_indexer(index, label, dim, method,
> tolerance)
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:196: in
> convert_label_indexer
> indexer = index.get_loc(label_value, method=method, tolerance=tolerance)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = DatetimeIndex(['2008-02-06 12:00:00'], dtype='datetime64[ns]',
> name='time', freq=None)
> key = 1202299200000000000, method = None, tolerance = None
>
> def get_loc(self, key, method=None, tolerance=None):
> """
> Get integer location for requested label
>
> Returns
> -------
> loc : int
> """
> if not is_scalar(key):
> raise InvalidIndexError(key)
>
> orig_key = key
> if is_valid_nat_for_dtype(key, self.dtype):
> key = NaT
>
> if isinstance(key, self._data._recognized_scalars):
> # needed to localize naive datetimes
> key = self._maybe_cast_for_get_loc(key)
>
> elif isinstance(key, str):
> try:
> return self._get_string_slice(key)
> except (TypeError, KeyError, ValueError, OverflowError):
> pass
>
> try:
> key = self._maybe_cast_for_get_loc(key)
> except ValueError as err:
> raise KeyError(key) from err
>
> elif isinstance(key, timedelta):
> # GH#20464
> raise TypeError(
> f"Cannot index {type(self).__name__} with
> {type(key).__name__}"
> )
>
> elif isinstance(key, time):
> if method is not None:
> raise NotImplementedError(
> "cannot yet lookup inexact labels when key is a time
> object"
> )
> return self.indexer_at_time(key)
>
> else:
> # unrecognized type
> > raise KeyError(key)
> E KeyError: 1202299200000000000
>
> /usr/lib/python3/dist-packages/pandas/core/indexes/datetimes.py:622: KeyError
> ________________ test_canonical_dataset_to_grib[regular_ll_sfc]
> ________________
>
> grib_name = 'regular_ll_sfc'
> tmpdir =
> local('/tmp/pytest-of-user42/pytest-5/test_canonical_dataset_to_grib9')
>
> @pytest.mark.parametrize(
> 'grib_name',
> [
> 'era5-levels-members',
> 'fields_with_missing_values',
> pytest.param('lambert_grid', marks=pytest.mark.xfail),
> 'reduced_gg',
> 'regular_gg_sfc',
> 'regular_gg_pl',
> 'regular_gg_ml',
> pytest.param('regular_gg_ml_g2', marks=pytest.mark.xfail),
> 'regular_ll_sfc',
> 'regular_ll_msl',
> 'scanning_mode_64',
> pytest.param('spherical_harmonics', marks=pytest.mark.xfail),
> 't_analysis_and_fc_0',
> ],
> )
> def test_canonical_dataset_to_grib(grib_name, tmpdir):
> grib_path = os.path.join(SAMPLE_DATA_FOLDER, grib_name + '.grib')
> out_path = str(tmpdir.join(grib_name + '.grib'))
>
> res = xarray_store.open_dataset(grib_path)
>
> > xarray_to_grib.canonical_dataset_to_grib(res, out_path)
>
> tests/test_50_sample_data.py:89:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> cfgrib/xarray_to_grib.py:265: in canonical_dataset_to_grib
> canonical_dataarray_to_grib(data_var, file, grib_keys=real_grib_keys,
> **kwargs)
> cfgrib/xarray_to_grib.py:224: in canonical_dataarray_to_grib
> field_values = data_var.sel(**select).values.flat[:]
> /usr/lib/python3/dist-packages/xarray/core/dataarray.py:1143: in sel
> ds = self._to_temp_dataset().sel(
> /usr/lib/python3/dist-packages/xarray/core/dataset.py:2105: in sel
> pos_indexers, new_indexes = remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/coordinates.py:397: in
> remap_label_indexers
> pos_indexers, new_indexes = indexing.remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:275: in
> remap_label_indexers
> idxr, new_idx = convert_label_indexer(index, label, dim, method,
> tolerance)
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:196: in
> convert_label_indexer
> indexer = index.get_loc(label_value, method=method, tolerance=tolerance)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = DatetimeIndex(['2017-10-18 12:00:00'], dtype='datetime64[ns]',
> name='time', freq=None)
> key = 1508328000000000000, method = None, tolerance = None
>
> def get_loc(self, key, method=None, tolerance=None):
> """
> Get integer location for requested label
>
> Returns
> -------
> loc : int
> """
> if not is_scalar(key):
> raise InvalidIndexError(key)
>
> orig_key = key
> if is_valid_nat_for_dtype(key, self.dtype):
> key = NaT
>
> if isinstance(key, self._data._recognized_scalars):
> # needed to localize naive datetimes
> key = self._maybe_cast_for_get_loc(key)
>
> elif isinstance(key, str):
> try:
> return self._get_string_slice(key)
> except (TypeError, KeyError, ValueError, OverflowError):
> pass
>
> try:
> key = self._maybe_cast_for_get_loc(key)
> except ValueError as err:
> raise KeyError(key) from err
>
> elif isinstance(key, timedelta):
> # GH#20464
> raise TypeError(
> f"Cannot index {type(self).__name__} with
> {type(key).__name__}"
> )
>
> elif isinstance(key, time):
> if method is not None:
> raise NotImplementedError(
> "cannot yet lookup inexact labels when key is a time
> object"
> )
> return self.indexer_at_time(key)
>
> else:
> # unrecognized type
> > raise KeyError(key)
> E KeyError: 1508328000000000000
>
> /usr/lib/python3/dist-packages/pandas/core/indexes/datetimes.py:622: KeyError
> ________________ test_canonical_dataset_to_grib[regular_ll_msl]
> ________________
>
> grib_name = 'regular_ll_msl'
> tmpdir =
> local('/tmp/pytest-of-user42/pytest-5/test_canonical_dataset_to_grib10')
>
> @pytest.mark.parametrize(
> 'grib_name',
> [
> 'era5-levels-members',
> 'fields_with_missing_values',
> pytest.param('lambert_grid', marks=pytest.mark.xfail),
> 'reduced_gg',
> 'regular_gg_sfc',
> 'regular_gg_pl',
> 'regular_gg_ml',
> pytest.param('regular_gg_ml_g2', marks=pytest.mark.xfail),
> 'regular_ll_sfc',
> 'regular_ll_msl',
> 'scanning_mode_64',
> pytest.param('spherical_harmonics', marks=pytest.mark.xfail),
> 't_analysis_and_fc_0',
> ],
> )
> def test_canonical_dataset_to_grib(grib_name, tmpdir):
> grib_path = os.path.join(SAMPLE_DATA_FOLDER, grib_name + '.grib')
> out_path = str(tmpdir.join(grib_name + '.grib'))
>
> res = xarray_store.open_dataset(grib_path)
>
> > xarray_to_grib.canonical_dataset_to_grib(res, out_path)
>
> tests/test_50_sample_data.py:89:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> cfgrib/xarray_to_grib.py:265: in canonical_dataset_to_grib
> canonical_dataarray_to_grib(data_var, file, grib_keys=real_grib_keys,
> **kwargs)
> cfgrib/xarray_to_grib.py:224: in canonical_dataarray_to_grib
> field_values = data_var.sel(**select).values.flat[:]
> /usr/lib/python3/dist-packages/xarray/core/dataarray.py:1143: in sel
> ds = self._to_temp_dataset().sel(
> /usr/lib/python3/dist-packages/xarray/core/dataset.py:2105: in sel
> pos_indexers, new_indexes = remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/coordinates.py:397: in
> remap_label_indexers
> pos_indexers, new_indexes = indexing.remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:275: in
> remap_label_indexers
> idxr, new_idx = convert_label_indexer(index, label, dim, method,
> tolerance)
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:196: in
> convert_label_indexer
> indexer = index.get_loc(label_value, method=method, tolerance=tolerance)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = DatetimeIndex(['2006-10-04'], dtype='datetime64[ns]', name='time',
> freq=None)
> key = 1159920000000000000, method = None, tolerance = None
>
> def get_loc(self, key, method=None, tolerance=None):
> """
> Get integer location for requested label
>
> Returns
> -------
> loc : int
> """
> if not is_scalar(key):
> raise InvalidIndexError(key)
>
> orig_key = key
> if is_valid_nat_for_dtype(key, self.dtype):
> key = NaT
>
> if isinstance(key, self._data._recognized_scalars):
> # needed to localize naive datetimes
> key = self._maybe_cast_for_get_loc(key)
>
> elif isinstance(key, str):
> try:
> return self._get_string_slice(key)
> except (TypeError, KeyError, ValueError, OverflowError):
> pass
>
> try:
> key = self._maybe_cast_for_get_loc(key)
> except ValueError as err:
> raise KeyError(key) from err
>
> elif isinstance(key, timedelta):
> # GH#20464
> raise TypeError(
> f"Cannot index {type(self).__name__} with
> {type(key).__name__}"
> )
>
> elif isinstance(key, time):
> if method is not None:
> raise NotImplementedError(
> "cannot yet lookup inexact labels when key is a time
> object"
> )
> return self.indexer_at_time(key)
>
> else:
> # unrecognized type
> > raise KeyError(key)
> E KeyError: 1159920000000000000
>
> /usr/lib/python3/dist-packages/pandas/core/indexes/datetimes.py:622: KeyError
> _______________ test_canonical_dataset_to_grib[scanning_mode_64]
> _______________
>
> grib_name = 'scanning_mode_64'
> tmpdir =
> local('/tmp/pytest-of-user42/pytest-5/test_canonical_dataset_to_grib11')
>
> @pytest.mark.parametrize(
> 'grib_name',
> [
> 'era5-levels-members',
> 'fields_with_missing_values',
> pytest.param('lambert_grid', marks=pytest.mark.xfail),
> 'reduced_gg',
> 'regular_gg_sfc',
> 'regular_gg_pl',
> 'regular_gg_ml',
> pytest.param('regular_gg_ml_g2', marks=pytest.mark.xfail),
> 'regular_ll_sfc',
> 'regular_ll_msl',
> 'scanning_mode_64',
> pytest.param('spherical_harmonics', marks=pytest.mark.xfail),
> 't_analysis_and_fc_0',
> ],
> )
> def test_canonical_dataset_to_grib(grib_name, tmpdir):
> grib_path = os.path.join(SAMPLE_DATA_FOLDER, grib_name + '.grib')
> out_path = str(tmpdir.join(grib_name + '.grib'))
>
> res = xarray_store.open_dataset(grib_path)
>
> > xarray_to_grib.canonical_dataset_to_grib(res, out_path)
>
> tests/test_50_sample_data.py:89:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> cfgrib/xarray_to_grib.py:265: in canonical_dataset_to_grib
> canonical_dataarray_to_grib(data_var, file, grib_keys=real_grib_keys,
> **kwargs)
> cfgrib/xarray_to_grib.py:224: in canonical_dataarray_to_grib
> field_values = data_var.sel(**select).values.flat[:]
> /usr/lib/python3/dist-packages/xarray/core/dataarray.py:1143: in sel
> ds = self._to_temp_dataset().sel(
> /usr/lib/python3/dist-packages/xarray/core/dataset.py:2105: in sel
> pos_indexers, new_indexes = remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/coordinates.py:397: in
> remap_label_indexers
> pos_indexers, new_indexes = indexing.remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:275: in
> remap_label_indexers
> idxr, new_idx = convert_label_indexer(index, label, dim, method,
> tolerance)
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:196: in
> convert_label_indexer
> indexer = index.get_loc(label_value, method=method, tolerance=tolerance)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = DatetimeIndex(['2017-10-18 12:00:00'], dtype='datetime64[ns]',
> name='time', freq=None)
> key = 1508328000000000000, method = None, tolerance = None
>
> def get_loc(self, key, method=None, tolerance=None):
> """
> Get integer location for requested label
>
> Returns
> -------
> loc : int
> """
> if not is_scalar(key):
> raise InvalidIndexError(key)
>
> orig_key = key
> if is_valid_nat_for_dtype(key, self.dtype):
> key = NaT
>
> if isinstance(key, self._data._recognized_scalars):
> # needed to localize naive datetimes
> key = self._maybe_cast_for_get_loc(key)
>
> elif isinstance(key, str):
> try:
> return self._get_string_slice(key)
> except (TypeError, KeyError, ValueError, OverflowError):
> pass
>
> try:
> key = self._maybe_cast_for_get_loc(key)
> except ValueError as err:
> raise KeyError(key) from err
>
> elif isinstance(key, timedelta):
> # GH#20464
> raise TypeError(
> f"Cannot index {type(self).__name__} with
> {type(key).__name__}"
> )
>
> elif isinstance(key, time):
> if method is not None:
> raise NotImplementedError(
> "cannot yet lookup inexact labels when key is a time
> object"
> )
> return self.indexer_at_time(key)
>
> else:
> # unrecognized type
> > raise KeyError(key)
> E KeyError: 1508328000000000000
>
> /usr/lib/python3/dist-packages/pandas/core/indexes/datetimes.py:622: KeyError
> _____________ test_canonical_dataset_to_grib[t_analysis_and_fc_0]
> ______________
>
> grib_name = 't_analysis_and_fc_0'
> tmpdir =
> local('/tmp/pytest-of-user42/pytest-5/test_canonical_dataset_to_grib13')
>
> @pytest.mark.parametrize(
> 'grib_name',
> [
> 'era5-levels-members',
> 'fields_with_missing_values',
> pytest.param('lambert_grid', marks=pytest.mark.xfail),
> 'reduced_gg',
> 'regular_gg_sfc',
> 'regular_gg_pl',
> 'regular_gg_ml',
> pytest.param('regular_gg_ml_g2', marks=pytest.mark.xfail),
> 'regular_ll_sfc',
> 'regular_ll_msl',
> 'scanning_mode_64',
> pytest.param('spherical_harmonics', marks=pytest.mark.xfail),
> 't_analysis_and_fc_0',
> ],
> )
> def test_canonical_dataset_to_grib(grib_name, tmpdir):
> grib_path = os.path.join(SAMPLE_DATA_FOLDER, grib_name + '.grib')
> out_path = str(tmpdir.join(grib_name + '.grib'))
>
> res = xarray_store.open_dataset(grib_path)
>
> > xarray_to_grib.canonical_dataset_to_grib(res, out_path)
>
> tests/test_50_sample_data.py:89:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> cfgrib/xarray_to_grib.py:265: in canonical_dataset_to_grib
> canonical_dataarray_to_grib(data_var, file, grib_keys=real_grib_keys,
> **kwargs)
> cfgrib/xarray_to_grib.py:224: in canonical_dataarray_to_grib
> field_values = data_var.sel(**select).values.flat[:]
> /usr/lib/python3/dist-packages/xarray/core/dataarray.py:1143: in sel
> ds = self._to_temp_dataset().sel(
> /usr/lib/python3/dist-packages/xarray/core/dataset.py:2105: in sel
> pos_indexers, new_indexes = remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/coordinates.py:397: in
> remap_label_indexers
> pos_indexers, new_indexes = indexing.remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:275: in
> remap_label_indexers
> idxr, new_idx = convert_label_indexer(index, label, dim, method,
> tolerance)
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:196: in
> convert_label_indexer
> indexer = index.get_loc(label_value, method=method, tolerance=tolerance)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = DatetimeIndex(['2017-10-18 12:00:00'], dtype='datetime64[ns]',
> name='time', freq=None)
> key = 1508328000000000000, method = None, tolerance = None
>
> def get_loc(self, key, method=None, tolerance=None):
> """
> Get integer location for requested label
>
> Returns
> -------
> loc : int
> """
> if not is_scalar(key):
> raise InvalidIndexError(key)
>
> orig_key = key
> if is_valid_nat_for_dtype(key, self.dtype):
> key = NaT
>
> if isinstance(key, self._data._recognized_scalars):
> # needed to localize naive datetimes
> key = self._maybe_cast_for_get_loc(key)
>
> elif isinstance(key, str):
> try:
> return self._get_string_slice(key)
> except (TypeError, KeyError, ValueError, OverflowError):
> pass
>
> try:
> key = self._maybe_cast_for_get_loc(key)
> except ValueError as err:
> raise KeyError(key) from err
>
> elif isinstance(key, timedelta):
> # GH#20464
> raise TypeError(
> f"Cannot index {type(self).__name__} with
> {type(key).__name__}"
> )
>
> elif isinstance(key, time):
> if method is not None:
> raise NotImplementedError(
> "cannot yet lookup inexact labels when key is a time
> object"
> )
> return self.indexer_at_time(key)
>
> else:
> # unrecognized type
> > raise KeyError(key)
> E KeyError: 1508328000000000000
>
> /usr/lib/python3/dist-packages/pandas/core/indexes/datetimes.py:622: KeyError
> =============================== warnings summary
> ===============================
> .pybuild/cpython3_3.9_cfgrib/build/tests/test_20_cfcoords.py::test_translate_coords_errors
> .pybuild/cpython3_3.9_cfgrib/build/tests/test_20_cfcoords.py::test_ensure_valid_time
> /usr/lib/python3/dist-packages/xarray/core/dataarray.py:2090:
> PendingDeprecationWarning: dropping variables using `drop` will be
> deprecated; using drop_vars is encouraged.
> ds = self._to_temp_dataset().drop(labels, dim, errors=errors)
>
> .pybuild/cpython3_3.9_cfgrib/build/tests/test_20_cfcoords.py::test_ensure_valid_time
> .pybuild/cpython3_3.9_cfgrib/build/tests/test_20_cfcoords.py::test_ensure_valid_time
> .pybuild/cpython3_3.9_cfgrib/build/tests/test_20_cfcoords.py::test_ensure_valid_time
> .pybuild/cpython3_3.9_cfgrib/build/tests/test_20_cfcoords.py::test_ensure_valid_time
> .pybuild/cpython3_3.9_cfgrib/build/tests/test_20_cfcoords.py::test_ensure_valid_time
> .pybuild/cpython3_3.9_cfgrib/build/tests/test_20_cfcoords.py::test_ensure_valid_time
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_cfgrib/build/cf2cdm/cfcoords.py:233:
> DeprecationWarning: ensure_valid_time is deprecated use time_dims instead
> warnings.warn("ensure_valid_time is deprecated use time_dims instead",
> DeprecationWarning)
>
> -- Docs: https://docs.pytest.org/en/latest/warnings.html
> === 14 failed, 105 passed, 1 skipped, 3 xfailed, 8 warnings in 18.33 seconds
> ===
> E: pybuild pybuild:352: test: plugin distutils failed with: exit code=1: cd
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_cfgrib/build; python3.9 -m pytest tests
> I: pybuild base:217: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_cfgrib/build;
> python3.8 -m pytest tests
> ============================= test session starts
> ==============================
> platform linux -- Python 3.8.6, pytest-4.6.11, py-1.9.0, pluggy-0.13.0
> rootdir: /<<PKGBUILDDIR>>, inifile: setup.cfg
> collected 122 items / 1 skipped / 121 selected
>
> tests/test_10_bindings.py ........................ [
> 19%]
> tests/test_10_cfunits.py . [
> 20%]
> tests/test_20_cfcoords.py ...... [
> 25%]
> tests/test_20_main.py . [
> 26%]
> tests/test_20_messages.py ......... [
> 33%]
> tests/test_25_cfmessage.py ..... [
> 37%]
> tests/test_30_dataset.py ................... [
> 53%]
> tests/test_40_xarray_store.py ....... [
> 59%]
> tests/test_40_xarray_to_grib_regular_ll.py FF.FF [
> 63%]
> tests/test_50_datamodels.py .. [
> 64%]
> tests/test_50_sample_data.py ....................FFxFFFFxFFFxF [
> 91%]
> tests/test_50_xarray_getitem.py ..........
> [100%]
>
> =================================== FAILURES
> ===================================
> _______________ test_canonical_dataarray_to_grib_with_grib_keys
> ________________
>
> canonic_da = <xarray.DataArray (time: 4, step: 2, isobaricInhPa: 3, latitude:
> 5, longitude: 6)>
> array([[[[[0., 0., 0., 0., 0., 0.],... (latitude) float64 90.0 45.0 0.0
> -45.0 -90.0
> * longitude (longitude) float64 0.0 60.0 120.0 180.0 240.0 300.0
> tmpdir =
> local('/tmp/pytest-of-user42/pytest-6/test_canonical_dataarray_to_gr0')
>
> def test_canonical_dataarray_to_grib_with_grib_keys(canonic_da, tmpdir):
> out_path = tmpdir.join('res.grib')
> grib_keys = {'gridType': 'regular_ll'}
> with open(str(out_path), 'wb') as file:
> > xarray_to_grib.canonical_dataarray_to_grib(canonic_da, file,
> > grib_keys=grib_keys)
>
> tests/test_40_xarray_to_grib_regular_ll.py:30:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> cfgrib/xarray_to_grib.py:224: in canonical_dataarray_to_grib
> field_values = data_var.sel(**select).values.flat[:]
> /usr/lib/python3/dist-packages/xarray/core/dataarray.py:1143: in sel
> ds = self._to_temp_dataset().sel(
> /usr/lib/python3/dist-packages/xarray/core/dataset.py:2105: in sel
> pos_indexers, new_indexes = remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/coordinates.py:397: in
> remap_label_indexers
> pos_indexers, new_indexes = indexing.remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:275: in
> remap_label_indexers
> idxr, new_idx = convert_label_indexer(index, label, dim, method,
> tolerance)
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:196: in
> convert_label_indexer
> indexer = index.get_loc(label_value, method=method, tolerance=tolerance)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = DatetimeIndex(['2018-01-01 00:00:00', '2018-01-01 12:00:00',
> '2018-01-02 00:00:00', '2018-01-02 12:00:00'],
> dtype='datetime64[ns]', name='time', freq=None)
> key = 1514764800000000000, method = None, tolerance = None
>
> def get_loc(self, key, method=None, tolerance=None):
> """
> Get integer location for requested label
>
> Returns
> -------
> loc : int
> """
> if not is_scalar(key):
> raise InvalidIndexError(key)
>
> orig_key = key
> if is_valid_nat_for_dtype(key, self.dtype):
> key = NaT
>
> if isinstance(key, self._data._recognized_scalars):
> # needed to localize naive datetimes
> key = self._maybe_cast_for_get_loc(key)
>
> elif isinstance(key, str):
> try:
> return self._get_string_slice(key)
> except (TypeError, KeyError, ValueError, OverflowError):
> pass
>
> try:
> key = self._maybe_cast_for_get_loc(key)
> except ValueError as err:
> raise KeyError(key) from err
>
> elif isinstance(key, timedelta):
> # GH#20464
> raise TypeError(
> f"Cannot index {type(self).__name__} with
> {type(key).__name__}"
> )
>
> elif isinstance(key, time):
> if method is not None:
> raise NotImplementedError(
> "cannot yet lookup inexact labels when key is a time
> object"
> )
> return self.indexer_at_time(key)
>
> else:
> # unrecognized type
> > raise KeyError(key)
> E KeyError: 1514764800000000000
>
> /usr/lib/python3/dist-packages/pandas/core/indexes/datetimes.py:622: KeyError
> ______________ test_canonical_dataarray_to_grib_detect_grib_keys
> _______________
>
> canonic_da = <xarray.DataArray (time: 4, step: 2, isobaricInhPa: 3, latitude:
> 5, longitude: 6)>
> array([[[[[0., 0., 0., 0., 0., 0.],... (latitude) float64 90.0 45.0 0.0
> -45.0 -90.0
> * longitude (longitude) float64 0.0 60.0 120.0 180.0 240.0 300.0
> tmpdir =
> local('/tmp/pytest-of-user42/pytest-6/test_canonical_dataarray_to_gr1')
>
> def test_canonical_dataarray_to_grib_detect_grib_keys(canonic_da, tmpdir):
> out_path = tmpdir.join('res.grib')
> with open(str(out_path), 'wb') as file:
> > xarray_to_grib.canonical_dataarray_to_grib(canonic_da, file)
>
> tests/test_40_xarray_to_grib_regular_ll.py:36:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> cfgrib/xarray_to_grib.py:224: in canonical_dataarray_to_grib
> field_values = data_var.sel(**select).values.flat[:]
> /usr/lib/python3/dist-packages/xarray/core/dataarray.py:1143: in sel
> ds = self._to_temp_dataset().sel(
> /usr/lib/python3/dist-packages/xarray/core/dataset.py:2105: in sel
> pos_indexers, new_indexes = remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/coordinates.py:397: in
> remap_label_indexers
> pos_indexers, new_indexes = indexing.remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:275: in
> remap_label_indexers
> idxr, new_idx = convert_label_indexer(index, label, dim, method,
> tolerance)
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:196: in
> convert_label_indexer
> indexer = index.get_loc(label_value, method=method, tolerance=tolerance)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = DatetimeIndex(['2018-01-01 00:00:00', '2018-01-01 12:00:00',
> '2018-01-02 00:00:00', '2018-01-02 12:00:00'],
> dtype='datetime64[ns]', name='time', freq=None)
> key = 1514764800000000000, method = None, tolerance = None
>
> def get_loc(self, key, method=None, tolerance=None):
> """
> Get integer location for requested label
>
> Returns
> -------
> loc : int
> """
> if not is_scalar(key):
> raise InvalidIndexError(key)
>
> orig_key = key
> if is_valid_nat_for_dtype(key, self.dtype):
> key = NaT
>
> if isinstance(key, self._data._recognized_scalars):
> # needed to localize naive datetimes
> key = self._maybe_cast_for_get_loc(key)
>
> elif isinstance(key, str):
> try:
> return self._get_string_slice(key)
> except (TypeError, KeyError, ValueError, OverflowError):
> pass
>
> try:
> key = self._maybe_cast_for_get_loc(key)
> except ValueError as err:
> raise KeyError(key) from err
>
> elif isinstance(key, timedelta):
> # GH#20464
> raise TypeError(
> f"Cannot index {type(self).__name__} with
> {type(key).__name__}"
> )
>
> elif isinstance(key, time):
> if method is not None:
> raise NotImplementedError(
> "cannot yet lookup inexact labels when key is a time
> object"
> )
> return self.indexer_at_time(key)
>
> else:
> # unrecognized type
> > raise KeyError(key)
> E KeyError: 1514764800000000000
>
> /usr/lib/python3/dist-packages/pandas/core/indexes/datetimes.py:622: KeyError
> ________________________ test_canonical_dataset_to_grib
> ________________________
>
> canonic_da = <xarray.DataArray (time: 4, step: 2, isobaricInhPa: 3, latitude:
> 5, longitude: 6)>
> array([[[[[0., 0., 0., 0., 0., 0.],... (latitude) float64 90.0 45.0 0.0
> -45.0 -90.0
> * longitude (longitude) float64 0.0 60.0 120.0 180.0 240.0 300.0
> tmpdir =
> local('/tmp/pytest-of-user42/pytest-6/test_canonical_dataset_to_grib0')
>
> def test_canonical_dataset_to_grib(canonic_da, tmpdir):
> out_path = tmpdir.join('res.grib')
> canonic_ds = canonic_da.to_dataset(name='t')
> with pytest.warns(FutureWarning):
> > xarray_to_grib.canonical_dataset_to_grib(canonic_ds,
> > str(out_path))
>
> tests/test_40_xarray_to_grib_regular_ll.py:51:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> cfgrib/xarray_to_grib.py:265: in canonical_dataset_to_grib
> canonical_dataarray_to_grib(data_var, file, grib_keys=real_grib_keys,
> **kwargs)
> cfgrib/xarray_to_grib.py:224: in canonical_dataarray_to_grib
> field_values = data_var.sel(**select).values.flat[:]
> /usr/lib/python3/dist-packages/xarray/core/dataarray.py:1143: in sel
> ds = self._to_temp_dataset().sel(
> /usr/lib/python3/dist-packages/xarray/core/dataset.py:2105: in sel
> pos_indexers, new_indexes = remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/coordinates.py:397: in
> remap_label_indexers
> pos_indexers, new_indexes = indexing.remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:275: in
> remap_label_indexers
> idxr, new_idx = convert_label_indexer(index, label, dim, method,
> tolerance)
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:196: in
> convert_label_indexer
> indexer = index.get_loc(label_value, method=method, tolerance=tolerance)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = DatetimeIndex(['2018-01-01 00:00:00', '2018-01-01 12:00:00',
> '2018-01-02 00:00:00', '2018-01-02 12:00:00'],
> dtype='datetime64[ns]', name='time', freq=None)
> key = 1514764800000000000, method = None, tolerance = None
>
> def get_loc(self, key, method=None, tolerance=None):
> """
> Get integer location for requested label
>
> Returns
> -------
> loc : int
> """
> if not is_scalar(key):
> raise InvalidIndexError(key)
>
> orig_key = key
> if is_valid_nat_for_dtype(key, self.dtype):
> key = NaT
>
> if isinstance(key, self._data._recognized_scalars):
> # needed to localize naive datetimes
> key = self._maybe_cast_for_get_loc(key)
>
> elif isinstance(key, str):
> try:
> return self._get_string_slice(key)
> except (TypeError, KeyError, ValueError, OverflowError):
> pass
>
> try:
> key = self._maybe_cast_for_get_loc(key)
> except ValueError as err:
> raise KeyError(key) from err
>
> elif isinstance(key, timedelta):
> # GH#20464
> raise TypeError(
> f"Cannot index {type(self).__name__} with
> {type(key).__name__}"
> )
>
> elif isinstance(key, time):
> if method is not None:
> raise NotImplementedError(
> "cannot yet lookup inexact labels when key is a time
> object"
> )
> return self.indexer_at_time(key)
>
> else:
> # unrecognized type
> > raise KeyError(key)
> E KeyError: 1514764800000000000
>
> /usr/lib/python3/dist-packages/pandas/core/indexes/datetimes.py:622: KeyError
> _________________________________ test_to_grib
> _________________________________
>
> canonic_da = <xarray.DataArray (time: 4, step: 2, isobaricInhPa: 3, latitude:
> 5, longitude: 6)>
> array([[[[[0., 0., 0., 0., 0., 0.],... (latitude) float64 90.0 45.0 0.0
> -45.0 -90.0
> * longitude (longitude) float64 0.0 60.0 120.0 180.0 240.0 300.0
> tmpdir = local('/tmp/pytest-of-user42/pytest-6/test_to_grib0')
>
> def test_to_grib(canonic_da, tmpdir):
> out_path = tmpdir.join('res.grib')
> canonic_ds = canonic_da.to_dataset(name='t')
> with pytest.warns(FutureWarning):
> > xarray_to_grib.to_grib(canonic_ds, str(out_path))
>
> tests/test_40_xarray_to_grib_regular_ll.py:60:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> cfgrib/xarray_to_grib.py:269: in to_grib
> return canonical_dataset_to_grib(*args, **kwargs)
> cfgrib/xarray_to_grib.py:265: in canonical_dataset_to_grib
> canonical_dataarray_to_grib(data_var, file, grib_keys=real_grib_keys,
> **kwargs)
> cfgrib/xarray_to_grib.py:224: in canonical_dataarray_to_grib
> field_values = data_var.sel(**select).values.flat[:]
> /usr/lib/python3/dist-packages/xarray/core/dataarray.py:1143: in sel
> ds = self._to_temp_dataset().sel(
> /usr/lib/python3/dist-packages/xarray/core/dataset.py:2105: in sel
> pos_indexers, new_indexes = remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/coordinates.py:397: in
> remap_label_indexers
> pos_indexers, new_indexes = indexing.remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:275: in
> remap_label_indexers
> idxr, new_idx = convert_label_indexer(index, label, dim, method,
> tolerance)
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:196: in
> convert_label_indexer
> indexer = index.get_loc(label_value, method=method, tolerance=tolerance)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = DatetimeIndex(['2018-01-01 00:00:00', '2018-01-01 12:00:00',
> '2018-01-02 00:00:00', '2018-01-02 12:00:00'],
> dtype='datetime64[ns]', name='time', freq=None)
> key = 1514764800000000000, method = None, tolerance = None
>
> def get_loc(self, key, method=None, tolerance=None):
> """
> Get integer location for requested label
>
> Returns
> -------
> loc : int
> """
> if not is_scalar(key):
> raise InvalidIndexError(key)
>
> orig_key = key
> if is_valid_nat_for_dtype(key, self.dtype):
> key = NaT
>
> if isinstance(key, self._data._recognized_scalars):
> # needed to localize naive datetimes
> key = self._maybe_cast_for_get_loc(key)
>
> elif isinstance(key, str):
> try:
> return self._get_string_slice(key)
> except (TypeError, KeyError, ValueError, OverflowError):
> pass
>
> try:
> key = self._maybe_cast_for_get_loc(key)
> except ValueError as err:
> raise KeyError(key) from err
>
> elif isinstance(key, timedelta):
> # GH#20464
> raise TypeError(
> f"Cannot index {type(self).__name__} with
> {type(key).__name__}"
> )
>
> elif isinstance(key, time):
> if method is not None:
> raise NotImplementedError(
> "cannot yet lookup inexact labels when key is a time
> object"
> )
> return self.indexer_at_time(key)
>
> else:
> # unrecognized type
> > raise KeyError(key)
> E KeyError: 1514764800000000000
>
> /usr/lib/python3/dist-packages/pandas/core/indexes/datetimes.py:622: KeyError
> _____________ test_canonical_dataset_to_grib[era5-levels-members]
> ______________
>
> grib_name = 'era5-levels-members'
> tmpdir =
> local('/tmp/pytest-of-user42/pytest-6/test_canonical_dataset_to_grib1')
>
> @pytest.mark.parametrize(
> 'grib_name',
> [
> 'era5-levels-members',
> 'fields_with_missing_values',
> pytest.param('lambert_grid', marks=pytest.mark.xfail),
> 'reduced_gg',
> 'regular_gg_sfc',
> 'regular_gg_pl',
> 'regular_gg_ml',
> pytest.param('regular_gg_ml_g2', marks=pytest.mark.xfail),
> 'regular_ll_sfc',
> 'regular_ll_msl',
> 'scanning_mode_64',
> pytest.param('spherical_harmonics', marks=pytest.mark.xfail),
> 't_analysis_and_fc_0',
> ],
> )
> def test_canonical_dataset_to_grib(grib_name, tmpdir):
> grib_path = os.path.join(SAMPLE_DATA_FOLDER, grib_name + '.grib')
> out_path = str(tmpdir.join(grib_name + '.grib'))
>
> res = xarray_store.open_dataset(grib_path)
>
> > xarray_to_grib.canonical_dataset_to_grib(res, out_path)
>
> tests/test_50_sample_data.py:89:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> cfgrib/xarray_to_grib.py:265: in canonical_dataset_to_grib
> canonical_dataarray_to_grib(data_var, file, grib_keys=real_grib_keys,
> **kwargs)
> cfgrib/xarray_to_grib.py:224: in canonical_dataarray_to_grib
> field_values = data_var.sel(**select).values.flat[:]
> /usr/lib/python3/dist-packages/xarray/core/dataarray.py:1143: in sel
> ds = self._to_temp_dataset().sel(
> /usr/lib/python3/dist-packages/xarray/core/dataset.py:2105: in sel
> pos_indexers, new_indexes = remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/coordinates.py:397: in
> remap_label_indexers
> pos_indexers, new_indexes = indexing.remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:275: in
> remap_label_indexers
> idxr, new_idx = convert_label_indexer(index, label, dim, method,
> tolerance)
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:196: in
> convert_label_indexer
> indexer = index.get_loc(label_value, method=method, tolerance=tolerance)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = DatetimeIndex(['2017-01-01 00:00:00', '2017-01-01 12:00:00',
> '2017-01-02 00:00:00', '2017-01-02 12:00:00'],
> dtype='datetime64[ns]', name='time', freq=None)
> key = 1483228800000000000, method = None, tolerance = None
>
> def get_loc(self, key, method=None, tolerance=None):
> """
> Get integer location for requested label
>
> Returns
> -------
> loc : int
> """
> if not is_scalar(key):
> raise InvalidIndexError(key)
>
> orig_key = key
> if is_valid_nat_for_dtype(key, self.dtype):
> key = NaT
>
> if isinstance(key, self._data._recognized_scalars):
> # needed to localize naive datetimes
> key = self._maybe_cast_for_get_loc(key)
>
> elif isinstance(key, str):
> try:
> return self._get_string_slice(key)
> except (TypeError, KeyError, ValueError, OverflowError):
> pass
>
> try:
> key = self._maybe_cast_for_get_loc(key)
> except ValueError as err:
> raise KeyError(key) from err
>
> elif isinstance(key, timedelta):
> # GH#20464
> raise TypeError(
> f"Cannot index {type(self).__name__} with
> {type(key).__name__}"
> )
>
> elif isinstance(key, time):
> if method is not None:
> raise NotImplementedError(
> "cannot yet lookup inexact labels when key is a time
> object"
> )
> return self.indexer_at_time(key)
>
> else:
> # unrecognized type
> > raise KeyError(key)
> E KeyError: 1483228800000000000
>
> /usr/lib/python3/dist-packages/pandas/core/indexes/datetimes.py:622: KeyError
> ------------------------------ Captured log call
> -------------------------------
> WARNING cfgrib.messages:messages.py:360 Ignoring index file
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_cfgrib/build/tests/sample-data/era5-levels-members.grib.90c91.idx'
> incompatible with GRIB file
> __________ test_canonical_dataset_to_grib[fields_with_missing_values]
> __________
>
> grib_name = 'fields_with_missing_values'
> tmpdir =
> local('/tmp/pytest-of-user42/pytest-6/test_canonical_dataset_to_grib2')
>
> @pytest.mark.parametrize(
> 'grib_name',
> [
> 'era5-levels-members',
> 'fields_with_missing_values',
> pytest.param('lambert_grid', marks=pytest.mark.xfail),
> 'reduced_gg',
> 'regular_gg_sfc',
> 'regular_gg_pl',
> 'regular_gg_ml',
> pytest.param('regular_gg_ml_g2', marks=pytest.mark.xfail),
> 'regular_ll_sfc',
> 'regular_ll_msl',
> 'scanning_mode_64',
> pytest.param('spherical_harmonics', marks=pytest.mark.xfail),
> 't_analysis_and_fc_0',
> ],
> )
> def test_canonical_dataset_to_grib(grib_name, tmpdir):
> grib_path = os.path.join(SAMPLE_DATA_FOLDER, grib_name + '.grib')
> out_path = str(tmpdir.join(grib_name + '.grib'))
>
> res = xarray_store.open_dataset(grib_path)
>
> > xarray_to_grib.canonical_dataset_to_grib(res, out_path)
>
> tests/test_50_sample_data.py:89:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> cfgrib/xarray_to_grib.py:265: in canonical_dataset_to_grib
> canonical_dataarray_to_grib(data_var, file, grib_keys=real_grib_keys,
> **kwargs)
> cfgrib/xarray_to_grib.py:224: in canonical_dataarray_to_grib
> field_values = data_var.sel(**select).values.flat[:]
> /usr/lib/python3/dist-packages/xarray/core/dataarray.py:1143: in sel
> ds = self._to_temp_dataset().sel(
> /usr/lib/python3/dist-packages/xarray/core/dataset.py:2105: in sel
> pos_indexers, new_indexes = remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/coordinates.py:397: in
> remap_label_indexers
> pos_indexers, new_indexes = indexing.remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:275: in
> remap_label_indexers
> idxr, new_idx = convert_label_indexer(index, label, dim, method,
> tolerance)
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:196: in
> convert_label_indexer
> indexer = index.get_loc(label_value, method=method, tolerance=tolerance)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = DatetimeIndex(['2017-10-18 00:00:00', '2017-10-18 12:00:00'],
> dtype='datetime64[ns]', name='time', freq=None)
> key = 1508284800000000000, method = None, tolerance = None
>
> def get_loc(self, key, method=None, tolerance=None):
> """
> Get integer location for requested label
>
> Returns
> -------
> loc : int
> """
> if not is_scalar(key):
> raise InvalidIndexError(key)
>
> orig_key = key
> if is_valid_nat_for_dtype(key, self.dtype):
> key = NaT
>
> if isinstance(key, self._data._recognized_scalars):
> # needed to localize naive datetimes
> key = self._maybe_cast_for_get_loc(key)
>
> elif isinstance(key, str):
> try:
> return self._get_string_slice(key)
> except (TypeError, KeyError, ValueError, OverflowError):
> pass
>
> try:
> key = self._maybe_cast_for_get_loc(key)
> except ValueError as err:
> raise KeyError(key) from err
>
> elif isinstance(key, timedelta):
> # GH#20464
> raise TypeError(
> f"Cannot index {type(self).__name__} with
> {type(key).__name__}"
> )
>
> elif isinstance(key, time):
> if method is not None:
> raise NotImplementedError(
> "cannot yet lookup inexact labels when key is a time
> object"
> )
> return self.indexer_at_time(key)
>
> else:
> # unrecognized type
> > raise KeyError(key)
> E KeyError: 1508284800000000000
>
> /usr/lib/python3/dist-packages/pandas/core/indexes/datetimes.py:622: KeyError
> __________________ test_canonical_dataset_to_grib[reduced_gg]
> __________________
>
> grib_name = 'reduced_gg'
> tmpdir =
> local('/tmp/pytest-of-user42/pytest-6/test_canonical_dataset_to_grib4')
>
> @pytest.mark.parametrize(
> 'grib_name',
> [
> 'era5-levels-members',
> 'fields_with_missing_values',
> pytest.param('lambert_grid', marks=pytest.mark.xfail),
> 'reduced_gg',
> 'regular_gg_sfc',
> 'regular_gg_pl',
> 'regular_gg_ml',
> pytest.param('regular_gg_ml_g2', marks=pytest.mark.xfail),
> 'regular_ll_sfc',
> 'regular_ll_msl',
> 'scanning_mode_64',
> pytest.param('spherical_harmonics', marks=pytest.mark.xfail),
> 't_analysis_and_fc_0',
> ],
> )
> def test_canonical_dataset_to_grib(grib_name, tmpdir):
> grib_path = os.path.join(SAMPLE_DATA_FOLDER, grib_name + '.grib')
> out_path = str(tmpdir.join(grib_name + '.grib'))
>
> res = xarray_store.open_dataset(grib_path)
>
> > xarray_to_grib.canonical_dataset_to_grib(res, out_path)
>
> tests/test_50_sample_data.py:89:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> cfgrib/xarray_to_grib.py:265: in canonical_dataset_to_grib
> canonical_dataarray_to_grib(data_var, file, grib_keys=real_grib_keys,
> **kwargs)
> cfgrib/xarray_to_grib.py:224: in canonical_dataarray_to_grib
> field_values = data_var.sel(**select).values.flat[:]
> /usr/lib/python3/dist-packages/xarray/core/dataarray.py:1143: in sel
> ds = self._to_temp_dataset().sel(
> /usr/lib/python3/dist-packages/xarray/core/dataset.py:2105: in sel
> pos_indexers, new_indexes = remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/coordinates.py:397: in
> remap_label_indexers
> pos_indexers, new_indexes = indexing.remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:275: in
> remap_label_indexers
> idxr, new_idx = convert_label_indexer(index, label, dim, method,
> tolerance)
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:196: in
> convert_label_indexer
> indexer = index.get_loc(label_value, method=method, tolerance=tolerance)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = DatetimeIndex(['2017-10-18 12:00:00'], dtype='datetime64[ns]',
> name='time', freq=None)
> key = 1508328000000000000, method = None, tolerance = None
>
> def get_loc(self, key, method=None, tolerance=None):
> """
> Get integer location for requested label
>
> Returns
> -------
> loc : int
> """
> if not is_scalar(key):
> raise InvalidIndexError(key)
>
> orig_key = key
> if is_valid_nat_for_dtype(key, self.dtype):
> key = NaT
>
> if isinstance(key, self._data._recognized_scalars):
> # needed to localize naive datetimes
> key = self._maybe_cast_for_get_loc(key)
>
> elif isinstance(key, str):
> try:
> return self._get_string_slice(key)
> except (TypeError, KeyError, ValueError, OverflowError):
> pass
>
> try:
> key = self._maybe_cast_for_get_loc(key)
> except ValueError as err:
> raise KeyError(key) from err
>
> elif isinstance(key, timedelta):
> # GH#20464
> raise TypeError(
> f"Cannot index {type(self).__name__} with
> {type(key).__name__}"
> )
>
> elif isinstance(key, time):
> if method is not None:
> raise NotImplementedError(
> "cannot yet lookup inexact labels when key is a time
> object"
> )
> return self.indexer_at_time(key)
>
> else:
> # unrecognized type
> > raise KeyError(key)
> E KeyError: 1508328000000000000
>
> /usr/lib/python3/dist-packages/pandas/core/indexes/datetimes.py:622: KeyError
> ________________ test_canonical_dataset_to_grib[regular_gg_sfc]
> ________________
>
> grib_name = 'regular_gg_sfc'
> tmpdir =
> local('/tmp/pytest-of-user42/pytest-6/test_canonical_dataset_to_grib5')
>
> @pytest.mark.parametrize(
> 'grib_name',
> [
> 'era5-levels-members',
> 'fields_with_missing_values',
> pytest.param('lambert_grid', marks=pytest.mark.xfail),
> 'reduced_gg',
> 'regular_gg_sfc',
> 'regular_gg_pl',
> 'regular_gg_ml',
> pytest.param('regular_gg_ml_g2', marks=pytest.mark.xfail),
> 'regular_ll_sfc',
> 'regular_ll_msl',
> 'scanning_mode_64',
> pytest.param('spherical_harmonics', marks=pytest.mark.xfail),
> 't_analysis_and_fc_0',
> ],
> )
> def test_canonical_dataset_to_grib(grib_name, tmpdir):
> grib_path = os.path.join(SAMPLE_DATA_FOLDER, grib_name + '.grib')
> out_path = str(tmpdir.join(grib_name + '.grib'))
>
> res = xarray_store.open_dataset(grib_path)
>
> > xarray_to_grib.canonical_dataset_to_grib(res, out_path)
>
> tests/test_50_sample_data.py:89:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> cfgrib/xarray_to_grib.py:265: in canonical_dataset_to_grib
> canonical_dataarray_to_grib(data_var, file, grib_keys=real_grib_keys,
> **kwargs)
> cfgrib/xarray_to_grib.py:224: in canonical_dataarray_to_grib
> field_values = data_var.sel(**select).values.flat[:]
> /usr/lib/python3/dist-packages/xarray/core/dataarray.py:1143: in sel
> ds = self._to_temp_dataset().sel(
> /usr/lib/python3/dist-packages/xarray/core/dataset.py:2105: in sel
> pos_indexers, new_indexes = remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/coordinates.py:397: in
> remap_label_indexers
> pos_indexers, new_indexes = indexing.remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:275: in
> remap_label_indexers
> idxr, new_idx = convert_label_indexer(index, label, dim, method,
> tolerance)
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:196: in
> convert_label_indexer
> indexer = index.get_loc(label_value, method=method, tolerance=tolerance)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = DatetimeIndex(['2017-10-18 12:00:00'], dtype='datetime64[ns]',
> name='time', freq=None)
> key = 1508328000000000000, method = None, tolerance = None
>
> def get_loc(self, key, method=None, tolerance=None):
> """
> Get integer location for requested label
>
> Returns
> -------
> loc : int
> """
> if not is_scalar(key):
> raise InvalidIndexError(key)
>
> orig_key = key
> if is_valid_nat_for_dtype(key, self.dtype):
> key = NaT
>
> if isinstance(key, self._data._recognized_scalars):
> # needed to localize naive datetimes
> key = self._maybe_cast_for_get_loc(key)
>
> elif isinstance(key, str):
> try:
> return self._get_string_slice(key)
> except (TypeError, KeyError, ValueError, OverflowError):
> pass
>
> try:
> key = self._maybe_cast_for_get_loc(key)
> except ValueError as err:
> raise KeyError(key) from err
>
> elif isinstance(key, timedelta):
> # GH#20464
> raise TypeError(
> f"Cannot index {type(self).__name__} with
> {type(key).__name__}"
> )
>
> elif isinstance(key, time):
> if method is not None:
> raise NotImplementedError(
> "cannot yet lookup inexact labels when key is a time
> object"
> )
> return self.indexer_at_time(key)
>
> else:
> # unrecognized type
> > raise KeyError(key)
> E KeyError: 1508328000000000000
>
> /usr/lib/python3/dist-packages/pandas/core/indexes/datetimes.py:622: KeyError
> ________________ test_canonical_dataset_to_grib[regular_gg_pl]
> _________________
>
> grib_name = 'regular_gg_pl'
> tmpdir =
> local('/tmp/pytest-of-user42/pytest-6/test_canonical_dataset_to_grib6')
>
> @pytest.mark.parametrize(
> 'grib_name',
> [
> 'era5-levels-members',
> 'fields_with_missing_values',
> pytest.param('lambert_grid', marks=pytest.mark.xfail),
> 'reduced_gg',
> 'regular_gg_sfc',
> 'regular_gg_pl',
> 'regular_gg_ml',
> pytest.param('regular_gg_ml_g2', marks=pytest.mark.xfail),
> 'regular_ll_sfc',
> 'regular_ll_msl',
> 'scanning_mode_64',
> pytest.param('spherical_harmonics', marks=pytest.mark.xfail),
> 't_analysis_and_fc_0',
> ],
> )
> def test_canonical_dataset_to_grib(grib_name, tmpdir):
> grib_path = os.path.join(SAMPLE_DATA_FOLDER, grib_name + '.grib')
> out_path = str(tmpdir.join(grib_name + '.grib'))
>
> res = xarray_store.open_dataset(grib_path)
>
> > xarray_to_grib.canonical_dataset_to_grib(res, out_path)
>
> tests/test_50_sample_data.py:89:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> cfgrib/xarray_to_grib.py:265: in canonical_dataset_to_grib
> canonical_dataarray_to_grib(data_var, file, grib_keys=real_grib_keys,
> **kwargs)
> cfgrib/xarray_to_grib.py:224: in canonical_dataarray_to_grib
> field_values = data_var.sel(**select).values.flat[:]
> /usr/lib/python3/dist-packages/xarray/core/dataarray.py:1143: in sel
> ds = self._to_temp_dataset().sel(
> /usr/lib/python3/dist-packages/xarray/core/dataset.py:2105: in sel
> pos_indexers, new_indexes = remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/coordinates.py:397: in
> remap_label_indexers
> pos_indexers, new_indexes = indexing.remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:275: in
> remap_label_indexers
> idxr, new_idx = convert_label_indexer(index, label, dim, method,
> tolerance)
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:196: in
> convert_label_indexer
> indexer = index.get_loc(label_value, method=method, tolerance=tolerance)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = DatetimeIndex(['2017-10-18 12:00:00'], dtype='datetime64[ns]',
> name='time', freq=None)
> key = 1508328000000000000, method = None, tolerance = None
>
> def get_loc(self, key, method=None, tolerance=None):
> """
> Get integer location for requested label
>
> Returns
> -------
> loc : int
> """
> if not is_scalar(key):
> raise InvalidIndexError(key)
>
> orig_key = key
> if is_valid_nat_for_dtype(key, self.dtype):
> key = NaT
>
> if isinstance(key, self._data._recognized_scalars):
> # needed to localize naive datetimes
> key = self._maybe_cast_for_get_loc(key)
>
> elif isinstance(key, str):
> try:
> return self._get_string_slice(key)
> except (TypeError, KeyError, ValueError, OverflowError):
> pass
>
> try:
> key = self._maybe_cast_for_get_loc(key)
> except ValueError as err:
> raise KeyError(key) from err
>
> elif isinstance(key, timedelta):
> # GH#20464
> raise TypeError(
> f"Cannot index {type(self).__name__} with
> {type(key).__name__}"
> )
>
> elif isinstance(key, time):
> if method is not None:
> raise NotImplementedError(
> "cannot yet lookup inexact labels when key is a time
> object"
> )
> return self.indexer_at_time(key)
>
> else:
> # unrecognized type
> > raise KeyError(key)
> E KeyError: 1508328000000000000
>
> /usr/lib/python3/dist-packages/pandas/core/indexes/datetimes.py:622: KeyError
> ________________ test_canonical_dataset_to_grib[regular_gg_ml]
> _________________
>
> grib_name = 'regular_gg_ml'
> tmpdir =
> local('/tmp/pytest-of-user42/pytest-6/test_canonical_dataset_to_grib7')
>
> @pytest.mark.parametrize(
> 'grib_name',
> [
> 'era5-levels-members',
> 'fields_with_missing_values',
> pytest.param('lambert_grid', marks=pytest.mark.xfail),
> 'reduced_gg',
> 'regular_gg_sfc',
> 'regular_gg_pl',
> 'regular_gg_ml',
> pytest.param('regular_gg_ml_g2', marks=pytest.mark.xfail),
> 'regular_ll_sfc',
> 'regular_ll_msl',
> 'scanning_mode_64',
> pytest.param('spherical_harmonics', marks=pytest.mark.xfail),
> 't_analysis_and_fc_0',
> ],
> )
> def test_canonical_dataset_to_grib(grib_name, tmpdir):
> grib_path = os.path.join(SAMPLE_DATA_FOLDER, grib_name + '.grib')
> out_path = str(tmpdir.join(grib_name + '.grib'))
>
> res = xarray_store.open_dataset(grib_path)
>
> > xarray_to_grib.canonical_dataset_to_grib(res, out_path)
>
> tests/test_50_sample_data.py:89:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> cfgrib/xarray_to_grib.py:265: in canonical_dataset_to_grib
> canonical_dataarray_to_grib(data_var, file, grib_keys=real_grib_keys,
> **kwargs)
> cfgrib/xarray_to_grib.py:224: in canonical_dataarray_to_grib
> field_values = data_var.sel(**select).values.flat[:]
> /usr/lib/python3/dist-packages/xarray/core/dataarray.py:1143: in sel
> ds = self._to_temp_dataset().sel(
> /usr/lib/python3/dist-packages/xarray/core/dataset.py:2105: in sel
> pos_indexers, new_indexes = remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/coordinates.py:397: in
> remap_label_indexers
> pos_indexers, new_indexes = indexing.remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:275: in
> remap_label_indexers
> idxr, new_idx = convert_label_indexer(index, label, dim, method,
> tolerance)
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:196: in
> convert_label_indexer
> indexer = index.get_loc(label_value, method=method, tolerance=tolerance)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = DatetimeIndex(['2008-02-06 12:00:00'], dtype='datetime64[ns]',
> name='time', freq=None)
> key = 1202299200000000000, method = None, tolerance = None
>
> def get_loc(self, key, method=None, tolerance=None):
> """
> Get integer location for requested label
>
> Returns
> -------
> loc : int
> """
> if not is_scalar(key):
> raise InvalidIndexError(key)
>
> orig_key = key
> if is_valid_nat_for_dtype(key, self.dtype):
> key = NaT
>
> if isinstance(key, self._data._recognized_scalars):
> # needed to localize naive datetimes
> key = self._maybe_cast_for_get_loc(key)
>
> elif isinstance(key, str):
> try:
> return self._get_string_slice(key)
> except (TypeError, KeyError, ValueError, OverflowError):
> pass
>
> try:
> key = self._maybe_cast_for_get_loc(key)
> except ValueError as err:
> raise KeyError(key) from err
>
> elif isinstance(key, timedelta):
> # GH#20464
> raise TypeError(
> f"Cannot index {type(self).__name__} with
> {type(key).__name__}"
> )
>
> elif isinstance(key, time):
> if method is not None:
> raise NotImplementedError(
> "cannot yet lookup inexact labels when key is a time
> object"
> )
> return self.indexer_at_time(key)
>
> else:
> # unrecognized type
> > raise KeyError(key)
> E KeyError: 1202299200000000000
>
> /usr/lib/python3/dist-packages/pandas/core/indexes/datetimes.py:622: KeyError
> ________________ test_canonical_dataset_to_grib[regular_ll_sfc]
> ________________
>
> grib_name = 'regular_ll_sfc'
> tmpdir =
> local('/tmp/pytest-of-user42/pytest-6/test_canonical_dataset_to_grib9')
>
> @pytest.mark.parametrize(
> 'grib_name',
> [
> 'era5-levels-members',
> 'fields_with_missing_values',
> pytest.param('lambert_grid', marks=pytest.mark.xfail),
> 'reduced_gg',
> 'regular_gg_sfc',
> 'regular_gg_pl',
> 'regular_gg_ml',
> pytest.param('regular_gg_ml_g2', marks=pytest.mark.xfail),
> 'regular_ll_sfc',
> 'regular_ll_msl',
> 'scanning_mode_64',
> pytest.param('spherical_harmonics', marks=pytest.mark.xfail),
> 't_analysis_and_fc_0',
> ],
> )
> def test_canonical_dataset_to_grib(grib_name, tmpdir):
> grib_path = os.path.join(SAMPLE_DATA_FOLDER, grib_name + '.grib')
> out_path = str(tmpdir.join(grib_name + '.grib'))
>
> res = xarray_store.open_dataset(grib_path)
>
> > xarray_to_grib.canonical_dataset_to_grib(res, out_path)
>
> tests/test_50_sample_data.py:89:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> cfgrib/xarray_to_grib.py:265: in canonical_dataset_to_grib
> canonical_dataarray_to_grib(data_var, file, grib_keys=real_grib_keys,
> **kwargs)
> cfgrib/xarray_to_grib.py:224: in canonical_dataarray_to_grib
> field_values = data_var.sel(**select).values.flat[:]
> /usr/lib/python3/dist-packages/xarray/core/dataarray.py:1143: in sel
> ds = self._to_temp_dataset().sel(
> /usr/lib/python3/dist-packages/xarray/core/dataset.py:2105: in sel
> pos_indexers, new_indexes = remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/coordinates.py:397: in
> remap_label_indexers
> pos_indexers, new_indexes = indexing.remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:275: in
> remap_label_indexers
> idxr, new_idx = convert_label_indexer(index, label, dim, method,
> tolerance)
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:196: in
> convert_label_indexer
> indexer = index.get_loc(label_value, method=method, tolerance=tolerance)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = DatetimeIndex(['2017-10-18 12:00:00'], dtype='datetime64[ns]',
> name='time', freq=None)
> key = 1508328000000000000, method = None, tolerance = None
>
> def get_loc(self, key, method=None, tolerance=None):
> """
> Get integer location for requested label
>
> Returns
> -------
> loc : int
> """
> if not is_scalar(key):
> raise InvalidIndexError(key)
>
> orig_key = key
> if is_valid_nat_for_dtype(key, self.dtype):
> key = NaT
>
> if isinstance(key, self._data._recognized_scalars):
> # needed to localize naive datetimes
> key = self._maybe_cast_for_get_loc(key)
>
> elif isinstance(key, str):
> try:
> return self._get_string_slice(key)
> except (TypeError, KeyError, ValueError, OverflowError):
> pass
>
> try:
> key = self._maybe_cast_for_get_loc(key)
> except ValueError as err:
> raise KeyError(key) from err
>
> elif isinstance(key, timedelta):
> # GH#20464
> raise TypeError(
> f"Cannot index {type(self).__name__} with
> {type(key).__name__}"
> )
>
> elif isinstance(key, time):
> if method is not None:
> raise NotImplementedError(
> "cannot yet lookup inexact labels when key is a time
> object"
> )
> return self.indexer_at_time(key)
>
> else:
> # unrecognized type
> > raise KeyError(key)
> E KeyError: 1508328000000000000
>
> /usr/lib/python3/dist-packages/pandas/core/indexes/datetimes.py:622: KeyError
> ________________ test_canonical_dataset_to_grib[regular_ll_msl]
> ________________
>
> grib_name = 'regular_ll_msl'
> tmpdir =
> local('/tmp/pytest-of-user42/pytest-6/test_canonical_dataset_to_grib10')
>
> @pytest.mark.parametrize(
> 'grib_name',
> [
> 'era5-levels-members',
> 'fields_with_missing_values',
> pytest.param('lambert_grid', marks=pytest.mark.xfail),
> 'reduced_gg',
> 'regular_gg_sfc',
> 'regular_gg_pl',
> 'regular_gg_ml',
> pytest.param('regular_gg_ml_g2', marks=pytest.mark.xfail),
> 'regular_ll_sfc',
> 'regular_ll_msl',
> 'scanning_mode_64',
> pytest.param('spherical_harmonics', marks=pytest.mark.xfail),
> 't_analysis_and_fc_0',
> ],
> )
> def test_canonical_dataset_to_grib(grib_name, tmpdir):
> grib_path = os.path.join(SAMPLE_DATA_FOLDER, grib_name + '.grib')
> out_path = str(tmpdir.join(grib_name + '.grib'))
>
> res = xarray_store.open_dataset(grib_path)
>
> > xarray_to_grib.canonical_dataset_to_grib(res, out_path)
>
> tests/test_50_sample_data.py:89:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> cfgrib/xarray_to_grib.py:265: in canonical_dataset_to_grib
> canonical_dataarray_to_grib(data_var, file, grib_keys=real_grib_keys,
> **kwargs)
> cfgrib/xarray_to_grib.py:224: in canonical_dataarray_to_grib
> field_values = data_var.sel(**select).values.flat[:]
> /usr/lib/python3/dist-packages/xarray/core/dataarray.py:1143: in sel
> ds = self._to_temp_dataset().sel(
> /usr/lib/python3/dist-packages/xarray/core/dataset.py:2105: in sel
> pos_indexers, new_indexes = remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/coordinates.py:397: in
> remap_label_indexers
> pos_indexers, new_indexes = indexing.remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:275: in
> remap_label_indexers
> idxr, new_idx = convert_label_indexer(index, label, dim, method,
> tolerance)
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:196: in
> convert_label_indexer
> indexer = index.get_loc(label_value, method=method, tolerance=tolerance)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = DatetimeIndex(['2006-10-04'], dtype='datetime64[ns]', name='time',
> freq=None)
> key = 1159920000000000000, method = None, tolerance = None
>
> def get_loc(self, key, method=None, tolerance=None):
> """
> Get integer location for requested label
>
> Returns
> -------
> loc : int
> """
> if not is_scalar(key):
> raise InvalidIndexError(key)
>
> orig_key = key
> if is_valid_nat_for_dtype(key, self.dtype):
> key = NaT
>
> if isinstance(key, self._data._recognized_scalars):
> # needed to localize naive datetimes
> key = self._maybe_cast_for_get_loc(key)
>
> elif isinstance(key, str):
> try:
> return self._get_string_slice(key)
> except (TypeError, KeyError, ValueError, OverflowError):
> pass
>
> try:
> key = self._maybe_cast_for_get_loc(key)
> except ValueError as err:
> raise KeyError(key) from err
>
> elif isinstance(key, timedelta):
> # GH#20464
> raise TypeError(
> f"Cannot index {type(self).__name__} with
> {type(key).__name__}"
> )
>
> elif isinstance(key, time):
> if method is not None:
> raise NotImplementedError(
> "cannot yet lookup inexact labels when key is a time
> object"
> )
> return self.indexer_at_time(key)
>
> else:
> # unrecognized type
> > raise KeyError(key)
> E KeyError: 1159920000000000000
>
> /usr/lib/python3/dist-packages/pandas/core/indexes/datetimes.py:622: KeyError
> _______________ test_canonical_dataset_to_grib[scanning_mode_64]
> _______________
>
> grib_name = 'scanning_mode_64'
> tmpdir =
> local('/tmp/pytest-of-user42/pytest-6/test_canonical_dataset_to_grib11')
>
> @pytest.mark.parametrize(
> 'grib_name',
> [
> 'era5-levels-members',
> 'fields_with_missing_values',
> pytest.param('lambert_grid', marks=pytest.mark.xfail),
> 'reduced_gg',
> 'regular_gg_sfc',
> 'regular_gg_pl',
> 'regular_gg_ml',
> pytest.param('regular_gg_ml_g2', marks=pytest.mark.xfail),
> 'regular_ll_sfc',
> 'regular_ll_msl',
> 'scanning_mode_64',
> pytest.param('spherical_harmonics', marks=pytest.mark.xfail),
> 't_analysis_and_fc_0',
> ],
> )
> def test_canonical_dataset_to_grib(grib_name, tmpdir):
> grib_path = os.path.join(SAMPLE_DATA_FOLDER, grib_name + '.grib')
> out_path = str(tmpdir.join(grib_name + '.grib'))
>
> res = xarray_store.open_dataset(grib_path)
>
> > xarray_to_grib.canonical_dataset_to_grib(res, out_path)
>
> tests/test_50_sample_data.py:89:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> cfgrib/xarray_to_grib.py:265: in canonical_dataset_to_grib
> canonical_dataarray_to_grib(data_var, file, grib_keys=real_grib_keys,
> **kwargs)
> cfgrib/xarray_to_grib.py:224: in canonical_dataarray_to_grib
> field_values = data_var.sel(**select).values.flat[:]
> /usr/lib/python3/dist-packages/xarray/core/dataarray.py:1143: in sel
> ds = self._to_temp_dataset().sel(
> /usr/lib/python3/dist-packages/xarray/core/dataset.py:2105: in sel
> pos_indexers, new_indexes = remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/coordinates.py:397: in
> remap_label_indexers
> pos_indexers, new_indexes = indexing.remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:275: in
> remap_label_indexers
> idxr, new_idx = convert_label_indexer(index, label, dim, method,
> tolerance)
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:196: in
> convert_label_indexer
> indexer = index.get_loc(label_value, method=method, tolerance=tolerance)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = DatetimeIndex(['2017-10-18 12:00:00'], dtype='datetime64[ns]',
> name='time', freq=None)
> key = 1508328000000000000, method = None, tolerance = None
>
> def get_loc(self, key, method=None, tolerance=None):
> """
> Get integer location for requested label
>
> Returns
> -------
> loc : int
> """
> if not is_scalar(key):
> raise InvalidIndexError(key)
>
> orig_key = key
> if is_valid_nat_for_dtype(key, self.dtype):
> key = NaT
>
> if isinstance(key, self._data._recognized_scalars):
> # needed to localize naive datetimes
> key = self._maybe_cast_for_get_loc(key)
>
> elif isinstance(key, str):
> try:
> return self._get_string_slice(key)
> except (TypeError, KeyError, ValueError, OverflowError):
> pass
>
> try:
> key = self._maybe_cast_for_get_loc(key)
> except ValueError as err:
> raise KeyError(key) from err
>
> elif isinstance(key, timedelta):
> # GH#20464
> raise TypeError(
> f"Cannot index {type(self).__name__} with
> {type(key).__name__}"
> )
>
> elif isinstance(key, time):
> if method is not None:
> raise NotImplementedError(
> "cannot yet lookup inexact labels when key is a time
> object"
> )
> return self.indexer_at_time(key)
>
> else:
> # unrecognized type
> > raise KeyError(key)
> E KeyError: 1508328000000000000
>
> /usr/lib/python3/dist-packages/pandas/core/indexes/datetimes.py:622: KeyError
> _____________ test_canonical_dataset_to_grib[t_analysis_and_fc_0]
> ______________
>
> grib_name = 't_analysis_and_fc_0'
> tmpdir =
> local('/tmp/pytest-of-user42/pytest-6/test_canonical_dataset_to_grib13')
>
> @pytest.mark.parametrize(
> 'grib_name',
> [
> 'era5-levels-members',
> 'fields_with_missing_values',
> pytest.param('lambert_grid', marks=pytest.mark.xfail),
> 'reduced_gg',
> 'regular_gg_sfc',
> 'regular_gg_pl',
> 'regular_gg_ml',
> pytest.param('regular_gg_ml_g2', marks=pytest.mark.xfail),
> 'regular_ll_sfc',
> 'regular_ll_msl',
> 'scanning_mode_64',
> pytest.param('spherical_harmonics', marks=pytest.mark.xfail),
> 't_analysis_and_fc_0',
> ],
> )
> def test_canonical_dataset_to_grib(grib_name, tmpdir):
> grib_path = os.path.join(SAMPLE_DATA_FOLDER, grib_name + '.grib')
> out_path = str(tmpdir.join(grib_name + '.grib'))
>
> res = xarray_store.open_dataset(grib_path)
>
> > xarray_to_grib.canonical_dataset_to_grib(res, out_path)
>
> tests/test_50_sample_data.py:89:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> cfgrib/xarray_to_grib.py:265: in canonical_dataset_to_grib
> canonical_dataarray_to_grib(data_var, file, grib_keys=real_grib_keys,
> **kwargs)
> cfgrib/xarray_to_grib.py:224: in canonical_dataarray_to_grib
> field_values = data_var.sel(**select).values.flat[:]
> /usr/lib/python3/dist-packages/xarray/core/dataarray.py:1143: in sel
> ds = self._to_temp_dataset().sel(
> /usr/lib/python3/dist-packages/xarray/core/dataset.py:2105: in sel
> pos_indexers, new_indexes = remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/coordinates.py:397: in
> remap_label_indexers
> pos_indexers, new_indexes = indexing.remap_label_indexers(
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:275: in
> remap_label_indexers
> idxr, new_idx = convert_label_indexer(index, label, dim, method,
> tolerance)
> /usr/lib/python3/dist-packages/xarray/core/indexing.py:196: in
> convert_label_indexer
> indexer = index.get_loc(label_value, method=method, tolerance=tolerance)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = DatetimeIndex(['2017-10-18 12:00:00'], dtype='datetime64[ns]',
> name='time', freq=None)
> key = 1508328000000000000, method = None, tolerance = None
>
> def get_loc(self, key, method=None, tolerance=None):
> """
> Get integer location for requested label
>
> Returns
> -------
> loc : int
> """
> if not is_scalar(key):
> raise InvalidIndexError(key)
>
> orig_key = key
> if is_valid_nat_for_dtype(key, self.dtype):
> key = NaT
>
> if isinstance(key, self._data._recognized_scalars):
> # needed to localize naive datetimes
> key = self._maybe_cast_for_get_loc(key)
>
> elif isinstance(key, str):
> try:
> return self._get_string_slice(key)
> except (TypeError, KeyError, ValueError, OverflowError):
> pass
>
> try:
> key = self._maybe_cast_for_get_loc(key)
> except ValueError as err:
> raise KeyError(key) from err
>
> elif isinstance(key, timedelta):
> # GH#20464
> raise TypeError(
> f"Cannot index {type(self).__name__} with
> {type(key).__name__}"
> )
>
> elif isinstance(key, time):
> if method is not None:
> raise NotImplementedError(
> "cannot yet lookup inexact labels when key is a time
> object"
> )
> return self.indexer_at_time(key)
>
> else:
> # unrecognized type
> > raise KeyError(key)
> E KeyError: 1508328000000000000
>
> /usr/lib/python3/dist-packages/pandas/core/indexes/datetimes.py:622: KeyError
> =============================== warnings summary
> ===============================
> .pybuild/cpython3_3.8_cfgrib/build/tests/test_20_cfcoords.py::test_translate_coords_errors
> .pybuild/cpython3_3.8_cfgrib/build/tests/test_20_cfcoords.py::test_ensure_valid_time
> /usr/lib/python3/dist-packages/xarray/core/dataarray.py:2090:
> PendingDeprecationWarning: dropping variables using `drop` will be
> deprecated; using drop_vars is encouraged.
> ds = self._to_temp_dataset().drop(labels, dim, errors=errors)
>
> .pybuild/cpython3_3.8_cfgrib/build/tests/test_20_cfcoords.py::test_ensure_valid_time
> .pybuild/cpython3_3.8_cfgrib/build/tests/test_20_cfcoords.py::test_ensure_valid_time
> .pybuild/cpython3_3.8_cfgrib/build/tests/test_20_cfcoords.py::test_ensure_valid_time
> .pybuild/cpython3_3.8_cfgrib/build/tests/test_20_cfcoords.py::test_ensure_valid_time
> .pybuild/cpython3_3.8_cfgrib/build/tests/test_20_cfcoords.py::test_ensure_valid_time
> .pybuild/cpython3_3.8_cfgrib/build/tests/test_20_cfcoords.py::test_ensure_valid_time
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_cfgrib/build/cf2cdm/cfcoords.py:233:
> DeprecationWarning: ensure_valid_time is deprecated use time_dims instead
> warnings.warn("ensure_valid_time is deprecated use time_dims instead",
> DeprecationWarning)
>
> -- Docs: https://docs.pytest.org/en/latest/warnings.html
> === 14 failed, 105 passed, 1 skipped, 3 xfailed, 8 warnings in 18.27 seconds
> ===
> E: pybuild pybuild:352: test: plugin distutils failed with: exit code=1: cd
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_cfgrib/build; python3.8 -m pytest tests
> make[1]: *** [debian/rules:19: override_dh_auto_test] Error 13
The full build log is available from:
http://qa-logs.debian.net/2020/10/27/cfgrib_0.9.8.4-1_unstable.log
A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!
About the archive rebuild: The rebuild was done on EC2 VM instances from
Amazon Web Services, using a clean, minimal and up-to-date chroot. Every
failed build was retried once to eliminate random failures.
--- End Message ---