OceanGliders tag adoption across glider data centres

—

Every glider deployment found on six data centres: the IOOS Glider DAC, VOTO, BODC, OTN, Coriolis (the OceanGliders GDAC) and IMOS/ANFOG. A deployment record is tagged when its network global attribute starts with "OceanGliders". The same deployment can be held by more than one data centre; unique deployments are matched on WMO ID and start date. The tag became an OG1.0 requirement only in October 2026, so this shows readiness, not compliance.

Deployments

Deployment records—
Unique deployments—
Glider-days—

OceanGliders network tag

Tagged deployments—
Share tagged—
Glider-days tagged—
Data centres with tags—
Institutions tagging—

OG1.0 format

OG1.0 deployments—
Share OG1.0—
Glider-days OG1.0—
Data centres with OG1.0—
Institutions with OG1.0—

Deployments by data centre

Records held by each data centre. Solid: tagged OceanGliders. Faded: not tagged.

Glider tracks

Zoom and pan; hover over a track for its details. One position per dive (or per hour where the data have no dive or profile number), thinned to about one point every 5 km. Colour: data centre; full colour for the highlighted group, pale for the rest.

Counts for the selected window, from the deployment catalogue (mapped or not). NRT, Recovered and DM overlap: a deployment with both a real-time and a recovered dataset counts in both, so they need not add up to the total. Recovered: recovered (full-resolution) datasets, including those named "delayed" at IOOS, VOTO and OTN. DM: the metadata state delayed-mode QC. Untick a data centre to hide its tracks.

Deployments by start year

All records per start year in grey; the tagged part in the colour of the data centre holding it.

Where the tags point

Tagged records by mission and region, from the network value, coloured by data centre.

Format, data mode, QC and platform cards show:
Colour: tagged records, in the data centre's colour; grey: not tagged. Patterns mark the category.

Format and data mode

