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.