We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
error:
ValueError: Big-endian buffer not supported on little-endian compiler
from siphon.catalog import TDSCatalog import xarray as xr catUrl = "https://thredds.ucar.edu/thredds/catalog/grib/NCEP/GFS/Global_0p25deg_ana/catalog.xml" datasetName = "Full Collection Dataset" catalog = TDSCatalog(catUrl) ds = catalog.datasets[datasetName].remote_access(use_xarray=True) da = ds['Temperature_isobaric'] # bottom, left, top, right box = (-96.7030229414862, 90-64.98056667458044, -7.397202215623508, 90+23.180353571106195) min_lat, min_lon, max_lat, max_lon = box roi = da.loc[{'lat': slice(min_lat, max_lat), 'lon': slice(min_lon, max_lon)}] roi
Full stack trace:
--------------------------------------------------------------------------- ValueError Traceback (most recent call last) Cell In[1], line 17 13 box = (-96.7030229414862, 90-64.98056667458044, -7.397202215623508, 90+23.180353571106195) 15 min_lat, min_lon, max_lat, max_lon = box ---> 17 roi = da.loc[{'lat': slice(min_lat, max_lat), 'lon': slice(min_lon, max_lon)}] 18 roi File ~/.pyenv/versions/pythia/lib/python3.11/site-packages/xarray/core/dataarray.py:213, in _LocIndexer.__getitem__(self, key) 211 labels = indexing.expanded_indexer(key, self.data_array.ndim) 212 key = dict(zip(self.data_array.dims, labels)) --> 213 return self.data_array.sel(key) File ~/.pyenv/versions/pythia/lib/python3.11/site-packages/xarray/core/dataarray.py:1549, in DataArray.sel(self, indexers, method, tolerance, drop, **indexers_kwargs) 1439 def sel( 1440 self: T_DataArray, 1441 indexers: Mapping[Any, Any] | None = None, (...) 1445 **indexers_kwargs: Any, 1446 ) -> T_DataArray: 1447 """Return a new DataArray whose data is given by selecting index 1448 labels along the specified dimension(s). 1449 (...) 1547 Dimensions without coordinates: points 1548 """ -> 1549 ds = self._to_temp_dataset().sel( 1550 indexers=indexers, 1551 drop=drop, 1552 method=method, 1553 tolerance=tolerance, 1554 **indexers_kwargs, 1555 ) 1556 return self._from_temp_dataset(ds) File ~/.pyenv/versions/pythia/lib/python3.11/site-packages/xarray/core/dataset.py:2642, in Dataset.sel(self, indexers, method, tolerance, drop, **indexers_kwargs) 2581 """Returns a new dataset with each array indexed by tick labels 2582 along the specified dimension(s). 2583 (...) 2639 DataArray.sel 2640 """ 2641 indexers = either_dict_or_kwargs(indexers, indexers_kwargs, "sel") -> 2642 query_results = map_index_queries( 2643 self, indexers=indexers, method=method, tolerance=tolerance 2644 ) 2646 if drop: 2647 no_scalar_variables = {} File ~/.pyenv/versions/pythia/lib/python3.11/site-packages/xarray/core/indexing.py:190, in map_index_queries(obj, indexers, method, tolerance, **indexers_kwargs) 188 results.append(IndexSelResult(labels)) 189 else: --> 190 results.append(index.sel(labels, **options)) 192 merged = merge_sel_results(results) 194 # drop dimension coordinates found in dimension indexers 195 # (also drop multi-index if any) 196 # (.sel() already ensures alignment) File ~/.pyenv/versions/pythia/lib/python3.11/site-packages/xarray/core/indexes.py:455, in PandasIndex.sel(self, labels, method, tolerance) 452 coord_name, label = next(iter(labels.items())) 454 if isinstance(label, slice): --> 455 indexer = _query_slice(self.index, label, coord_name, method, tolerance) 456 elif is_dict_like(label): 457 raise ValueError( 458 "cannot use a dict-like object for selection on " 459 "a dimension that does not have a MultiIndex" 460 ) File ~/.pyenv/versions/pythia/lib/python3.11/site-packages/xarray/core/indexes.py:218, in _query_slice(index, label, coord_name, method, tolerance) 214 if method is not None or tolerance is not None: 215 raise NotImplementedError( 216 "cannot use ``method`` argument if any indexers are slice objects" 217 ) --> 218 indexer = index.slice_indexer( 219 _sanitize_slice_element(label.start), 220 _sanitize_slice_element(label.stop), 221 _sanitize_slice_element(label.step), 222 ) 223 if not isinstance(indexer, slice): 224 # unlike pandas, in xarray we never want to silently convert a 225 # slice indexer into an array indexer 226 raise KeyError( 227 "cannot represent labeled-based slice indexer for coordinate " 228 f"{coord_name!r} with a slice over integer positions; the index is " 229 "unsorted or non-unique" 230 ) File ~/.pyenv/versions/pythia/lib/python3.11/site-packages/pandas/core/indexes/base.py:6341, in Index.slice_indexer(self, start, end, step) 6297 def slice_indexer( 6298 self, 6299 start: Hashable | None = None, 6300 end: Hashable | None = None, 6301 step: int | None = None, 6302 ) -> slice: 6303 """ 6304 Compute the slice indexer for input labels and step. 6305 (...) 6339 slice(1, 3, None) 6340 """ -> 6341 start_slice, end_slice = self.slice_locs(start, end, step=step) 6343 # return a slice 6344 if not is_scalar(start_slice): File ~/.pyenv/versions/pythia/lib/python3.11/site-packages/pandas/core/indexes/base.py:6534, in Index.slice_locs(self, start, end, step) 6532 start_slice = None 6533 if start is not None: -> 6534 start_slice = self.get_slice_bound(start, "left") 6535 if start_slice is None: 6536 start_slice = 0 File ~/.pyenv/versions/pythia/lib/python3.11/site-packages/pandas/core/indexes/base.py:6453, in Index.get_slice_bound(self, label, side) 6451 # we need to look up the label 6452 try: -> 6453 slc = self.get_loc(label) 6454 except KeyError as err: 6455 try: File ~/.pyenv/versions/pythia/lib/python3.11/site-packages/pandas/core/indexes/base.py:3652, in Index.get_loc(self, key) 3650 casted_key = self._maybe_cast_indexer(key) 3651 try: -> 3652 return self._engine.get_loc(casted_key) 3653 except KeyError as err: 3654 raise KeyError(key) from err File ~/.pyenv/versions/pythia/lib/python3.11/site-packages/pandas/_libs/index.pyx:147, in pandas._libs.index.IndexEngine.get_loc() File ~/.pyenv/versions/pythia/lib/python3.11/site-packages/pandas/_libs/index.pyx:169, in pandas._libs.index.IndexEngine.get_loc() File ~/.pyenv/versions/pythia/lib/python3.11/site-packages/pandas/_libs/index.pyx:303, in pandas._libs.index.IndexEngine._ensure_mapping_populated() File pandas/_libs/hashtable_class_helper.pxi:7104, in pandas._libs.hashtable.PyObjectHashTable.map_locations() ValueError: Big-endian buffer not supported on little-endian compiler
DataArray
python --version
Other system info:
-------------------------------------------------------------------------------- Date: Thu Jun 22 22:16:47 2023 EDT OS : Linux CPU(s) : 20 Machine : x86_64 Architecture : 64bit RAM : 93.0 GiB Environment : Python File system : ext4 Python 3.11.0 (main, Jan 9 2023, 10:26:36) [GCC 9.4.0] xarray : 2023.5.0 numpy : 1.25.0 pandas : 2.0.2 siphon : 0.9 scipy : 1.10.1 IPython : 8.14.0 matplotlib : 3.7.1 scooby : 0.7.2 --------------------------------------------------------------------------------
The text was updated successfully, but these errors were encountered:
This very well could be independent of Siphon, but since I'm using Thredds data, I thought I'd report here per @ThomasMGeo's suggestion
Sorry, something went wrong.
This also occurs with da.sel({'isobaric': 6.50e+04}) to rule out the lon/lat min/max bounds
da.sel({'isobaric': 6.50e+04})
Looks like this is caused by Pandas 2. So for a work-around, install pandas <2.
No branches or pull requests
error:
Full stack trace:
System Info
DataArray
python --version
: Python 3.11.0Other system info:
The text was updated successfully, but these errors were encountered: