Skip to content

Overview

A Cloud Data Platform for Advancing Ocean Science


What is OceanDataStore?

Ocean datasets are often distributed as collections of thousands of NetCDF files stored on High Performance Computer (HPC) systems or remotely accessible archives. Accessing these datasets requires substantial data transfers, file management, and bespoke post-processing workflows on the part of the user.

OceanDataStore adopts a cloud-native approach where ocean data are stored in Analysis-Ready, Cloud-Optimised (ARCO) formats which are described and accessed through a searchable OceanDataCatalog. This enables users to:

  • Work with ocean data on any machine from latptops to HPC clusters.
  • Access only the variables, time periods, and spatial domains needed for analysis.
  • Open datasets directly as familiar xarray.Dataset or grid-aware NEMODataTree objects without downloading complete archives.
  • Build scalable, reproducible workflows for ocean science using the scientific Python ecosystem (e.g., xarray, dask, etc).

Who is OceanDataStore for?

OceanDataStore serves two complementary user groups:

You have ocean model outputs or observational data and want to publish them in a cloud-native format.

The OceanDataStore Command Line Interface converts collections of local NetCDF files into Zarr stores or Icechunk repositories in S3-compatible object storage — with a single command and optional Dask parallelism for large-scale simulations.

Publish User Guide · How-To Guide · Examples

You want to discover, access and analyse cloud-native ocean datasets.

The OceanDataCatalog Python API lets you search our STAC catalog interactively, filter by data collection, variable or standard name, and open datasets as lazy xarray.Dataset objects with spatial and temporal subsetting or open directly as grid-aware data structures such as NEMODataTree.

Analyse User Guide · How-To Guide · Browse Catalog


Why use OceanDataStore?

Analysis-Ready Cloud Optimised Data

OceanDataStore enables users to transform any NetCDF data archive directly into Zarr v2/v3 stores and Icechunk repositories — transactional, version-controlled tensor storage - in cloud object storage from the command line or a Python script. With logging, verification and optional dask parallelisation, OceanDataStore eliminates the need to build complex workflows for every dataset.

STAC-Based Discovery

OceanDataStore published datasets are described through a Spatio-Temporal Asset Catalog STAC, making them discoverable both through our interactive Dataset Catalog browser and our OceanDataCatalog API.

Domain-Aware Scientific Data Structures

OceanDataStore is more than a data provider; ocean science informs the design of our Analysis-Ready Cloud-Optimised datacubes. For example, users can access NEMO ocean model outputs in the form of a consolidated NEMODataTree data structure, enabling reproducible grid-aware computation directly from the cloud.


Ecosystem

OceanDataStore is built on and integrates with the wider scientific Python ecosystem:

Package Role
xarray Labelled N-dimensional arrays; primary data access interface
zarr Chunked, compressed cloud-native array storage
icechunk Transactional, version-controlled tensor storage
dask Parallel computing for large-scale data publishing
pystac STAC catalog construction and querying
nemo_cookbook Grid-aware data structures and diagnostics for NEMO model outputs

Funding

OceanDataStore is developed at the National Oceanography Centre (NOC) and is supported by:

  • AtlantiS — Atlantic Climate and Environment Strategic Science
  • EPOC — Explaining & Predicting the Ocean Conveyor
  • ARIA PROMOTE — Progressing earth system Modelling for Tipping Point Early warning systems