Skip to content

Support datatree roots with consolidated metadata #44

@ljstrnadiii

Description

@ljstrnadiii

Description

Some Zarr sources are datatree-style roots where the target variable lives under child groups (for example region_a/<variable>, region_b/<variable>) instead of directly at root. Today, zarr-layer assumes a single dataset path and does not handle this structure well.

Goals

  • Auto-detect datatree child datasets from root consolidated metadata.
  • Initialize one store/mode per child dataset and render them as one logical layer.
  • Keep single-dataset behavior unchanged.
  • Support viewport-based child culling when bounds are known.
  • Support query routing for points and merged query results for polygons across matching children.
  • Improve CRS handling for child datasets when CRS/proj4 metadata is incomplete.

Notes / Constraints

  • Assume child footprints do not overlap.
  • Assume scale_factor / add_offset are consistent across children.
  • Prefer fast bounds discovery from child multiscales layout in root consolidated metadata.
  • If child layout metadata is missing, fall back to per-child coordinate-array bounds detection (slower).

Acceptance Criteria

  • Datatree root sources render correctly without custom per-child wiring.
  • Existing non-datatree sources behave exactly as before.
  • Documentation includes datatree behavior and performance implications (fast metadata path vs coordinate fallback).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions