Dissolved oxygen
The registry carries no authored label for this measurement, so the name above is the canonical series' own description in metadata/measurement_type.csv (variable.csv holds the authored labels, five today).
- 9,190
- values
- 9,190
- sampling events
- 2016–2022
- years
- 1
- dataset
- surface
- depth
- Jul · Aug · Oct · Nov
- seasons
Heads-up The oxygen series from Underway Meteorological (METS) carries no flag at this grain, so its values cannot be screened this way.
Measured in
-
series
oxygen· source columnoxygenno flag at this grain no P01 concept
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
0 … 20foroxygen; a value outside it is dropped at the ingest (drop_out_of_bounds()). - observed
- Underway Meteorological (METS)
oxygen4.646 · median 5.634 · 12.24 (5th–95th percentile 5.089–8.264) - flags
- Underway Meteorological (METS)
oxygencarries no quality code at the release grain; qual_ok keeps all 9,190. - baseline
- No climatology row is built for this measurement, so the Explorer draws values, not anomalies.
Ways in
-
Explorermaps, sections and time series of this measurement — opens prefilledhttps://calcofi.io/explore/?var=oxygen
-
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+%3D+%27oxygen%27+LIMIT+100%3B
-
ERDDAP · Underway Meteorological (METS)CalCOFI's own server, the Underway Meteorological (METS) table constrained to this serieshttps://erddap.calcofi.io/erddap/tabledap/calcofi_mets.html?&measurement_type=%22oxygen%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' -
R
library(calcofi4r) con <- cc_get_db() # the promoted release tbl(con, "obs_env") |> filter(measurement_type %in% c("oxygen")) -
Python
import calcofi4py as cc con = cc.cc_get_db() con.sql("SELECT * FROM obs_env WHERE measurement_type IN ('oxygen')").df()
This page as data
-
JSONthis measurement's entry of the release record, verbatimhttps://calcofi.io/measurements/oxygen.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 — Underway Meteorological (METS). The Explorer's Share → Cite writes it for the view you make.