Dissolved oxygen (µmol/kg)
Dissolved oxygen (QC'd)
- 1,011,741
- values
- 31,591
- sampling events
- 1949–2025
- years
- 2
- datasets
- 0–5,351 m
- depth
- every month
- seasons
Measured in
-
series
oxygen_umol_kg· source columnoxy_umol_kg· flag columno_qual4.3 % flagged -
series
oxygen_umol_kg_ave_sta_corr· source columnox_aveu_m_sta_corrsensor mean no flag at this grainDO 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-10 … 2000+ 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
-20 … 700 µmol/kgforoxygen_umol_kg · oxygen_umol_kg_ave_sta_corr; a value outside it is dropped at the ingest (drop_out_of_bounds()). - observed
- Hydrographic Bottle
oxygen_umol_kg-0.4349 · median 151.5 · 485.7 µmol/kg (5th–95th percentile 15.65–264)
CTD Cast Filesoxygen_umol_kg_ave_sta_corr0 · median 92.61 · 691.4 µmol/kg (5th–95th percentile 6.313–256.8) - flags
- Hydrographic Bottle
oxygen_umol_kgo_qualon 29,722 of 690,697 rows:628,436 ·81,285 ·91; qual_ok keeps 689,411. The codes are this dataset's own vocabulary, uninterpreted.
CTD Cast Filesoxygen_umol_kg_ave_sta_corrcarries no quality code at the release grain; qual_ok keeps all 321,044. - 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_umol_kg · CTD Cast Files · 1993–2025 · 127,192 values · P01 DOXMZZXX 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_umol_kg_1 · CTD Cast Files · 1993–2026 · 670,785 values · P01 DOXMZZXX one sensor of the pair beside the mean the file publishes
- DO sensor 2 (uncorrected) oxygen_umol_kg_2 · CTD Cast Files · 1999–2026 · 328,417 values · P01 DOXMZZXX one sensor of the pair beside the mean the file publishes
- Reported oxygen (pre-QC) r_oxygen_umol_kg · Hydrographic Bottle · 1949–2021 · 690,698 values · P01 DOXMZZXX the source's own reported value before its QC — this page is the QC'd twin
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
-
Explorermaps, sections and time series of this measurement — opens prefilledhttps://calcofi.io/explore/?var=oxygen_umol_kg
-
Explorer · a depth section vs normalthe newest cruise's section against the climatology baselinehttps://calcofi.io/explore/?lens=section&var=oxygen_umol_kg&anom=1
-
db-querySQL in your browser — the shell opens with this queryhttps://calcofi.io/db-query/?sql=SELECT+%2A+FROM+__TBL%3Aobs_env__+WHERE+measurement_type+IN+%28%27oxygen_umol_kg%27%2C+%27oxygen_umol_kg_ave_sta_corr%27%29+LIMIT+100%3B
-
ERDDAP · Hydrographic BottleCalCOFI's own server, the Hydrographic Bottle table constrained to this serieshttps://erddap.calcofi.io/erddap/tabledap/calcofi_bottle.html?&measurement_type=%22oxygen_umol_kg%22
-
ERDDAP · CTD Cast FilesCalCOFI's own server, the CTD Cast Files table constrained to this serieshttps://erddap.calcofi.io/erddap/tabledap/calcofi_ctd-cast.html?&measurement_type=%22oxygen_umol_kg_ave_sta_corr%22
-
Parquetobs_env is partitioned by measurement_type in the content-addressed store — resolved through the release catalog, never a path built by hand
SELECT * FROM read_json('…/v2026.09.10/catalog.json') -- objects[] WHERE table = 'obs_env' -- AND partition_value = 'oxygen_umol_kg' -- | 'oxygen_umol_kg_ave_sta_corr' -
R
library(calcofi4r) con <- cc_get_db() # the promoted release tbl(con, "obs_env") |> filter(measurement_type %in% c("oxygen_umol_kg", "oxygen_umol_kg_ave_sta_corr")) -
Python
import calcofi4py as cc con = cc.cc_get_db() con.sql("SELECT * FROM obs_env WHERE measurement_type IN ('oxygen_umol_kg', 'oxygen_umol_kg_ave_sta_corr')").df()
This page as data
-
JSONthis measurement's entry of the release record, verbatimhttps://calcofi.io/measurements/oxygen_umol_kg.json
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.