CTD Derived Products
CalCOFI CTD Derived Hydrographic Products
calcofi_ctd-derivedCalCOFIunstatedin the release since v2026.10.01
Hydrographic products DERIVED from the CalCOFI CTD cast profiles rather than measured: spice (spiciness at 0 dbar, TEOS-10) and the sensor-pair averaged sigma-theta at every published CTD depth; and, per cast, the … CalCOFI holds 2,021,751 observations from 9,570 sampling events at 113 stations, 1993–2026, 1–3,630 m.
- 1993–2026
- years
- 2,021,751
- observations
- 9,570
- sampling events
- 113
- stations
- 16
- variables
- 1–3,630 m
- depth
What this is
Hydrographic products DERIVED from the CalCOFI CTD cast profiles rather than measured: spice (spiciness at 0 dbar, TEOS-10) and the sensor-pair averaged sigma-theta at every published CTD depth; and, per cast, the mixed-layer depth (the CalCOFI legacy definition, with two alternative criteria beside it), the depth and value of the chlorophyll-a maximum, the chlorophyll-a integrated over the top 200 m, the hypoxic boundary depths (where oxygen falls to 2.4, 1.4 and 0.5 mL/L), the nitracline depth (where nitrate reaches 1 umol/L), the pycnocline depth (the maximum of the TEOS-10 buoyancy frequency N2, also published per depth), by the definitions of the CalCOFI CTD team. Computed from the full-resolution 1 m bins of the CalCOFI CTD Cast Files after the provider’s quality flags are applied.
What is in it
16 variables · buoyancy_n2, sigma_theta_ave, spiciness0, mld_temperature_02, mld_sigma_theta_002, chl_max, chl_max_depth, mld_sigma_theta_0125, chl_integrated, chl_integrated_depth … all 16
obs_env profile · one value at each depth of a cast · 2,021,751 values · 1993–2026 · 3 variables
buoyancy_n2 1/s2 651,964sigma_theta_ave kg/m3 684,896spiciness0 kg/m3 684,891
sample_measurement per cast · one value for the whole cast or tow, at no depth · 107,474 values on 9,865 sampling events · 1993–2026 · 13 variables
mld_temperature_02 m 9,638mld_sigma_theta_002 m 9,393chl_max ug/L 9,285chl_max_depth m 9,285mld_sigma_theta_0125 m 9,207chl_integrated mg/m2 9,201chl_integrated_depth m 9,201buoyancy_n2_max 1/s2 8,547pycnocline_depth m 8,547hypoxic_depth_24 m 7,626hypoxic_depth_14 m 7,325hypoxic_depth_05 m 6,159nitracline_depth m 4,060
Every month of the year · extent 29.8–37.8°N, 126.5–117.3°W · 1993-08 to 2026-11
Ways in
Explorerdb-queryOriginal at CalCOFI.orgParquetSTACIngest notebookAs JSON
Every endpoint 23 · explore 4, get the data 3, code 5, metadata records 5, archives & portals 6
Every endpoint this dataset can be reached through, grouped by how you would use it. Each name is the link; the copy button beside it copies the address. Everything is in the release record and was answered when the release was cut.
Apps that read this dataset from the release. The icons after a name are the app’s lenses — the spatial grain it shows the data at.
Every way to have the bytes, by source. Nothing here asks you to register first.
Tables from the release (Parquet)
The release’s own tables, as the parquet objects it is frozen from — the same bytes every app and package below reads. A table this dataset shares with others holds every dataset’s rows, so filter on dataset_key; a partition holds only this dataset’s. since is the release whose rows these are: an unchanged table keeps its object.
From the provider
The dataset as its provider publishes it, before CalCOFI ingested it.
The same release, from a script or a browser SQL shell.
Packages
The whole release, pinned to a version, with the citation one call away.
con <- calcofi4r::cc_get_db()
calcofi4r::cc_cite("calcofi_ctd-derived")
con = calcofi4py.cc_get_db()
calcofi4py.cc_cite("calcofi_ctd-derived")
DuckDB, anywhere
No CalCOFI package needed: each table above is a plain parquet object, readable by any DuckDB (or Arrow, pandas, Spark) from its URL. The path carries a content hash — a table whose rows did not change between releases keeps the same object, so nothing unchanged is stored or downloaded twice. Swap in any table above; one shared with other datasets needs WHERE dataset_key = 'calcofi_ctd-derived'. Every object of every release is listed in db-schema.
SELECT *
FROM read_parquet('https://storage.googleapis.com/calcofi-db/ducklake/tables/obs/dataset_key=calcofi_ctd-derived/a4ac1bd1bd5792ea074782e6/data_0.parquet')
LIMIT 100;
SELECT *
FROM read_parquet('https://storage.googleapis.com/calcofi-db/ducklake/tables/sample_measurement/22ae7fe19734df335c776957/sample_measurement.parquet')
WHERE dataset_key = 'calcofi_ctd-derived'
LIMIT 100;
db-query, in the browser
__TBL:obs__ is db-query’s name for the pinned release’s obs object — the hashed path above, resolved for you — so the same SQL keeps working when a release changes the object.
-- calcofi_ctd-derived in the CalCOFI release v2026.11.09
SELECT *
FROM __TBL:obs__
WHERE dataset_key = 'calcofi_ctd-derived'
LIMIT 100;
Records about the data, in the standards each portal harvests.
Where this dataset is registered outside calcofi.io: each portal’s role, what it is for, the dataset’s status there and the identifier it is known by. The policy — which portal is the archive of record and why — is in Portals.
Cite CalCOFI, 2026
This dataset's own citation. What to cite, and how, is a chapter of the docs book.
CalCOFI. (2026). CalCOFI CTD Derived Hydrographic Products (from the CalCOFI CTD Cast Files). CalCOFI.io. https://calcofi.io/workflows/ingest_calcofi_ctd-derived.html
BibTeX
@misc{calcofi_ctd-derived,
title = {CalCOFI CTD Derived Hydrographic Products},
howpublished = {CalCOFI. (2026). CalCOFI CTD Derived Hydrographic Products (from the CalCOFI CTD Cast Files). CalCOFI.io. https://calcofi.io/workflows/ingest_calcofi_ctd-derived.html},
year = {2026}
}
…and the release it came from
CalCOFI (2026). CalCOFI Integrated Database, release v2026.11.09 [Data set]. Scripps Institution of Oceanography, NOAA Fisheries, and California Department of Fish and Wildlife. https://calcofi.io/db-schema/?v=v2026.11.09
BibTeX
@misc{calcofi_release_v2026_11_09,
title = {CalCOFI Integrated Database, release v2026.11.09},
author = {CalCOFI},
year = {2026},
publisher = {Scripps Institution of Oceanography, NOAA Fisheries, and California Department of Fish and Wildlife},
url = {https://calcofi.io/db-schema/?v=v2026.11.09}
}
Provenance source read 2026-11-06 · 3 release tables · 2 changed in v2026.11.09
What changed in v2026.11.09
- obs 26.4 MB · since v2026.11.09
- sample_measurement 2.8 MB · since v2026.11.09
Open questions for the provider 1 on this dataset · 7 open in all
- Q06 the dataset — proposed
Each is a field the record proposes and the provider has not yet confirmed.
Keywords 6 GCMD
DensityOcean mixed layerChlorophyllOxygenNitratePycnocline
Everything here is open; nothing on calcofi.io asks you to register first. If this dataset ends up in something you build or publish, register your use so it can be credited and linked back; to hear when a release changes it, stay informed. Questions: data@calcofi.io.