-
Notifications
You must be signed in to change notification settings - Fork 0
Roadmap
Below we briefly outline the steps required to deliver the initial OceanOSSE package and include optional extensions should further development time become available:
0. Building a skeleton OceanOSSE workflow:
-
(a) Initial workflow to read configuration (
.toml) file and define workflow parameters. Pydantic will be used for validation of user inputs to the namelist file. Potentially defining.tomlfiles for workflow configuration and sampling strategy separately. -
(b) Input functions to open ocean model property datasets from file paths provided in the config (.toml) file.
-
(c) Initial templates for
ObsSampler(),InstrumentError()andObsRegridder()Abstract Base Classes. -
(d) Output functions to write subsampled ocean model property fields to Zarr stores & netCDF file(s).
1. Prepare NOC Near-Present Day 3-dimensional temperature and salinity fields for the North Atlantic (monthly-mean fields).
2. Constructing Argo probability tensor / database to represent historical Argo profile float sampling using EN4.2.2 profiles available from the UK Met Office.
3. Creating ObsSampler() base class and inheriting ArgoSampler() class to perform platform-equivalent subsampling of a 3-dimensional ocean model property field using:
- (a) a simple upper 2000m sampling (i.e., replace upper 2000 m of a climatology with time-evolving ocean model outputs assuming perfect sampling by Argo).
- (b) a probability sampling based of historical Argo sampling likelihoods. This will return vertical profiles which will need to be interpolated back onto the original ocean model grid.
4. Creating InstrumentError() base class to represent uncertainty due to instrument errors in sampling of ocean model property fields.
5. Creating ObsRegridder() base class and inheriting OARegridder() class to perform regridding of sampled profiles (including error) back onto the original ocean model grid.
- We will include simple statistical interpolation Regridding class initially.
- We will then include an Objective Analysis Regridding class to replicate the approaches used in ocean analyses, such as EN4.2.2.
- Future
ObsRegridder()classes might include ML sparse interpolation approaches.
6. Testing subsampled ocean model property fields as inputs to the METRIC Python package used to estimate AMOC diagnostics at RAPID, (MOVE, SAMBA).
- We will compare estimated AMOC diagnostics with model ‘truth’ property fields (e.g., original conservative temperature & absolute salinity from NOC Near-Present Day).
7. Unit & Integration Tests core functions and class methods using pytest framework.
- Unit tests will be included with the addition of each new feature to the OceanOSSE main branch.
- Unit tests will be executed using a GitHub Action
ci.ymlfile.
8. Prepare documentation describing stages of the workflow, creation of configuration files and example applications.
9. Release OceanOSSE v0.1.0 on GitHub in AMOCcommunity organisation.
10. Initial OceanOSSE release via TestPyPI and PyPI
1. Add MooringSampler()
2. Add SatelliteSampler()
3. Test a wide variety of AMOC diagnostics (e.g., Sanchez-Franks and Worthington proxies).
OceanOSSE Development Team. 2026.