intake / intake/intake-xarray

Error reading zarr store from an IPFS gateway

Open
#130 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
76
Forks
36
PR merge metrics
No merged PRs in 30d

Description

Thank you for building intake-xarray, this is an awesome package! I am having trouble reading a zarr datastore via an IPFS gateway. I am trying to read a NOAA SST dataset with an intake catalog.

This code reads a NOAA SST dataset with just xarray
```python
import xarray as xr
zarr_store = "https://dweb.link/ipfs/bafybeiepna7ilkhdwykd65i7aovmrapnmaifullesxg5pdsjy6cos5qfrm/"
ds = xr.open_dataset(zarr_store, engine="zarr")
```
This code works as expected. Now I want to build an intake catalog to read this file. I wrote the following simple catalog `catalog_ipfs.yaml`

```yaml
---
plugins:
source:
- module: intake_xarray

sources:
SST:
args:
urlpath: https://dweb.link/ipfs/bafybeiepna7ilkhdwykd65i7aovmrapnmaifullesxg5pdsjy6cos5qfrm/
xarray_kwargs:
engine: zarr
driver: intake_xarray.netcdf.NetCDFSource
```

I then try reading data from it using the following code:
```python
import intake
import xarray as xr
catolog = './catalog_ipfs.yaml'
cat = intake.open_catalog(catolog)
ds = cat.SST().read()
```

When I run this code I get this `ValueError`
```
ValueError: Starting with Zarr 2.11.0, stores must be subclasses of BaseStore, if your store exposes the MutableMapping interface wrap it in Zarr.storage.KVStore. Got
```

Any thoughts on how to resolve this issue? I am confused because I thought in the background `intake_xarray` was just doing this `xr.open_dataset("https://dweb.link/ipfs/bafybeiepna7ilkhdwykd65i7aovmrapnmaifullesxg5pdsjy6cos5qfrm/", engine="zarr")`, which I know works from the above example.

Here is the version of each package I am using:
```
intake.__version__ = '0.6.6'
intake_xarray.__version__ = '0.6.1'
xr.__version__ = '2022.6.0'
zarr.__version__ = '2.12.0'
```

I appreciate any help you can provide, thanks!

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.