Skip to main content

Zarr-Cesium

High-performance CesiumJS providers for interactive 2D and 3D visualization of environmental and atmospheric data stored in Zarr.

Zarr-Cesium enables direct, client-side visualization of scientific datasets stored in the Zarr format. No preprocessing. No tile servers. No backend.

It provides a set of CesiumJS data providers that stream and render multidimensional geospatial datasets directly from HTTP/S3/GCS object storage.

Why Zarr-Cesium?

Traditional NetCDF/GeoTIFF-based visualization pipelines require:

  • preprocessing,
  • tile generation,
  • custom server infrastructure.

Zarr-Cesium removes all of that, streaming chunked scientific arrays directly into WebGL shaders for real-time exploration.

Screenshots


Features

  • Zarr v2 and v3 support
  • Single-scale and multiscale datasets (using ndpyramid)
  • 2D scalar, 3D volumetric, and 3D vector field visualization
  • Automatic resolution selection for multiscale datasets
  • CRS-aware (EPSG:4326 & EPSG:3857)
  • WebGL-accelerated rendering
  • Dynamic styling (colormap, opacity, scaling, slices, animation)

Provider Overview

ProviderPurposeDescription
ZarrLayerProvider2D scalar fieldsRenders imagery layers from single/multiscale Zarr arrays.
ZarrCubeProvider3D volumetric cubesRenders 3D slices (horizontal & vertical).
ZarrCubeVelocityProvider3D vector fieldsAnimated particle advection from U/V components.

Architecture Diagram (High-level)


Zarr Store (HTTP / S3 / GCS)

zarrita.js (Zarr client)

Zarr-Cesium Providers

CesiumJS (WebGL)

2D/3D Interactive Visualization


Acknowledgements

Built with:

  • CesiumJS
  • Zarr / zarrita
  • cesium-wind-layer
  • ndpyramid

Developed at the National Oceanography Centre (NOC) as part of the Atlantis project.