Skip to content

Unable to read kerchunk file on s3 with different version of packages #10597

@chiaweh2

Description

@chiaweh2

What happened?

when using fsspec.filesystem with xr.open_dataset there seems to have inconsistent results at different conda environments. The code snippets to generate the error is below

import xarray as xr
import fsspec

fs = fsspec.filesystem(
    "reference", 
    fo='s3://noaa-oar-cefi-regional-mom6-pds/northwest_atlantic/full_domain/hindcast/monthly/regrid/r20230520/ssh.nwa.full.hcast.monthly.regrid.r20230520.199301-201912.json',
    remote_protocol="s3", 
    remote_options={"anon":True}
)
 
ds = xr.open_dataset(fs.get_mapper(""), engine='zarr',backend_kwargs={"consolidated": False})

The error message is

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Cell In[44], line 12
      3 import zarr
      5 fs = fsspec.filesystem(
      6     "reference", 
      7     fo='s3://noaa-oar-cefi-regional-mom6-pds/northwest_atlantic/full_domain/hindcast/monthly/regrid/r20230520/ssh.nwa.full.hcast.monthly.regrid.r20230520.199301-201912.json',
      8     remote_protocol="s3", 
      9     remote_options={"anon":True}
     10 )
---> 12 ds = xr.open_dataset(fs.get_mapper(""), engine='zarr',backend_kwargs={"consolidated": False})

File ~/.conda/envs/regional-mom6/lib/python3.11/site-packages/xarray/backends/api.py:571, in open_dataset(filename_or_obj, engine, chunks, cache, decode_cf, mask_and_scale, decode_times, decode_timedelta, use_cftime, concat_characters, decode_coords, drop_variables, inline_array, chunked_array_type, from_array_kwargs, backend_kwargs, **kwargs)
    559 decoders = _resolve_decoders_kwargs(
    560     decode_cf,
    561     open_backend_dataset_parameters=backend.open_dataset_parameters,
   (...)
    567     decode_coords=decode_coords,
    568 )
    570 overwrite_encoded_chunks = kwargs.pop("overwrite_encoded_chunks", None)
--> 571 backend_ds = backend.open_dataset(
    572     filename_or_obj,
    573     drop_variables=drop_variables,
    574     **decoders,
    575     **kwargs,
    576 )
    577 ds = _dataset_from_backend_dataset(
    578     backend_ds,
    579     filename_or_obj,
   (...)
    589     **kwargs,
    590 )
    591 return ds

File ~/.conda/envs/regional-mom6/lib/python3.11/site-packages/xarray/backends/zarr.py:1170, in ZarrBackendEntrypoint.open_dataset(self, filename_or_obj, mask_and_scale, decode_times, concat_characters, decode_coords, drop_variables, use_cftime, decode_timedelta, group, mode, synchronizer, consolidated, chunk_store, storage_options, stacklevel, zarr_version)
   1149 def open_dataset(  # type: ignore[override]  # allow LSP violation, not supporting **kwargs
   1150     self,
   1151     filename_or_obj: str | os.PathLike[Any] | BufferedIOBase | AbstractDataStore,
   (...)
   1167     zarr_version=None,
   1168 ) -> Dataset:
   1169     filename_or_obj = _normalize_path(filename_or_obj)
-> 1170     store = ZarrStore.open_group(
   1171         filename_or_obj,
   1172         group=group,
   1173         mode=mode,
   1174         synchronizer=synchronizer,
   1175         consolidated=consolidated,
   1176         consolidate_on_close=False,
   1177         chunk_store=chunk_store,
   1178         storage_options=storage_options,
   1179         stacklevel=stacklevel + 1,
   1180         zarr_version=zarr_version,
   1181     )
   1183     store_entrypoint = StoreBackendEntrypoint()
   1184     with close_on_error(store):

