Skip to content

[WIP] Shard 30m icechunk base and write multiscale overviews in-store - #401

Closed
norlandrhagen wants to merge 1 commit into
mainfrom
hybrid-pyramid-store
Closed

norlandrhagen wants to merge 1 commit into
mainfrom
hybrid-pyramid-store

Conversation

@norlandrhagen

Copy link
Copy Markdown
Collaborator

Summary

  • IcechunkConfig.create_template writes the 30m base to group 0: shards (6000, 4500) (one per processing region), inner chunks (375, 375) (~550 KB, good for viz), geozarr attrs via topozarr.attach_geozarr_metadata.
  • insert_region_uncooperative writes to group='0'. One region = one shard, so concurrent writers never share a key.
  • create-pyramid now opens group 0 and appends topozarr overview levels 1..N to the same icechunk store (mode='a'), replacing the separate pyramid.zarr. All 8 vars get overviews.
  • Deps: topozarr>=0.2.0, icechunk>=2.3.0,<3, xarray>=2026.9.0, zarr>=3.2.1,<4.

Notes

  • PyramidConfig / pyramid.zarr are left in place but no longer written; delete once the frontend points at the icechunk store.
  • Readers of new store versions must use group="0" for the 30m base. v1.1.0 stays root-layout, so docs are unchanged.
  • metadata_dict attrs now land on group 0, not the root.
  • Re-running process-region after create-pyramid leaves levels 1..N stale; re-run create-pyramid.
  • The Coiled software env needs a rebuild for icechunk 2 / topozarr 0.2.0 / zarr>=3.2.1.

Testing

  • pixi run pytest tests/test_config.py -k "template or icechunk": 15 passed (asserts regular 6000x4500 regions, shards, chunks, proj:code on group 0).
  • pixi run pytest tests/test_datasets.py tests/test_pipeline_snapshots.py: 19 passed, 2 xfailed, 5 snapshots passed.
  • Local synthetic e2e: template, 2 region writes and create_pyramid twice produce groups 0,1,2, root multiscales attrs and correct overview means.

- Template writes base to group '0' with region-sized shards (6000x4500), 375x375 inner chunks and geozarr attrs
- Region inserts target group '0'
- create-pyramid appends topozarr overview levels 1..N to the same icechunk store
- Bump topozarr>=0.2.0, icechunk>=2.3.0, xarray>=2026.9.0, zarr>=3.2.1
@norlandrhagen
norlandrhagen marked this pull request as draft October 15, 2026 18:17
@norlandrhagen norlandrhagen changed the title Shard 30m icechunk base and write multiscale overviews in-store [WIP] Shard 30m icechunk base and write multiscale overviews in-store Oct 15, 2026
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