Python tools for processing moored oceanographic array observations from raw instrument files to quality-controlled, CF-compliant NetCDF.
It covers a single mooring's instruments — stages 1–3, stacking, and pressure gridding, each documented in an HTML report. Deriving calibration-dip offsets is handled by caldip, and shipboard CTD processing by ctdcast.
Documentation: https://ocean-uhh.github.io/oceanarray/
pip install oceanarrayOr, with uv:
uv pip install oceanarrayThis pulls in seasenselib (used to read raw instrument files in stage 1) automatically.
Python 3.11–3.13 is supported. See the installation guide for isolated-environment (conda / venv / uv) and from-source options.
Create a skeleton YAML, fill in the deployment metadata, then process:
oceanarray init dsG3_1_2026 --proc-dir /data/proc
# edit /data/proc/dsG3_1_2026/dsG3_1_2026.mooring.yaml
oceanarray validate /data/proc/dsG3_1_2026/dsG3_1_2026.mooring.yaml
oceanarray run /data/proc/dsG3_1_2026 --raw-dir /data/raw # stages 1-3, stack, grid, reportSee the documentation for the recommended first-processing workflow, YAML reference, and CLI reference.
import oceanarray as oa
yaml_path = "/data/proc/dsG3_1_2026/dsG3_1_2026.mooring.yaml"
oa.process(yaml_path, raw_dir="/data/raw") # stages 1-3
oa.run(yaml_path, from_stage=3, report=True) # re-run stage 3, stack, grid, reportSee the API reference for the full interface.
Development was assisted by Claude Code (Anthropic) and GitHub Copilot code review.
The data-processing approach draws on methods developed for the RAPID mooring array programme (UK/US funded). oceanarray is developed toward the DFG Ocean Array infrastructure project (DFG project number 571027118), from which it takes its name, and was first applied in the AEI–DFG MIXSED project (DFG project number 541914507).
MIT License