Records per data centre by file format (OG1.0 counted when any of a deployment's files is OG1.0), and deployments with real-time (telemetered, often decimated) and recovered (full-resolution) data, by the highest QC level stated for each.

Format

Real-time and recovered data, by QC level

Quality control flags

Whether records carry QC flag variables, whether the flags are described the CF way (flag_values with a matching flag_meanings), and which flag scheme they use.

Flags present and described

Flag scheme

Platforms

Glider type per data centre, where the metadata say. The IOOS format has no glider-model attribute, so many IOOS records are unknown.

Contributions by institution

The 25 largest contributors by records, split by data centre. Solid: tagged. Faded: not tagged.

Readiness by institution and data centre

Share of each institution's records meeting each criterion, per data centre. For the steering team: names institutions against a requirement that is new.

  • Network tag: global attribute network starts with "OceanGliders" (on any of the deployment's files).
  • Site tag: global attribute oceanGliders_site or site is present.
  • Delayed mode: the data centre holds a delayed-mode or recovery file for the deployment.
  • WMO ID: a 5 to 8 digit WMO identifier in the metadata.
  • Active since Oct 2024: data end (or, where no end date is given, start) on or after 2024-10-27.
  • Coriolis serves mostly EGO-format files, which carry network only when the provider adds it (C-PROOF's do), alongside some OG1 files. Its institution is the glider owner in its deployment metadata; times, glider model and WMO ID come from the GDAC's own trajectory index.
  • Format: OG1.0 when Conventions or format_version name OG 1.0; EGO; IOOS DAC (IOOS Glider NetCDF, including older Unidata/COARDS files); IMOS; else Other.
  • Real-time vs recovered: IOOS -delayed datasets, VOTO delayed_/OG_complete_, OTN _delayed, BODC's recovery file collection, Coriolis data mode P (its P files are full resolution, checked on two Slocum deployments: see Spot checks) and IMOS mission folders are recovered; the rest are real time. "Delayed" in IOOS, VOTO and OTN names means recovered, not delayed-mode QC.
  • QC flags in Coriolis P files: they have flag variables (EGO requires them), but in the one P file checked most flag values were 0, "no QC performed" (see Spot checks), and the file states qc_manual "none".
  • QC level (per stream, highest stated): Delayed mode when the metadata say the data were manually calibrated or quality controlled in delayed mode, or data_mode is D (IMOS "Delayed Mode"); Automatic QC when they state automatic, QARTOD or Argo-method QC, or cite the EGO QC-tests manual or processing chain; No QC when they say no QC, raw, Level 0 or "as is" (IMOS FV00 real-time files included); otherwise Not stated. Most of this is free text in processing_level. VOTO's OG1 files state QARTOD QC but carry no flag variables.
  • Glider-days: end minus start of the deployment's data (ERDDAP time range, file time coverage, or first and last valid JULD/TIME in EGO files); spans under 0 or over 400 days are left out. The tile sums unique deployments.
  • QC flags: any flag variable (flag_values or flag_meanings attributes, or a name ending in _qc). CF: every flag variable has flag_values and a flag_meanings list of the same length. Scheme: from the flag values: IOC/QARTOD (1, 2, 3, 4, 9), Argo-style (0 to 9), SeaDataNet L20 (with A, B, Q), Other; "Not described" means _qc variables without flag attributes.
  • Platform: from platform, instrument and glider-model attributes, title and summary text and the Coriolis index; wave gliders (surface vehicles) are left out of every count.
  • BODC recovery (delayed) data are held as OG1 files in ERDDAP file collections, not as datasets; their deployments are counted from each folder's deployment metadata, and QC for deployments known only from those files is "Not read" (the server doesn't allow reading file headers without downloading whole files).
  • Unique deployments: records on different data centres with the same WMO ID and start dates within 3 days count once. IMOS records have no WMO ID and OTN few, so the unique count is an upper bound.

Findings for data management across data centres

—

Written as a starting point for organising glider data management across data assembly centres, and for a federated OceanGliders ERDDAP. Every number below is computed from the same data as the charts above, so it follows each data refresh; the statements around them were reviewed against the 2026-10-27/28 snapshot (findings reviewed 2026-10-28), and the spot checks at the end record what was verified by opening files then.

Data centre profiles

Data centreRecordsNetwork tag Site tagOG1.0Recovered data Delayed-mode QCCF QC flagsWMO ID Platform known

Where data centres behave differently

Product or fieldHow it differs
Real time vs recoveredMarked by dataset names (IOOS -delayed, VOTO nrt_/delayed_, OTN _realtime/_delayed), a separate file collection (BODC), a data_mode letter (Coriolis R/A/P) or a folder and file version (IMOS REALTIME/ FV00 vs FV01). No two data centres use the same mechanism.
What "delayed" meansRecovered full-resolution data at IOOS, VOTO and OTN; delayed-mode scientific QC at IMOS (and in Argo practice). The same word marks different products.
QC levelStated in free-text processing_level (IOOS, VOTO, BODC, OTN), by citing a QC manual (Coriolis qc_manual), or by data_mode (IMOS). No controlled list, so "delayed mode dataset" and "no quality control" can appear in the same sentence.
QC flagsIOC/QARTOD 1, 2, 3, 4, 9 (IOOS, VOTO IOOS-format files), Argo-style 0 to 9 (Coriolis EGO, IMOS, the few flagged OTN files), _QC variables without flag attributes (BODC OG1), or none (VOTO OG1, most OTN). Same numbers carry different words (code 2 "not_evaluated" vs "UNKNOWN").
File formatOG1.0 (VOTO, BODC), IOOS Glider DAC v2/v3 (IOOS, OTN, VOTO), EGO 1.2 to 1.4 (Coriolis), IMOS-1.4 (IMOS).
Network and site tagsPresent only where the provider writes them (VOTO; C-PROOF, Scripps, WHOI at IOOS; C-PROOF and others in EGO at Coriolis). Site written as site or oceanGliders_site. Some values use networks or regions not in the BOON vocabulary, or ";" instead of "," between networks.
WMO IDGlobal attribute (VOTO wmo_id, BODC wmoid), platform variable (IOOS), deployment JSON and index (Coriolis), or absent (IMOS, most OTN).
Glider modelGlobal attributes (VOTO), instrument list (BODC), platform variables (EGO), folder name (IMOS), or not recorded (IOOS).
Time coverageERDDAP time ranges (IOOS, VOTO, BODC, OTN), file attributes (IMOS), or neither (EGO files; the Coriolis index fills the gap but its start times are unreliable).
InstitutionFree text: acronyms (NOC, NOCS, NOCL), full names, or lists of partners in one string.
AccessERDDAP datasets (IOOS, VOTO, OTN, BODC real time), an ERDDAP file collection without byte ranges (BODC recovery), an HTTP file tree with an index (Coriolis) or an S3 archive (IMOS).
Processing softwareNot recorded in any standard attribute; at best free text in history or processing.

Guidance for each data centre

For each data centre: what is missing for an OceanGliders dataset (tags, format, QC description, identifiers), and where it does the same thing differently from the others.

IOOS

— records · — tagged · — OG1 · — recovered · — delayed-mode QC · — CF QC flags · — WMO ID

Missing or incomplete
  • The OceanGliders network tag is used only by C-PROOF, Scripps and WHOI; the other contributors, including the largest (Rutgers, the OOI arrays, Oregon State, NAVOCEANO), carry none.
  • No attribute for the glider model, so about half the records can't be assigned a platform type.
  • No OG1.0 output; files follow the IOOS Glider DAC format (v2/v3).
  • Scripps and WHOI write site as in the BOON guideline; most C-PROOF datasets have no site attribute, and a few use the non-standard oceanGliders_site.
Does differently
  • "Delayed" in dataset names means recovered full-resolution data; whether it was quality controlled is only in free-text processing_level, which often says "Delayed mode dataset" alongside "No quality control provided".
  • The WMO ID sits on the platform variable, not in the global attributes.
  • QC flags mostly IOC/QARTOD (1, 2, 3, 4, 9), but some groups use Argo-style 0 to 9 and some files hold flag variables with "No QC performed".

VOTO

— records · — tagged · — OG1 · — recovered · — delayed-mode QC · — CF QC flags · — WMO ID

Missing or incomplete
  • Its OG1 files carry no QC flag variables, including those whose processing_level states QARTOD QC; the flags exist only in the parallel IOOS-format datasets.
  • No delayed-mode (scientific) QC is stated for any deployment.
Does differently
  • The reference case for tagging: most deployments have network and site, with values from the BOON vocabulary.
  • Publishes each deployment twice (IOOS format and OG1), each as real time and recovered: nrt_, delayed_, OG_nrt_, OG_complete_; "delayed" means recovered.

BODC

— records · — tagged · — OG1 · — recovered · — delayed-mode QC · — CF QC flags · — WMO ID

Missing or incomplete
  • No network or site tags.
  • Recovery data are not ERDDAP datasets: they sit in a file collection whose files can't be read by byte range, so their metadata can't be inspected without downloading whole files.
  • _QC variables have no flag_values or flag_meanings, so they are not CF-described and their scheme can't be read.
  • The ERDDAP holds mostly recent deployments; older NOC deployments appear only on Coriolis, and the most recent ones don't reach Coriolis (see the NOC example under the recommendations).
Does differently
  • Real-time OG1 datasets on ERDDAP, named _R, with processing_level "No quality control applied"; recovery files expected to move to _P under the proposed OG1 data modes.

OTN

— records · — tagged · — OG1 · — recovered · — delayed-mode QC · — CF QC flags · — WMO ID

Missing or incomplete
  • No network tags and few WMO IDs.
  • Most files carry no QC flags; the few that do flag positions and some measured variables, and some of their flag_meanings strings are malformed.
  • Wave gliders sit in the same collection as underwater gliders, with no attribute to separate them other than platform_type.
Does differently
  • Real time and recovered as _realtime and _delayed datasets in the IOOS v3 "noqartod" format; every file says it is provided "as is" without QC.

Coriolis

— records · — tagged · — OG1 · — recovered · — delayed-mode QC · — CF QC flags · — WMO ID

Missing or incomplete
  • Only EGO files; no OG1.0 output.
  • Recovered data are labelled with data mode P (verified as full resolution) rather than a documented "recovered" mode; their QC flags are mostly 0 (no QC performed) and qc_manual says "none".
  • Recovered (P) files come almost entirely from one provider (SOCIB), so the P convention is in practice one provider's choice, not a GDAC-wide rule.
  • Time metadata are unreliable: no time-coverage attributes in EGO files, and the GDAC index's start times include 1970/2000 placeholders; per-deployment summaries from its ERDDAP aggregation time out.
Does differently
  • Tags only where the provider writes them into EGO 1.4 files (University of Victoria and Fisheries and Oceans Canada for C-PROOF, SOCIB, BIO, CEOTR).
  • States automatic QC by citing the EGO QC-tests manual (qc_manual DOI) rather than in processing_level.
  • Publishes a machine-readable index of every file (glider_traj_index.txt), which no other data centre does.

IMOS

— records · — tagged · — OG1 · — recovered · — delayed-mode QC · — CF QC flags · — WMO ID

Missing or incomplete
  • No network or site tags.
  • No WMO IDs in the files, so its deployments can't be matched against other data centres or OceanOPS.
  • IMOS-format NetCDF, not OG1.0; files served from an S3 archive and the AODN portal, not ERDDAP.
Does differently
  • The clearest separation of streams and QC level: real time (FV00, "Near Real Time Mode") in REALTIME/ and delayed mode (FV01, "Delayed Mode") per mission, with QC flags on nearly every file; the only data centre where delayed-mode QC is the norm.

Recommendations for a federated OceanGliders ERDDAP, and what stands in its way today, are on the Federated ERDDAP tab.

—

A federated OceanGliders ERDDAP

The idea. Each data centre runs its own ERDDAP serving glider data in OG1.0 format. A federating ERDDAP lists all of them as one catalogue: it holds no data itself, and each of its datasets points to the data centre's ERDDAP (ERDDAP's EDDTableFromErddap), so a user query is passed on to the data centre and answered there. Users get one place to search and download all OceanGliders data; data stay with, and are maintained by, the data centres that hold them.

The demo. The OceanGliders data management team has explored the feasibility with a quick demo by Callum Rollo (VOTO): github.com/voto-ocean-knowledge/OG-GDAC-demo. It runs ERDDAP in docker, searches the VOTO and BODC ERDDAPs for OG1.0 datasets and adds each one as a pass-through dataset. Its own checklist: done: docker setup, federating from one and from several servers, search; not yet: checking datasets with the IOOS compliance checker, distinguishing real-time and delayed-mode datasets consistently, queries across all datasets, and a persistent server. The demo includes only VOTO and BODC because they are the only data centres serving OG1.0 today, not because the others failed a test.

What each data centre offers today

Measured while building this dashboard (checked 28 to 29 October 2026).

Data centreERDDAP query service for glider dataOG1.0Source files downloadableHow a deployment is storedNotes from fetching tracks
IOOSyesno (IOOS Glider DAC format)no: ERDDAP /files/ returns 403 Forbiddennot visible; datasets carry profile_id, and many a source_file variable (66 source files behind 394 profiles in the one checked)all 2,262 deployments answered per-profile queries
VOTOyesyes (OG_nrt_, OG_complete_)yesone file per dataset (whole mission)all deployments answered
BODCyes, for real-time datasetsyesyes, but without byte-range access (HTTP 416); recovery files are a file collection, not query datasetsone file per dataset or deploymentrecovery-only deployments read by downloading whole files
OTNyesno (IOOS Glider DAC format, v3.0-noqartod)yesone file per profile: 1,805 to 5,014 files per deployment in the datasets checked, about 140 KB eachwhole-dataset queries on many older datasets time out at the server's 90-second gateway; the same query limited to one week answers in seconds, so tracks were fetched week by week (downloading the per-profile files instead runs at about one file per second)
Coriolisno for the GDAC files (an Ifremer ERDDAP trajectory dataset covered 40 of the 66 Coriolis deployments active in the last 12 months, with some positions dated outside the deployment)no (EGO)yes (HTTP file tree)one EGO file per deployment and mode (_R, _P)read file by file; a few files hold no valid positions
IMOSnot tested (files read from AWS S3)no (IMOS format)yes (S3)one file per deployment (FV00 real time, FV01 delayed mode)read file by file

Querying tip. For large or slow datasets, ask ERDDAP for one time window at a time (for example &time>=2013-09-12T00:00:00Z&time<2013-09-19T00:00:00Z) and join the pieces: ERDDAP then reads only the files covering that window. Averaging on the server (orderByMean("profile_id")) returns one row per profile instead of every measurement.

Current bottlenecks

  1. Format. A federation of OG1.0 data can include only the data centres that serve OG1.0: today VOTO and BODC. IOOS and OTN serve the IOOS Glider DAC format, Coriolis EGO and IMOS its own format.
  2. No query service. Coriolis and IMOS publish files rather than ERDDAP datasets, so there is nothing for a pass-through federation to point to; they would need an ERDDAP over their files, or the federating ERDDAP would have to hold copies.
  3. Speed is inherited. A pass-through dataset is as fast as its source. Where a data centre's ERDDAP assembles each dataset from thousands of per-profile files (OTN), a query over a whole older dataset can take longer than the server's 90-second gateway allows, at the source and in the federation alike. Two remedies: users and tools can bound queries in time (ERDDAP keeps each file's time range and opens only the files a query needs: one week of an OTN dataset that timed out as a whole answered in 4 seconds, and the whole deployment in 11 seconds week by week); and data centres can combine profile files into one file per deployment, or cache, so that whole-dataset queries are fast too.
  4. Real time vs recovered vs delayed mode. Data centres label products differently ("delayed" means recovered data at IOOS, VOTO and OTN, and delayed-mode QC at IMOS), so a federated catalogue cannot yet tell users which product they are getting. The proposed OG1 data modes (R, P, D) would solve this if every data centre applies them the same way.
  5. File access. Federation needs queries, but a full copy or a check of the files needs file access: IOOS blocks it, BODC's file collection has no byte-range access, OTN allows it.
  6. The same deployment in several places. Some deployments are held by more than one data centre (for example NOC deployments at BODC and Coriolis, sometimes with different content); without a shared deployment identifier a federated catalogue would list them twice.
  7. Metadata quality. Placeholder dates (1970, catalogue end dates years ahead), missing tags and free-text QC statements carry straight through a pass-through federation; checks at the data centre, or in the federation layer, are needed.

What would make it work

Recommendations for data centres, from the findings of this audit.

  1. One dataset per deployment and stream, with a mandatory data mode. Publish real-time, recovered and delayed-mode products as separate datasets with a consistent name and a data_mode attribute that every data centre fills the same way (R real time, P recovered, D delayed-mode QC, as proposed for OG1). Stop using "delayed" for recovered data.
  2. A controlled QC level. Replace free-text processing_level with a short controlled list (raw; automatic QC; delayed-mode QC), plus a citation of the QC procedure and the processing software and version.
  3. One flag scheme, CF-described. Require flag_values and matching flag_meanings on every QC variable, from one agreed scheme linked to a vocabulary (SeaDataNet L20 has been proposed), with real flag values, not placeholders.
  4. Required discovery attributes, as global attributes. network and site (validated against the BOON vocabulary), WMO ID, glider model, institution as a persistent identifier (e.g. EDMO or ROR), and time_coverage_start/end.
  5. ERDDAP-to-ERDDAP harvesting. Every data centre exposes each product as an ERDDAP dataset (not a file tree), so a federated ERDDAP can aggregate them with EDDTableFromErddap; recovery files need byte-range access at minimum.
  6. A shared deployment identifier. The same deployment appears at more than one data centre (e.g. NOC on BODC and Coriolis); a persistent deployment ID (OceanOPS ID, or WMO ID plus start date) avoids double counting and lets a federated catalogue link the copies.
  7. Validation at ingestion. Check attributes, vocabulary values and time coverage when files arrive, and report back to the provider; most issues above would be caught automatically.

Audit and methods

For manual checks of this automatic audit, the file audit (CSV, or open the table below) lists every file and ERDDAP dataset read: its URL, the stream (real time or recovered) and the rule that set it, the QC level with the rule and the attribute text it matched (processing_level, data_mode, qc_manual, data_processing_chain_name), format with Conventions and format_version, the network and site values, the QC flag scheme, and whether the file was used for the track map (status, decimation, points kept and dropped).

Show the file audit table

Filter with the menus or search any text; click a column heading to sort (click again to reverse).

Column definitions
ColumnMeaning
dep_idDeployment key, <data centre>:<deployment> (one deployment can have several files or datasets).
sourceData centre the file was harvested from.
deploymentDeployment as grouped by that data centre (IOOS dataset without -delayed, VOTO glider and mission, BODC/OTN deployment number, Coriolis/IMOS folder).
file_or_datasetERDDAP dataset ID, or file path/name for Coriolis, IMOS and BODC file collections.
urlLink to the ERDDAP dataset or the file.
start, endTime coverage stated by the catalogue or file.
readyes if the file metadata were read; no for BODC file-collection files (no byte-range access), so their QC level is "Not read".
streamNRT (real time) or Recovered (full resolution), from the data centre's naming, folder or data-mode letter.
stream_ruleThe rule used for this data centre to decide the stream.
data_mode_usedData-mode letter used (R real time, A adjusted, P full resolution, D delayed mode), from the file or its name.
qc_levelHighest QC level the metadata state: Delayed mode, Automatic QC, No QC, Not stated, Not read.
qc_level_whyThe rule that matched and the text it matched; check this against the attr_ columns.
attr_processing_level, attr_data_mode, attr_qc_manual, attr_data_processing_chain_nameRaw global attribute values the QC level was read from (first 300 characters).
formatOG1.0, EGO, IOOS DAC, IMOS or Other, from Conventions and format_version.
attr_Conventions, attr_format_versionRaw global attributes the format was read from.
tagged1 if the network attribute starts with "OceanGliders" (BOON guideline format).
attr_network, attr_siteRaw network and site (or oceanGliders_site) attributes.
qc_flags_present1 if QC flag variables exist (described with flag_values/flag_meanings, or named *_qc).
qc_flags_cf1 if every described flag variable has matching flag_values and flag_meanings (CF).
qc_schemeFlag scheme from the flag values: IOC/QARTOD 1-4,9, Argo-style 0-9, SeaDataNet L20, Other, Not described, None.
n_variablesNumber of variables in the file or dataset; blank when unknown.
n_variables_fromharvest (ERDDAP variable list) or track fetch (variables found when the file was opened for the track); blank when the file was never opened (headers only, or not used for the track).
used_for_trackyes for the one file or dataset per deployment the map track was taken from (recovered preferred over real time).
track_statusTrack fetch result for the deployment: ok, empty (no valid positions), error.
track_decimationdive (one mean position per dive or profile) or hour (hourly means where there is no dive number).
track_points, track_points_droppedPositions kept, and dropped by cleaning (fill values, out of range, (0,0), outside the deployment window, moves over 3 m/s).
track_messageError or empty-file message from the fetch, if any.

Assumptions and limitations

  • A snapshot of six data centres. Read on 2026-10-27/28 from IOOS, VOTO, BODC, OTN, Coriolis and IMOS. Glider data held only elsewhere (other national or institutional servers, EMODnet) are not counted, so totals describe these six, not the global fleet.
  • Metadata, not data. Everything comes from what the files and catalogues state (global attributes, flag attributes, names, indexes). Work that was done but not recorded is invisible: a centre may apply delayed-mode QC that its files don't mention, and the dashboard will show "automatic" or "not stated".
  • QC level is read from free text. Most data centres describe QC in free-text processing_level, classified by keywords (rules under Definitions). Unusual wording can be misclassified; QC flag values themselves were checked in only one file.
  • Real time vs recovered follows each centre's naming. Dataset names, folders and data-mode letters were taken at face value. Coriolis data mode P was checked as full resolution on two Slocum deployments (Ifremer, SOCIB) and assumed for all P files; IMOS mission (FV01) folders are taken as recovered from their "Delayed Mode" label.
  • What counts as a deployment. Records are grouped per data centre by its own key (IOOS dataset without -delayed, VOTO glider and mission, BODC and OTN deployment number, Coriolis and IMOS folder). A deployment split across several keys, or one key holding several deployments, is miscounted.
  • Unique deployments are an upper bound. Copies on different centres are matched only on WMO ID and start date within 3 days. IMOS records no WMO IDs and OTN few, and wrong start dates break matches, so some duplicates remain.
  • Tagged means the attribute is there. A record counts as tagged if network starts with "OceanGliders"; values outside the BOON vocabulary still count. Format is read from Conventions and format_version strings; files were not validated against the OG1.0 specification.
  • CF check is shallow. "CF-described" means every flag variable has flag_values and a flag_meanings list of the same length; meanings were not checked against a vocabulary, nor flags against the data.
  • Glider-days come from metadata time ranges. They can include pre- or post-deployment test data; spans under 0 or over 400 days are left out, and deployments without an end time (BODC folders without ERDDAP datasets, some Coriolis files) have none. The total sums unique deployments, taking the longest span in each match group.
  • BODC file collections were not opened. BODC's recovery and older real-time OG1 files can't be read by byte range, so their tags and QC are unknown ("Not read") unless an ERDDAP dataset exists for the same deployment; they are assumed to be OG1 from the collection name.
  • Platform and institution are text matching. Glider type is matched in attributes and titles (IOOS has no glider-model attribute, so many IOOS records are "Unknown"); wave gliders were dropped the same way. Institution names were merged by a hand-made alias list (raw names kept in the data); groupings such as "Multi-institution partnership" and separate OOI arrays are judgment calls.
  • "Active since Oct 2024" uses the end date, or the start date where no end date is known.
  • Built with an AI assistant. Harvest, classification and page were produced by Claude for Filipa Carvalho and spot-checked against raw metadata and files (table below); not independently reviewed. The code is public at github.com/FiIipaCarvalho/og-dac-metadata so the analysis can be re-run and checked.

Spot checks behind these findings

CheckWhereResultDate

How this dashboard was made

The prompt below, synthesised from the requests made while building this dashboard, reproduces the harvest, the analyses and this page. The code, the data snapshot and this page are public at github.com/FiIipaCarvalho/og-dac-metadata (README, PROMPT.md, harvest scripts).

Show the prompt
Build an interactive dashboard, for the OceanGliders steering team and glider data-centre managers, showing how far glider data across data centres meet OceanGliders' requirements (OG1.0 format, `network` and `site` tags from the BOON metadata guidelines, an approved data centre), and use it as a launchpad for organising data management across data assembly centres (DACs), with a federated OceanGliders ERDDAP in mind. Frame everything as readiness, not compliance: the `network`/`site` requirement was only agreed in October 2026.

## Data: harvest every glider deployment from six data centres, from the root of each

1. **IOOS Glider DAC** (https://gliders.ioos.us/erddap): `allDatasets`, then `info/<datasetID>/index.csv` for every dataset. Keep all global attributes, the `platform` variable's `wmo_id` and `type`, the variable list, and `flag_values`/`flag_meanings` of every flag variable.
2. **VOTO** (https://erddap.observations.voiceoftheocean.org/erddap): the `nrt_`, `delayed_`, `OG_nrt_` and `OG_complete_` datasets; same fields.
3. **BODC** (https://linkedsystems.uk/erddap): datasets with glider/Slocum/Seaglider in the title, plus the OG1 file collections `Public_OG1_Data_001` (real time) and `Public_OG1_Data_001_Recovery` (recovery), one EGO deployment JSON per folder (the files can't be read by byte range).
4. **OTN** (https://erddap.oceantrack.org/erddap): Trajectory/TrajectoryProfile datasets.
5. **Coriolis, the OceanGliders GDAC** (https://data-oceangliders.ifremer.fr/): `glider_traj_index.txt` (time coverage, WMO, glider model, owner per file), each deployment folder's JSON, and each NetCDF header read by HTTP byte range.
6. **IMOS ANFOG** (S3 `imos-data`, prefix `IMOS/ANFOG/`): one header per deployment folder (FV01 preferred) by byte range.

Gotchas to handle: some ERDDAPs publish a global attribute `id` that is not the datasetID (store the datasetID separately); netCDF4 isn't thread-safe (read files in processes); check a file's signature before choosing the classic or HDF5 reader (a wrong guess sits through long timeouts); EGO files have no time-coverage attributes and often fill `TIME` but not `JULD`; the Coriolis index `time_coverage_start` has 1970/2000 placeholders and earlier-deployment starts (use `deployment_start_date`, or the folder date when they disagree by more than 60 days); keep Coriolis to a few parallel requests.

## One row per deployment per data centre, with

- **Tag:** `network` starts with "OceanGliders"; mission and region from its `>` parts; **site** from `site` or `oceanGliders_site`.
- **Format:** OG1.0, EGO, IOOS DAC (incl. older Unidata/COARDS files), IMOS, Other; plus OG1 available on any file.
- **Data mode column:** from `data_mode`, else naming, with recovered datasets as P (never D from a name).
- **Stream:** real time (telemetered, often decimated) vs recovered (full resolution). Recovered: IOOS `-delayed`, VOTO `delayed_`/`OG_complete_`, OTN `_delayed`, BODC recovery collection, Coriolis data mode P (verify by sampling resolution of a P vs R file), IMOS mission folders. "Delayed" in names means recovered, not delayed-mode QC.
- **QC level per stream** (highest stated): Delayed mode (manually calibrated / QC'd in delayed mode, data_mode D, IMOS "Delayed Mode"); Automatic QC (automatic, QARTOD, Argo-method, EGO QC-tests manual DOI 10.13155/51485 or EGO processing chain, data_mode A); No QC (no QC, raw, Level 0, "as is", IMOS FV00); else Not stated; BODC folder-only deployments Not read. Check "no QC" wording before "delayed mode", because IOOS writes "Delayed mode dataset" for recovered raw data.
- **QC flags:** present (flag attributes or `_qc` names); CF-described (every flag variable has `flag_values` and an equal-length `flag_meanings`); scheme by majority of flag variables (IOC/QARTOD 1,2,3,4,9; Argo-style 0-9; SeaDataNet L20 with A/B/Q; Other; Not described).
- **Platform:** Slocum, Seaglider, SeaExplorer, Spray or Unknown from attributes, title/summary text and the Coriolis index; drop wave gliders everywhere.
- **Glider-days:** end minus start; leave out spans under 0 or over 400 days.
- **WMO ID**, **active since** two years before the snapshot, **institution** normalised (merge spelling variants and acronyms, keep the raw string), and a **match group** for the same deployment on more than one data centre (same WMO ID, start dates within 3 days).

## Dashboard

- Each data centre has its own colour throughout. Tagged records are drawn in that colour, untagged in grey; categories are told apart by **pattern** in the data centre's colour (solid for the target category, then stripes, dots, fine lines, faded, outline), never by shades of one colour.
- **Tiles**, in three labelled rows: deployments (records, unique, glider-days); OceanGliders network tag (tagged deployments, share, glider-days share, data centres with tags "N of M", institutions tagging "N of M"); OG1.0 format (the same five figures for OG1.0).
- **Deployments by data centre** (tagged solid, untagged faded).
- **By start year**, with a Highlight switch (Tagged | OG1.0), a Records | Glider-days switch and three views: highlighted vs all (grey all, highlighted part coloured by data centre), All by data centre, highlighted only.
- **Where the tags point:** mission > region.
- **Format**, **real-time and recovered data by QC level** (two rows per data centre), **QC flags** (present/CF and scheme) and **platforms**, all with the same three-way switch.
- **Largest institutions** split by data centre.
- **Readiness matrix** by institution and data centre (network tag, site tag, recovered data, delayed-mode QC, WMO ID, active, OG1.0, QC flags, CF flags, glider-days), sortable and searchable, with a Gradient | Traffic light switch (red under 50%, amber 50-80% with a strong amber, green 80% and over).
- **Definitions** for every criterion and caveat.
- **Assumptions and limitations** of the analysis (snapshot scope, metadata not data, free-text QC classification, naming-based streams, deployment keys, matching as an upper bound, shallow CF and format checks, glider-days from metadata, unread BODC files, text-matched platform and institution, AI-built and spot-checked), and **How this dashboard was made** with this prompt, both linked from the top of the page.
- **Findings report** at the end: a lede, data-centre profile table (traffic light), "where data centres behave differently" table (stream separation, meaning of "delayed", QC level statements, flag schemes, format, tags, WMO ID, glider model, time coverage, institution naming, access, processing software), a guidance card per data centre ("missing or incomplete" and "does differently", with its key numbers), recommendations for a federated OceanGliders ERDDAP (one dataset per deployment and stream with R/P/D data mode; controlled QC level; one CF-described flag scheme; required global discovery attributes validated against the BOON vocabulary; ERDDAP-to-ERDDAP harvesting; a shared deployment ID; validation at ingestion), a worked duplication example (NOC on BODC and Coriolis), and a table of the spot checks made by opening files.

## Verify before publishing

Spot-check at least one deployment per data centre against its raw metadata; check every claim in the guidance against the data (counts, shares, who holds the tags); state what was checked by opening files; and keep every number on the page computed from the data.