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.Datasetor grid-awareNEMODataTreeobjects 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.
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.
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