intake / intake/intake-esm

Support for a catalog with mixed netcdf and zarr and other formatted assets

Open
#615 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
164
Forks
54
PR merge metrics
No merged PRs in 30d

Description

Description

It was a nice feature of intake-esm to allow catalogs with combined sources, e.g. data from local disk AND zarr data from cloud by providing a column for the format and let intake decide which xarray backend kwargs are required. This seems to be not possible anymore without BACKEND specific keyword arguments (cdf_kwargs, zarr_kwargs) in the to_dataset_dict function.

What I Did

I used to call the to_dataset_dict function such that I provide both keys, e.g.:

to_dataset_dict(cdf_kwargs=dict(chunks=dict(time=1)),
                             zarr_kwargs=dict(consolidated=True)
                             )

This should be deprecated. If there is only xarary_open_kwargs, the consolidated=True is also passed to the netcdf4 backend and causes:

TypeError: NetCDF4BackendEntrypoint.open_dataset() got an unexpected keyword argument 'consolidated'
Version information: output of intake_esm.show_versions()

'2023.4.20'

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the to_dataset_dict entry point and trace how cdf_kwargs, zarr_kwargs, and xarary_open_kwargs are dispatched to format-specific backends. Reproduce the mixed netCDF and zarr case from the issue, then verify that backend-specific options are not passed to incompatible formats and that a mixed-format catalog loads successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend-api-design, data
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.