Skip to content

Decision framework - #209

Merged
emmanuelmathot merged 62 commits into
mainfrom
feat/decision-framework
Nov 4, 2026
Merged

emmanuelmathot merged 62 commits into
mainfrom
feat/decision-framework

Conversation

@emmanuelmathot

Copy link
Copy Markdown
Collaborator

PR to track the integration in main

Fixes #183

emmanuelmathot and others added 30 commits August 3, 2026 17:27
Adds a two-page decision framework that takes a reader from "I have
geospatial data to publish or migrate" to a short list of cloud-optimized
format candidates and the layout choices that make each one work.

decision-framework/index.qmd
  - Preconditions P1 (partial/parallel reads over HTTP) and P2 (no opaque
    bundles), written on top of the guide's existing cloud-optimized
    format pattern and glossary rather than as a parallel definition.
  - The spine: a control fork (existing data, reprocessable) then a
    topology gate that opens a candidate set, with a Mermaid flowchart.
  - Refinements: intent, the object-size / grouping lever, ecosystem
    maturity, and interpretation encoding.
  - Cross-cutting notes: metadata and cataloging (STAC recommended, not
    prescribed), within-format depth, and dead ends framed as "unlock
    this".
  - A short optional section on making the choice quantitative, linking
    out rather than reproducing the full spec.

decision-framework/case-studies.qmd
  - Six products run through the spine, five backed by measurements,
    leading with the measured outcome and the recurring lesson that
    cloud-optimized is rarely smaller and the gap is usually the codec.

Also registers both pages in _quarto.yml (placement flagged for review),
adds them to the Welcome table of contents, and credits CNES and the
Copernicus / NASA source missions in _thankyous.qmd.

Refs #183

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The optional scoring section named two measured criteria (size and
performance) but had no outbound link, so a reader had no way to
reproduce a number. Point both pages at the open-source harness the
case-study measurements actually came from.

- Framework page: a "where the measured numbers come from" paragraph
  after the criteria table, naming what the harness measures (object-size
  distribution and tier fitness, write, range-request-aware read, tile
  display), that datasets are described in config files rather than baked
  in, and linking the docs and configuration guide.
- Case studies: provenance in the measurement caveat, plus a note in the
  acknowledgements that the harness is maintained outside this guide so
  its methodological choices stay debatable on their own terms (ADR 0002).

Refs #183

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The recurring-lesson callout paired the "rarely smaller" headline with a
measurement-hygiene warning. Replace it with the mechanism that actually
explains the gap: overviews, levels of detail and spatial indexes are
structures the source never carried, so they add volume, and that volume
is the feature being bought. Anchored to the two cases that show it
(the COG carrying overviews, the GeoParquet row-group index).

The like-for-like-on-content caveat is dropped from the summary only. It
stays inline in cases 3 and 5, where it is concrete and actionable.

Also aligns the same paragraph on the framework page.

Refs #183

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
… split

The maturity refinement was a three-row table with no definitions, which
made it the weakest of the four axes. Replace it with the substance from
the strategic-report state-of-the-art work:

- An explicit L1-L5 scale, so the judgement is stated rather than
  impressionistic, and a per-format table giving specification status,
  tooling and level. This also separates FlatGeobuf (L3) from GeoParquet
  and COPC (L4), which the old table lumped together.
- The distinction that is easiest to get wrong: Zarr v3 the substrate is
  dependable (core spec final in 2024, sharding stable in zarr-python 3.x
  and readable by GDAL and xarray), while GeoZarr the convention layer is
  still being ratified in an OGC SWG. The L2 belongs to the conventions,
  not to Zarr.
- "Maturity is a warning, not a veto", which reconciles the topology gate
  offering GeoZarr as the primary N-D cube candidate with that candidate
  sitting at L2: there is no mature alternative at that topology, so a low
  level means plan for change, pin versions, and expect the tooling to
  improve.

Points at geozarr.org for current status rather than quoting a
ratification date that will age badly.

