MATLAB
The oceanum-matlab library provides read-only access to the Oceanum Datamesh from MATLAB and GNU Octave.
Requirements
- MATLAB R2022b or later
- GNU Octave 6.0+ (also supported)
Installation
The Oceanum toolbox is available form the Mathworks community file exchange. Or download/clone from the Github repository
addpath('/path/to/oceanum-matlab');
Authentication
Set your Datamesh token as an environment variable:
setenv('DATAMESH_TOKEN', 'your-token-here');
Quick Start
Connect to the Datamesh
% Initialize connector
connector = oceanum.datamesh.Connector();
% Browse the catalog
catalog = connector.get_catalog();
disp(catalog);
% Search for datasets
results = connector.get_catalog('wave');
Load Data
% Load a datasource
data = connector.load_datasource('datasource-id');
% Execute a query with filters
query_input = struct(...
'datasource', 'datasource-id', ...
'limit', 1000 ...
);
result = connector.query(query_input);
Work with NetCDF
% Load as NetCDF structure
nc_data = connector.load_datasource('datasource-id', 'format', 'netcdf');
Main Classes
| Class | Description |
|---|---|
Connector | Primary API communication interface |
Catalog | Dataset discovery and searching |
Datasource | Individual datasource metadata |
Query | Advanced filtering capabilities |
Stage | Query staging information |
Session | Automatic session handling |
Features
- Catalog browsing - Search and discover datasets
- Data loading - Load datasources as MATLAB tables or NetCDF structures
- OceanQL queries - Filter by space, time, and variables
- Query size limits - Automatic error messaging for large queries
- Session management - Automatic authentication handling
Limitations
Compared to the Python library, the MATLAB version:
- Read-only access (no write operations)
- Synchronous operations only
- Limited format support
- No lazy loading capabilities
Documentation
The API mirrors the Python library. For detailed guidance, refer to the Python documentation.