File ~/.conda/envs/regional-mom6/lib/python3.11/site-packages/xarray/backends/zarr.py:500, in ZarrStore.open_group(cls, store, mode, synchronizer, group, consolidated, consolidate_on_close, chunk_store, storage_options, append_dim, write_region, safe_chunks, stacklevel, zarr_version, write_empty)
    498     zarr_group = zarr.open_consolidated(store, **open_kwargs)
    499 else:
--> 500     zarr_group = zarr.open_group(store, **open_kwargs)
    501 close_store_on_close = zarr_group.store is not store
    502 return cls(
    503     zarr_group,
    504     mode,
   (...)
    510     close_store_on_close,
    511 )

File ~/.conda/envs/regional-mom6/lib/python3.11/site-packages/zarr/api/synchronous.py:531, in open_group(store, mode, cache_attrs, synchronizer, path, chunk_store, storage_options, zarr_version, zarr_format, meta_array, attributes, use_consolidated)
    454 def open_group(
    455     store: StoreLike | None = None,
    456     *,
   (...)
    467     use_consolidated: bool | str | None = None,
    468 ) -> Group:
    469     """Open a group using file-mode-like semantics.
    470 
    471     Parameters
   (...)
    528         The new group.
    529     """
    530     return Group(
--> 531         sync(
    532             async_api.open_group(
    533                 store=store,
    534                 mode=mode,
    535                 cache_attrs=cache_attrs,
    536                 synchronizer=synchronizer,
    537                 path=path,
    538                 chunk_store=chunk_store,
    539                 storage_options=storage_options,
    540                 zarr_version=zarr_version,
    541                 zarr_format=zarr_format,
    542                 meta_array=meta_array,
    543                 attributes=attributes,
    544                 use_consolidated=use_consolidated,
    545             )
    546         )
    547     )

File ~/.conda/envs/regional-mom6/lib/python3.11/site-packages/zarr/core/sync.py:163, in sync(coro, loop, timeout)
    160 return_result = next(iter(finished)).result()
    162 if isinstance(return_result, BaseException):
--> 163     raise return_result
    164 else:
    165     return return_result

File ~/.conda/envs/regional-mom6/lib/python3.11/site-packages/zarr/core/sync.py:119, in _runner(coro)
    114 """
    115 Await a coroutine and return the result of running it. If awaiting the coroutine raises an
    116 exception, the exception will be returned.
    117 """
    118 try:
--> 119     return await coro
    120 except Exception as ex:
    121     return ex

File ~/.conda/envs/regional-mom6/lib/python3.11/site-packages/zarr/api/asynchronous.py:838, in open_group(store, mode, cache_attrs, synchronizer, path, chunk_store, storage_options, zarr_version, zarr_format, meta_array, attributes, use_consolidated)
    835 if chunk_store is not None:
    836     warnings.warn("chunk_store is not yet implemented", RuntimeWarning, stacklevel=2)
--> 838 store_path = await make_store_path(store, mode=mode, storage_options=storage_options, path=path)
    839 if attributes is None:
    840     attributes = {}

File ~/.conda/envs/regional-mom6/lib/python3.11/site-packages/zarr/storage/_common.py:363, in make_store_path(store_like, path, mode, storage_options)
    359     if storage_options:
    360         raise ValueError(
    361             "'storage_options was provided but is not used for FSMap store_like objects. Specify the storage options when creating the FSMap instance instead."
    362         )
--> 363     store = FsspecStore.from_mapper(store_like, read_only=_read_only)
    364 else:
    365     raise TypeError(f"Unsupported type for store_like: '{type(store_like).__name__}'")

File ~/.conda/envs/regional-mom6/lib/python3.11/site-packages/zarr/storage/_fsspec.py:202, in FsspecStore.from_mapper(cls, fs_map, read_only, allowed_exceptions)
    178 @classmethod
    179 def from_mapper(
    180     cls,
   (...)
    183     allowed_exceptions: tuple[type[Exception], ...] = ALLOWED_EXCEPTIONS,
    184 ) -> FsspecStore:
    185     """
    186     Create a FsspecStore from a FSMap object.
    187 
   (...)
    200     FsspecStore
    201     """
--> 202     fs = _make_async(fs_map.fs)
    203     return cls(
    204         fs=fs,
    205         path=fs_map.root,
    206         read_only=read_only,
    207         allowed_exceptions=allowed_exceptions,
    208     )

File ~/.conda/envs/regional-mom6/lib/python3.11/site-packages/zarr/storage/_fsspec.py:57, in _make_async(fs)
     55     fs_dict = json.loads(fs.to_json())
     56     fs_dict["asynchronous"] = True
---> 57     return fsspec.AbstractFileSystem.from_json(json.dumps(fs_dict))
     59 if fsspec_version < parse_version("2024.12.0"):
     60     raise ImportError(
     61         f"The filesystem '{fs}' is synchronous, and the required "
     62         "AsyncFileSystemWrapper is not available. Upgrade fsspec to version "
     63         "2024.12.0 or later to enable this functionality."
     64     )

File ~/.conda/envs/regional-mom6/lib/python3.11/site-packages/fsspec/spec.py:1480, in AbstractFileSystem.from_json(blob)
   1459 """
   1460 Recreate a filesystem instance from JSON representation.
   1461 
   (...)
   1476 at import time.
   1477 """
   1478 from .json import FilesystemJSONDecoder
-> 1480 return json.loads(blob, cls=FilesystemJSONDecoder)

File ~/.conda/envs/regional-mom6/lib/python3.11/json/__init__.py:359, in loads(s, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)
    357 if parse_constant is not None:
    358     kw['parse_constant'] = parse_constant
--> 359 return cls(**kw).decode(s)

File ~/.conda/envs/regional-mom6/lib/python3.11/json/decoder.py:337, in JSONDecoder.decode(self, s, _w)
    332 def decode(self, s, _w=WHITESPACE.match):
    333     """Return the Python representation of ``s`` (a ``str`` instance
    334     containing a JSON document).
    335 
    336     """
--> 337     obj, end = self.raw_decode(s, idx=_w(s, 0).end())
    338     end = _w(s, end).end()
    339     if end != len(s):

File ~/.conda/envs/regional-mom6/lib/python3.11/json/decoder.py:353, in JSONDecoder.raw_decode(self, s, idx)
    344 """Decode a JSON document from ``s`` (a ``str`` beginning with
    345 a JSON document) and return a 2-tuple of the Python
    346 representation and the index in ``s`` where the document ended.
   (...)
    350 
    351 """
    352 try:
--> 353     obj, end = self.scan_once(s, idx)
    354 except StopIteration as err:
    355     raise JSONDecodeError("Expecting value", s, err.value) from None

File ~/.conda/envs/regional-mom6/lib/python3.11/site-packages/fsspec/json.py:97, in FilesystemJSONDecoder.custom_object_hook(self, dct)
     95 if "cls" in dct:
     96     if (obj_cls := self.try_resolve_fs_cls(dct)) is not None:
---> 97         return AbstractFileSystem.from_dict(dct)
     98     if (obj_cls := self.try_resolve_path_cls(dct)) is not None:
     99         return obj_cls(dct["str"])

File ~/.conda/envs/regional-mom6/lib/python3.11/site-packages/fsspec/spec.py:1556, in AbstractFileSystem.from_dict(dct)
   1553 dct.pop("cls", None)
   1554 dct.pop("protocol", None)
-> 1556 return cls(
   1557     *json_decoder.unmake_serializable(dct.pop("args", ())),
   1558     **json_decoder.unmake_serializable(dct),
   1559 )

File ~/.conda/envs/regional-mom6/lib/python3.11/site-packages/fsspec/spec.py:81, in _Cached.__call__(cls, *args, **kwargs)
     79     return cls._cache[token]
     80 else:
---> 81     obj = super().__call__(*args, **kwargs)
     82     # Setting _fs_token here causes some static linters to complain.
     83     obj._fs_token_ = token

