Skip to content

feat(process): reprocess GEBCO bathymetry at higher resolution + full depth gradient #101

Description

@chipi

What's broken

The processed GEBCO file (`data/processed/gebco/static.json`) is quantised down to six discrete depth values: `{200, -3000, -1500, -600, -400, -200}`. At 1° global resolution that's effectively a land/deep-ocean mask — the depth palette in the scatter sketch has nothing to interpolate between.

For regional recipes (Mediterranean, Gulf Stream, etc.) the data is dense enough relative to the canvas that this was tolerable. For globe-spanning biologging recipes (elephant-seal-bathymetry, leatherback-decades, three-species) it produced visible rectangular tiles where the few discrete depth bands abruptly changed.

Workaround landed in 28320cb: drop `context_layer: bathymetry` from the affected recipes and fall back to coastline.

What we want

A processed GEBCO file with:

  • Continuous depth values (or at least 50+ bands), not 6
  • Higher spatial resolution — at least 1080×2160 (¼°), ideally 2160×4320 (⅛°), so canvas pixels don't all map to the same data cell
  • Same JSON shape the sketch already consumes (`shape`, `data`, `min`, `max`, `lat_range`, `lon_range`)

Where to start

The processing path is in `pipeline/src/oceancanvas/tasks/process.py` (or wherever GEBCO is handled). Likely the original processing was meant for a much smaller regional crop and aggressively binned values to keep the file small. For the static global bathymetry file the size budget can be larger — a ½° float32 grid is ~1MB.

Acceptance

  • Reprocessed GEBCO has > 50 unique values across the global domain
  • Spatial resolution at least 720×1440 (½°)
  • Three affected recipes can be flipped back to `context_layer: bathymetry` and render cleanly at global scale
  • Existing regional recipes (Gulf Stream, Mediterranean) unaffected

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions