You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
🤖 from Claude (filed at espg's direction, 2026-08-05; the model question behind issue #36's mechanism)
Motivation
zagg-pyramid/2 stores are inherently multiresolution (englacial/zagg#381, point (12)): a guaranteed ladder at every order 0…base plus the native resolution, with the finest level already anchored in the root metadata (morton_hive.cell_order, dggs.refinement_level) and the full set in the expanded pyramid.overviews block. Issue #36 covers exposing the ladder; this issue decides what the ladder is in xarray terms — before ad-hoc per-level opens calcify into the de-facto model.
The design questions
Container idiom.xarray.DataTree (now upstream) with one dataset per order — the natural multiscales mapping — vs one Dataset with a stacked resolution coordinate, vs the status quo family of independent Datasets. DataTree is the lean; the others deserve a written rejection.
Coordinate identity across levels. Morton prefix nesting gives exact parent/child cell relations between any two orders — what does that buy in the API? (sel traversal to a coarser order; a "lift/project" operation between levels; groupby-parent.) What coordinate/index metadata must each level carry for those to be lawful?
Cross-resolution operation policy. Explicitly NOT via upstream xdggs — upstream forbids cross-resolution alignment in one index (recorded prior ruling), and that prohibition is the reason this design lives here. Within this package the fixed ladder makes cross-res relations well-defined; the policy should say which ops are exact (exact-class fields: order-to-coarser aggregation is exactly the stored coarser level — the doctrine upgrade), which are approximate-with-provenance (digest fields at recorded merges-from-raw), and which are refused (implicit alignment between arbitrary orders).
Index design. One MortonMocIndex per level (status quo) vs a single multiresolution index owning the prefix relations. Interaction with lazy/cubed arrays at each level.
Compatibility posture toward xdggs: the register_dggs plugin route needs no upstream PR (recorded prior finding) — per-level xdggs interop as a side-door is plausible; it must not constrain the primary model.
Deliverable
A written model decision on this thread (options + rejection rationale), then implementation lands under issue #36. Refs: #1 (plan), #36 (mechanism), #21 (gridlook feeder), englacial/zagg#381, englacial/zagg#392.
🤖 from Claude (filed at espg's direction, 2026-08-05; the model question behind issue #36's mechanism)
Motivation
zagg-pyramid/2stores are inherently multiresolution (englacial/zagg#381, point (12)): a guaranteed ladder at every order 0…base plus the native resolution, with the finest level already anchored in the root metadata (morton_hive.cell_order,dggs.refinement_level) and the full set in the expandedpyramid.overviewsblock. Issue #36 covers exposing the ladder; this issue decides what the ladder is in xarray terms — before ad-hoc per-level opens calcify into the de-facto model.The design questions
xarray.DataTree(now upstream) with one dataset per order — the natural multiscales mapping — vs one Dataset with a stacked resolution coordinate, vs the status quo family of independent Datasets. DataTree is the lean; the others deserve a written rejection.seltraversal to a coarser order; a "lift/project" operation between levels; groupby-parent.) What coordinate/index metadata must each level carry for those to be lawful?MortonMocIndexper level (status quo) vs a single multiresolution index owning the prefix relations. Interaction with lazy/cubed arrays at each level.register_dggsplugin route needs no upstream PR (recorded prior finding) — per-level xdggs interop as a side-door is plausible; it must not constrain the primary model.Deliverable
A written model decision on this thread (options + rejection rationale), then implementation lands under issue #36. Refs: #1 (plan), #36 (mechanism), #21 (gridlook feeder), englacial/zagg#381, englacial/zagg#392.