Refs #183

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…ies and updating case study references for improved context and accuracy.
Co-authored-by: Pete Gadomski <pete.gadomski@gmail.com>
Co-authored-by: Pete Gadomski <pete.gadomski@gmail.com>
Co-authored-by: Pete Gadomski <pete.gadomski@gmail.com>
…mat selection and enhancing the explanation of topology and control stages.
…ifying definitions for improved understanding and context.
…d explanations for reprocessing and virtualization processes.
…ion encoding and enhancing the explanation of the two-stage process for format selection. Update theme configuration in Quarto settings for improved clarity.
…a shapes and clarifying candidate selections for improved guidance on cloud-optimized formats.
…f data objects, enhancing the explanation of access patterns and their impact on format performance.
… of "N-D cube" to "N-D cubes" and enhancing consistency in data shape descriptions.
…not yet possible" for improved accuracy in describing virtualization limitations.
…terminology from "impossible" to "not yet implemented" and providing context on HDF5's evolution to enhance reader understanding of format capabilities.
…data and clarifying format family choices for N-D cubes, improving guidance on cloud-optimized formats.
…ions of on-the-fly and batched processing, improving guidance on layout needs for visualization and data fusion.
Co-authored-by: Alex I. Mandel <alex@developmentseed.org>
Co-authored-by: Alex I. Mandel <alex@developmentseed.org>
…initions and clarifying its impact on chunking and storage tiers, improving user understanding of data handling.
…existing data status, and grouping lever information, enhancing clarity for users on data handling and processing choices.
…improvements in reader tooling and performance metrics, enhancing user understanding of format evolution and library capabilities.
…ional aspect of the octree and its impact on bounding box queries, improving user understanding of data access and measurement relevance.
… and fusion advantages, enhancing user understanding of format performance and access patterns.
Co-authored-by: Aimee Barciauskas <aimee@developmentseed.org>
emmanuelmathot and others added 20 commits August 10, 2026 10:50
Co-authored-by: Aimee Barciauskas <aimee@developmentseed.org>
Co-authored-by: Aimee Barciauskas <aimee@developmentseed.org>
Co-authored-by: Aimee Barciauskas <aimee@developmentseed.org>
Co-authored-by: Alex I. Mandel <alex@developmentseed.org>
Co-authored-by: Emmanuel Mathot <emmanuel.mathot@gmail.com>
Co-authored-by: Emmanuel Mathot <emmanuel.mathot@gmail.com>
@netlify

netlify Bot commented Sep 30, 2026

Copy link
Copy Markdown

✅ Deploy Preview for harmonious-cajeta-5542ab ready!

Name Link
🔨 Latest commit 7c30419
🔍 Latest deploy log https://app.netlify.com/projects/harmonious-cajeta-5542ab/deploys/6abcdc74bb5aab0008f7dd72
😎 Deploy Preview https://deploy-preview-209--harmonious-cajeta-5542ab.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@emmanuelmathot emmanuelmathot linked an issue Sep 30, 2026 that may be closed by this pull request
@netlify

netlify Bot commented Sep 30, 2026

Copy link
Copy Markdown

✅ Deploy Preview for harmonious-cajeta-5542ab ready!

Name Link
🔨 Latest commit 4abbf74
🔍 Latest deploy log https://app.netlify.com/projects/harmonious-cajeta-5542ab/deploys/6abcdc98d77c270007d46248
😎 Deploy Preview https://deploy-preview-209--harmonious-cajeta-5542ab.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@emmanuelmathot
emmanuelmathot marked this pull request as ready for review November 2, 2026 09:01

@wildintellect wildintellect left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Preview Looks good. Content was already reviewed.

@emmanuelmathot
emmanuelmathot merged commit 9b2a608 into main Nov 4, 2026
1 check passed
@emmanuelmathot
emmanuelmathot deleted the feat/decision-framework branch November 4, 2026 21:00
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.

Decision framework

3 participants