File ~/.conda/envs/regional-mom6/lib/python3.11/site-packages/fsspec/implementations/reference.py:770, in ReferenceFileSystem.__init__(self, fo, target, ref_storage_args, target_protocol, target_options, remote_protocol, remote_options, fs, template_overrides, simple_templates, max_gap, max_block, cache_size, **kwargs)
    768     self.fss[k] = AsyncFileSystemWrapper(f, asynchronous=self.asynchronous)
    769 elif self.asynchronous ^ f.asynchronous:
--> 770     raise ValueError(
    771         "Reference-FS's target filesystem must have same value "
    772         "of asynchronous"
    773     )

ValueError: Reference-FS's target filesystem must have same value of asynchronous

the version will not work are

xarry version: 2025.6.1
fsspec version: 2025.7.0
zarr version: 3.1.1
s3fs version: 2025.7.0

where the version work are

xarry version: 2024.3.0
fsspec version: 2025.2.0
zarr version: 2.18.3
s3fs version: 2025.2.0

What did you expect to happen?

no error

Minimal Complete Verifiable Example

import xarray as xr
import fsspec

fs = fsspec.filesystem(
    "reference", 
    fo='s3://noaa-oar-cefi-regional-mom6-pds/northwest_atlantic/full_domain/hindcast/monthly/regrid/r20230520/ssh.nwa.full.hcast.monthly.regrid.r20230520.199301-201912.json',
    remote_protocol="s3", 
    remote_options={"anon":True}
)
 
ds = xr.open_dataset(fs.get_mapper(""), engine='zarr',backend_kwargs={"consolidated": False})

MVCE confirmation

  • Minimal example — the example is as focused as reasonably possible to demonstrate the underlying issue in xarray.
  • Complete example — the example is self-contained, including all data and the text of any traceback.
  • Verifiable example — the example copy & pastes into an IPython prompt or Binder notebook, returning the result.
  • New issue — a search of GitHub Issues suggests this is not a duplicate.
  • Recent environment — the issue occurs with the latest version of xarray and its dependencies.

Relevant log output

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Cell In[44], line 12
      3 import zarr
      5 fs = fsspec.filesystem(
      6     "reference", 
      7     fo='s3://noaa-oar-cefi-regional-mom6-pds/northwest_atlantic/full_domain/hindcast/monthly/regrid/r20230520/ssh.nwa.full.hcast.monthly.regrid.r20230520.199301-201912.json',
      8     remote_protocol="s3", 
      9     remote_options={"anon":True}
     10 )
---> 12 ds = xr.open_dataset(fs.get_mapper(""), engine='zarr',backend_kwargs={"consolidated": False})

File ~/.conda/envs/regional-mom6/lib/python3.11/site-packages/xarray/backends/api.py:571, in open_dataset(filename_or_obj, engine, chunks, cache, decode_cf, mask_and_scale, decode_times, decode_timedelta, use_cftime, concat_characters, decode_coords, drop_variables, inline_array, chunked_array_type, from_array_kwargs, backend_kwargs, **kwargs)
    559 decoders = _resolve_decoders_kwargs(
    560     decode_cf,
    561     open_backend_dataset_parameters=backend.open_dataset_parameters,
   (...)
    567     decode_coords=decode_coords,
    568 )
    570 overwrite_encoded_chunks = kwargs.pop("overwrite_encoded_chunks", None)
--> 571 backend_ds = backend.open_dataset(
    572     filename_or_obj,
    573     drop_variables=drop_variables,
    574     **decoders,
    575     **kwargs,
    576 )
    577 ds = _dataset_from_backend_dataset(
    578     backend_ds,
    579     filename_or_obj,
   (...)
    589     **kwargs,
    590 )
    591 return ds

File ~/.conda/envs/regional-mom6/lib/python3.11/site-packages/xarray/backends/zarr.py:1170, in ZarrBackendEntrypoint.open_dataset(self, filename_or_obj, mask_and_scale, decode_times, concat_characters, decode_coords, drop_variables, use_cftime, decode_timedelta, group, mode, synchronizer, consolidated, chunk_store, storage_options, stacklevel, zarr_version)
   1149 def open_dataset(  # type: ignore[override]  # allow LSP violation, not supporting **kwargs
   1150     self,
   1151     filename_or_obj: str | os.PathLike[Any] | BufferedIOBase | AbstractDataStore,
   (...)
   1167     zarr_version=None,
   1168 ) -> Dataset:
   1169     filename_or_obj = _normalize_path(filename_or_obj)
-> 1170     store = ZarrStore.open_group(
   1171         filename_or_obj,
   1172         group=group,
   1173         mode=mode,
   1174         synchronizer=synchronizer,
   1175         consolidated=consolidated,
   1176         consolidate_on_close=False,
   1177         chunk_store=chunk_store,
   1178         storage_options=storage_options,
   1179         stacklevel=stacklevel + 1,
   1180         zarr_version=zarr_version,
   1181     )
   1183     store_entrypoint = StoreBackendEntrypoint()
   1184     with close_on_error(store):

File ~/.conda/envs/regional-mom6/lib/python3.11/site-packages/xarray/backends/zarr.py:500, in ZarrStore.open_group(cls, store, mode, synchronizer, group, consolidated, consolidate_on_close, chunk_store, storage_options, append_dim, write_region, safe_chunks, stacklevel, zarr_version, write_empty)
    498     zarr_group = zarr.open_consolidated(store, **open_kwargs)
    499 else:
--> 500     zarr_group = zarr.open_group(store, **open_kwargs)
    501 close_store_on_close = zarr_group.store is not store
    502 return cls(
    503     zarr_group,
    504     mode,
   (...)
    510     close_store_on_close,
    511 )

File ~/.conda/envs/regional-mom6/lib/python3.11/site-packages/zarr/api/synchronous.py:531, in open_group(store, mode, cache_attrs, synchronizer, path, chunk_store, storage_options, zarr_version, zarr_format, meta_array, attributes, use_consolidated)
    454 def open_group(
    455     store: StoreLike | None = None,
    456     *,
   (...)
    467     use_consolidated: bool | str | None = None,
    468 ) -> Group:
    469     """Open a group using file-mode-like semantics.
    470 
    471     Parameters
   (...)
    528         The new group.
    529     """
    530     return Group(
--> 531         sync(
    532             async_api.open_group(
    533                 store=store,
    534                 mode=mode,
    535                 cache_attrs=cache_attrs,
    536                 synchronizer=synchronizer,
    537                 path=path,
    538                 chunk_store=chunk_store,
    539                 storage_options=storage_options,
    540                 zarr_version=zarr_version,
    541                 zarr_format=zarr_format,
    542                 meta_array=meta_array,
    543                 attributes=attributes,
    544                 use_consolidated=use_consolidated,
    545             )
    546         )
    547     )

File ~/.conda/envs/regional-mom6/lib/python3.11/site-packages/zarr/core/sync.py:163, in sync(coro, loop, timeout)
    160 return_result = next(iter(finished)).result()
    162 if isinstance(return_result, BaseException):
--> 163     raise return_result
    164 else:
    165     return return_result

File ~/.conda/envs/regional-mom6/lib/python3.11/site-packages/zarr/core/sync.py:119, in _runner(coro)
    114 """
    115 Await a coroutine and return the result of running it. If awaiting the coroutine raises an
    116 exception, the exception will be returned.
    117 """
    118 try:
--> 119     return await coro
    120 except Exception as ex:
    121     return ex

File ~/.conda/envs/regional-mom6/lib/python3.11/site-packages/zarr/api/asynchronous.py:838, in open_group(store, mode, cache_attrs, synchronizer, path, chunk_store, storage_options, zarr_version, zarr_format, meta_array, attributes, use_consolidated)
    835 if chunk_store is not None:
    836     warnings.warn("chunk_store is not yet implemented", RuntimeWarning, stacklevel=2)
--> 838 store_path = await make_store_path(store, mode=mode, storage_options=storage_options, path=path)
    839 if attributes is None:
    840     attributes = {}

File ~/.conda/envs/regional-mom6/lib/python3.11/site-packages/zarr/storage/_common.py:363, in make_store_path(store_like, path, mode, storage_options)
    359     if storage_options:
    360         raise ValueError(
    361             "'storage_options was provided but is not used for FSMap store_like objects. Specify the storage options when creating the FSMap instance instead."
    362         )
--> 363     store = FsspecStore.from_mapper(store_like, read_only=_read_only)
    364 else:
    365     raise TypeError(f"Unsupported type for store_like: '{type(store_like).__name__}'")

File ~/.conda/envs/regional-mom6/lib/python3.11/site-packages/zarr/storage/_fsspec.py:202, in FsspecStore.from_mapper(cls, fs_map, read_only, allowed_exceptions)
    178 @classmethod
    179 def from_mapper(
    180     cls,
   (...)
    183     allowed_exceptions: tuple[type[Exception], ...] = ALLOWED_EXCEPTIONS,
    184 ) -> FsspecStore:
    185     """
    186     Create a FsspecStore from a FSMap object.
    187 
   (...)
    200     FsspecStore
    201     """
--> 202     fs = _make_async(fs_map.fs)
    203     return cls(
    204         fs=fs,
    205         path=fs_map.root,
    206         read_only=read_only,
    207         allowed_exceptions=allowed_exceptions,
    208     )

File ~/.conda/envs/regional-mom6/lib/python3.11/site-packages/zarr/storage/_fsspec.py:57, in _make_async(fs)
     55     fs_dict = json.loads(fs.to_json())
     56     fs_dict["asynchronous"] = True
---> 57     return fsspec.AbstractFileSystem.from_json(json.dumps(fs_dict))
     59 if fsspec_version < parse_version("2024.12.0"):
     60     raise ImportError(
     61         f"The filesystem '{fs}' is synchronous, and the required "
     62         "AsyncFileSystemWrapper is not available. Upgrade fsspec to version "
     63         "2024.12.0 or later to enable this functionality."
     64     )

File ~/.conda/envs/regional-mom6/lib/python3.11/site-packages/fsspec/spec.py:1480, in AbstractFileSystem.from_json(blob)
   1459 """
   1460 Recreate a filesystem instance from JSON representation.
   1461 
   (...)
   1476 at import time.
   1477 """
   1478 from .json import FilesystemJSONDecoder
-> 1480 return json.loads(blob, cls=FilesystemJSONDecoder)

File ~/.conda/envs/regional-mom6/lib/python3.11/json/__init__.py:359, in loads(s, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)
    357 if parse_constant is not None:
    358     kw['parse_constant'] = parse_constant
--> 359 return cls(**kw).decode(s)

File ~/.conda/envs/regional-mom6/lib/python3.11/json/decoder.py:337, in JSONDecoder.decode(self, s, _w)
    332 def decode(self, s, _w=WHITESPACE.match):
    333     """Return the Python representation of ``s`` (a ``str`` instance
    334     containing a JSON document).
    335 
    336     """
--> 337     obj, end = self.raw_decode(s, idx=_w(s, 0).end())
    338     end = _w(s, end).end()
    339     if end != len(s):

File ~/.conda/envs/regional-mom6/lib/python3.11/json/decoder.py:353, in JSONDecoder.raw_decode(self, s, idx)
    344 """Decode a JSON document from ``s`` (a ``str`` beginning with
    345 a JSON document) and return a 2-tuple of the Python
    346 representation and the index in ``s`` where the document ended.
   (...)
    350 
    351 """
    352 try:
