CalCOFI.io CalCOFI.io open data ecosystem
Measurement · Physical Oceanography · ml/L · one key across 2 datasets

Dissolved oxygen (ml/L)

Dissolved oxygen (QC'd)

NERC P01 DOXYZZXXP06 units UMLL ml/Lkey oxygen_ml_l series oxygen_ml_l · oxygen_ml_l_ave_sta_corr
1,283,703
values
1,455
flagged
35,087
sampling events
1949–2025
years
2
datasets
0–5,351 m
depth
every month
seasons

Heads-up 1,455 of these 1,283,703 values (0.1 %) are flagged by their provider as questionable or bad. The Explorer, the climatology and its anomalies leave them out; do the same when you read the data yourself (cc_qual_ok_sql() in calcofi4r, qual_ok_sql() in calcofi4py). The oxygen_ml_l_ave_sta_corr series from CTD Cast Files carries no flag at this grain, so its values cannot be screened this way.

Measured in

  • Hydrographic Bottle 725,629 values · 27,428 sampling events · 1949–2021 · 0–5,351 m · 210 grid cells · 563 cruises
    series oxygen_ml_l · source column o2ml_l · flag column o_qual 1,455 flagged · 0.2 %
  • CTD Cast Files 558,074 values · 7,659 sampling events · 1993–2025 · 1–3,630 m · 91 grid cells · 108 cruises
    series oxygen_ml_l_ave_sta_corr · source column ox_ave_sta_corr sensor mean no flag at this grain
    DO average station-corrected

One row per series, one cell per year, darker with more values — the same strip the front door draws per dataset and a species page draws per taxon. Each row is one dataset's own measurement_type; the label is written once, in the title above.

By depth

Values per depth band at the release grain, one thin bar per series. The bands are the record's own (0-102000+ m).

By month

Values per calendar month, one row per series: CalCOFI's quarterly cruises show as peaks in the months the ships sail.

Range & quality

bounds
The registry declares -0.5 … 15 ml/L for oxygen_ml_l · oxygen_ml_l_ave_sta_corr; a value outside it is dropped at the ingest (drop_out_of_bounds()).
observed
Hydrographic Bottle oxygen_ml_l -0.01 · median 3.45 · 11.13 ml/L (5th–95th percentile 0.36–6.05)
CTD Cast Files oxygen_ml_l_ave_sta_corr 0 · median 2.741 · 14.68 ml/L (5th–95th percentile 0.4122–6.052)
flags
Hydrographic Bottle oxygen_ml_l o_qual on 29,894 of 725,629 rows: 6 28,439 · 8 1,455; qual_ok keeps 724,174. The codes are this dataset's own vocabulary, uninterpreted.
CTD Cast Files oxygen_ml_l_ave_sta_corr carries no quality code at the release grain; qual_ok keeps all 558,074.
baseline
A monthly climatology exists for this measurement (the release's climatology table: 1993–2013, dataset × grid cell × calendar month × 10 m bin), so the Explorer can draw anomalies against it rather than values.

Related measurements

  • Bottle dissolved oxygen oxygen_btl_ml_l · CTD Cast Files · 1993–2025 · 141,750 values · P01 DOXYZZXX the same quantity from the CTD files' own bottle samples — plausibly the same physical bottles, so merging them would count the bottle dataset twice
  • DO sensor 1 (uncorrected) oxygen_ml_l_1 · CTD Cast Files · 1993–2026 · 688,823 values · P01 DOXYZZXX one sensor of the pair beside the mean the file publishes
  • DO sensor 1 cruise-corrected oxygen_ml_l_1_cruise_corr · CTD Cast Files · 1993–2025 · 667,096 values · P01 DOXYZZXX one sensor of the pair beside the mean the file publishes
  • DO sensor 1 station-corrected oxygen_ml_l_1_sta_corr · CTD Cast Files · 1993–2025 · 652,528 values · P01 DOXYZZXX one sensor of the pair beside the mean the file publishes
  • DO sensor 2 (uncorrected) oxygen_ml_l_2 · CTD Cast Files · 1999–2026 · 347,571 values · P01 DOXYZZXX one sensor of the pair beside the mean the file publishes
  • DO sensor 2 cruise-corrected oxygen_ml_l_2_cruise_corr · CTD Cast Files · 1999–2025 · 325,470 values · P01 DOXYZZXX one sensor of the pair beside the mean the file publishes
  • DO sensor 2 station-corrected oxygen_ml_l_2_sta_corr · CTD Cast Files · 1999–2025 · 320,701 values · P01 DOXYZZXX one sensor of the pair beside the mean the file publishes

The same quantity from another platform or another kind of sample, each its own page and never merged into this one: a dataset's own bottle samples would count that dataset twice, an underway intake is not a cast, and a replicate is not a mean. The reason is the record's (related[].why).

Ways in

This page as data

Read from measurements.json of release v2026.09.10, written at release by calcofi4db::build_measurements_catalog() beside taxa.json. The catalog's index is /measurements/; the JSON-LD on this page is a schema.org/DefinedTerm in the NERC P01 term set with a PropertyValue per series.

Cite

Cite the release; each dataset's own citation, licence and DOI are on its page — Hydrographic Bottle, CTD Cast Files. The Explorer's Share → Cite writes it for the view you make.