GridLook is a WebGL-based 3D globe viewer for Earth system data stored as cloud-hosted Zarr datasets. It runs entirely in the browser with no server-side processing.
This branch (healpix-geo) extends GridLook with native support for HEALPix grids and the DGGS Zarr convention:
- HEALPix nested indexing on the WGS84 ellipsoid (EPSG:4326), powered by
@eopf-dggs/healpix-geo - Multiscale pyramids with automatic level-of-detail (LOD) switching based on zoom level
- DGGS metadata read from Zarr group attributes (
attrs.dggs) following the DGGS Zarr convention - Limited-area optimization for datasets that cover only a portion of the sphere (compact geometry and texture)
| Grid Type | Description |
|---|---|
| HEALPix | Hierarchical Equal Area isoLatitude Pixelisation (nested) |
| Regular | Equirectangular latitude/longitude |
| Regular Rotated | Rotated-pole regular grids |
| Curvilinear | Model-native curvilinear grids |
| Gaussian Reduced | Reduced Gaussian grids (e.g. IFS output) |
| Triangular | Unstructured triangular meshes |
| Irregular | Scattered point data (Delaunay triangulation) |
Grid type is auto-detected from the Zarr metadata — no user configuration needed.
Visit the deployed viewer:
https://eopf-dggs.github.io/gridlook/
Load any CORS-enabled, public Zarr dataset by appending its URI to the URL:
https://eopf-dggs.github.io/gridlook/#<ZARR_URI>
All viewer state is encoded in the URL hash for shareable links:
https://eopf-dggs.github.io/gridlook/#<ZARR_URI>::variable=temperature&colormap=viridis
Requires Node.js (v20+).
npm installnpm run dev # dev server on localhost:3000npm run build # type-check + production buildnpm run lint-ci # ESLint (zero warnings)
npm run lint:fix # auto-fix
npm run typecheck # vue-tsc type checkingTo load datasets from object storage services, ensure CORS is enabled on the server.
Example for an OpenStack Swift container:
swift post nextGEMS -m "X-Container-Meta-Access-Control-Allow-Origin:*"
See LICENSE.