--> 353     obj, end = self.scan_once(s, idx)
    354 except StopIteration as err:
    355     raise JSONDecodeError("Expecting value", s, err.value) from None

File ~/.conda/envs/regional-mom6/lib/python3.11/site-packages/fsspec/json.py:97, in FilesystemJSONDecoder.custom_object_hook(self, dct)
     95 if "cls" in dct:
     96     if (obj_cls := self.try_resolve_fs_cls(dct)) is not None:
---> 97         return AbstractFileSystem.from_dict(dct)
     98     if (obj_cls := self.try_resolve_path_cls(dct)) is not None:
     99         return obj_cls(dct["str"])

File ~/.conda/envs/regional-mom6/lib/python3.11/site-packages/fsspec/spec.py:1556, in AbstractFileSystem.from_dict(dct)
   1553 dct.pop("cls", None)
   1554 dct.pop("protocol", None)
-> 1556 return cls(
   1557     *json_decoder.unmake_serializable(dct.pop("args", ())),
   1558     **json_decoder.unmake_serializable(dct),
   1559 )

File ~/.conda/envs/regional-mom6/lib/python3.11/site-packages/fsspec/spec.py:81, in _Cached.__call__(cls, *args, **kwargs)
     79     return cls._cache[token]
     80 else:
---> 81     obj = super().__call__(*args, **kwargs)
     82     # Setting _fs_token here causes some static linters to complain.
     83     obj._fs_token_ = token

File ~/.conda/envs/regional-mom6/lib/python3.11/site-packages/fsspec/implementations/reference.py:770, in ReferenceFileSystem.__init__(self, fo, target, ref_storage_args, target_protocol, target_options, remote_protocol, remote_options, fs, template_overrides, simple_templates, max_gap, max_block, cache_size, **kwargs)
    768     self.fss[k] = AsyncFileSystemWrapper(f, asynchronous=self.asynchronous)
    769 elif self.asynchronous ^ f.asynchronous:
--> 770     raise ValueError(
    771         "Reference-FS's target filesystem must have same value "
    772         "of asynchronous"
    773     )

ValueError: Reference-FS's target filesystem must have same value of asynchronous

Anything else we need to know?

the version will not work are

xarry version: 2025.6.1
fsspec version: 2025.7.0
zarr version: 3.1.1
s3fs version: 2025.7.0

where the version work are

xarry version: 2024.3.0
fsspec version: 2025.2.0
zarr version: 2.18.3
s3fs version: 2025.2.0

Environment

/home/chsu/.conda/envs/regional-mom6/lib/python3.11/site-packages/_distutils_hack/init.py:26: UserWarning: Setuptools is replacing distutils.
warnings.warn("Setuptools is replacing distutils.")

INSTALLED VERSIONS

commit: None
python: 3.11.9 | packaged by conda-forge | (main, Apr 19 2024, 18:36:13) [GCC 12.3.0]
python-bits: 64
OS: Linux
OS-release: 4.18.0-553.63.1.el8_10.x86_64
machine: x86_64
processor: x86_64
byteorder: little
LC_ALL: None
LANG: en_US.UTF-8
LOCALE: ('en_US', 'UTF-8')
libhdf5: 1.14.3
libnetcdf: 4.9.2

xarray: 2025.6.1
pandas: 2.2.2
numpy: 1.26.4
scipy: 1.13.1
netCDF4: 1.6.5
pydap: installed
h5netcdf: None
h5py: None
zarr: 3.1.1
cftime: 1.6.4
nc_time_axis: None
iris: None
bottleneck: None
dask: 2024.5.2
distributed: 2024.5.2
matplotlib: 3.8.4
cartopy: None
seaborn: None
numbagg: None
fsspec: 2025.7.0
cupy: None
pint: None
sparse: 0.15.4
flox: None
numpy_groupies: None
setuptools: 70.0.0
pip: 24.0
conda: None
pytest: 8.2.2
mypy: None
IPython: 8.25.0
sphinx: None

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions