Skip to content

Update stale rows in the Kerchunk comparison FAQ - #1045

Merged
TomNicholas merged 3 commits into
zarr-developers:mainfrom
TomNicholas:faq-subchunk-isel-parity
Jul 15, 2026
Merged

Update stale rows in the Kerchunk comparison FAQ#1045
TomNicholas merged 3 commits into
zarr-developers:mainfrom
TomNicholas:faq-subchunk-isel-parity

Conversation

@TomNicholas

@TomNicholas TomNicholas commented Jul 15, 2026

Copy link
Copy Markdown
Member

Several rows in the Kerchunk comparison table in docs/explanation/faq.md were stale or contained incorrect snippets.

Stale feature rows

Sub-dividing an uncompressed chunk — was marked "❌ Not yet implemented" linking #199 (closed without merging). Sub-chunk slicing actually landed via #996: slicing an uncompressed ManifestArray along its largest-stride axis rewrites the reference's byte offset/length. A finer chunk grid along that axis can be built by combining isel with xarray.concat, so no dedicated rechunk method is needed.

Selecting specific chunks — now also covers sub-chunk slicing of uncompressed arrays, not just chunk-aligned selections.

Parallelized generation of references — point at open_virtual_mfdataset(..., parallel="dask" | "lithops" | Executor), which parallelizes the per-file open map step, instead of only describing a manual dask.delayed wrap.

Parallelized combining (tree-reduce) — drop the stale "wrap ManifestArray in dask.array (⚠️ Untested)" description. VirtualiZarr deliberately combines references serially on the client since they are small, avoiding a distributed tree-reduce (per the Scaling docs).

Incorrect snippets

  • to_kerchunk format strings: 'JSON''json' (the format arg only accepts the lowercase literals "dict"/"json"/"parquet"), and fix the missing opening quote in format='parquet'.
  • DMRPPParserDMRPPParser(), matching every other parser row (it is a class needing instantiation).
  • Mark the Kerchunk cell for reading a Zarr v3 store as ❌ (ZarrToZarr is v2-only) instead of leaving it blank.

The "Splitting uncompressed data into chunks" row linked PR zarr-developers#199, which
was closed without merging. Sub-chunk slicing landed instead via zarr-developers#996:
slicing an uncompressed ManifestArray along its largest-stride axis
rewrites the reference's byte offset/length. A finer chunk grid along
that axis can be built by combining isel with xarray.concat, so no
dedicated rechunk method is needed.

Also note that chunk selection now covers sub-chunk slicing of
uncompressed arrays, not just chunk-aligned selections.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The two Parallelization rows predated open_virtual_mfdataset's `parallel`
kwarg:

- Generation: point at open_virtual_mfdataset(parallel="dask"|"lithops"|
  Executor), which parallelizes the per-file open map step, rather than
  only describing a manual dask.delayed wrap.
- Combining (tree-reduce): drop the stale "wrap ManifestArray in
  dask.array (Untested)" description. VirtualiZarr deliberately combines
  references serially on the client since they are small, avoiding a
  distributed tree-reduce (per the Scaling docs).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@TomNicholas TomNicholas changed the title Update Kerchunk comparison FAQ for sub-chunk isel parity Update stale rows in the Kerchunk comparison FAQ Jul 15, 2026
- to_kerchunk format strings: 'JSON' -> 'json' (the format arg only
  accepts the lowercase literals "dict"/"json"/"parquet"), and fix the
  missing opening quote in format='parquet'.
- DMRPPParser: pass an instance (DMRPPParser()) like every other parser
  row, not the bare class.
- Mark the Kerchunk cell for reading a Zarr v3 store as ❌ (ZarrToZarr is
  v2-only) instead of leaving it blank.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@TomNicholas
TomNicholas merged commit a191721 into zarr-developers:main Jul 15, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant