CalCOFI.io CalCOFI.io open data ecosystem

CalCOFI Integrated Database

v2026.11.052026-11-05all versions

Every ingested CalCOFI dataset assembled into one versioned, frozen database — 26 tables, 385,903,651 rows, 2.7 GB of Parquet with a JSON catalog. It is what calcofi4r, calcofi4py, the browser SQL playground, ERDDAP and every app on calcofi.io read.

Access

catalog.json every table and object in this release, with bytes and sha256
datasets.json the record every page on this site is built from (schema 1.0)
release folder the sidecars: metadata, coverage, the station grid, spatial layers
db-schema tables, columns and the entity-relationship diagram at this version
db-query SQL in your browser, straight over the released Parquet
R · calcofi4r
con <- calcofi4r::cc_get_db()   # v2026.11.05
Python · calcofi4py
con = calcofi4py.cc_get_db()   # v2026.11.05
RELEASES.md what changed between releases, and why

Tables

Every table in this release, biggest first, from catalog.json. A view is a table the catalog defines as SQL over others and still ships as Parquet so an older reader keeps working: its rows are counted a second time in the 385,903,651 above.

obs_ctd_full 286,495,695 rows · 1.4 GB · supplemental — the full-resolution CTD series, every bin as the instrument recorded it
obs 36,034,877 rows · 546 MB · view (compatibility copy) — observations — one row per measurement or occurrence, at the event it was taken on
obs_env 34,448,082 rows · 442 MB — environmental observations — one object per measurement type
obs_mets_full 19,926,523 rows · 238 MB · supplemental — the full-resolution underway meteorology series
sample_spatial 2,295,877 rows · 18.3 MB
climatology 1,921,596 rows · 21.4 MB — the 1993–2013 monthly baseline every anomaly subtracts
obs_bio 1,586,795 rows · 30.8 MB — biological observations — occurrences with their tow’s gear, effort and densities
sample 1,467,380 rows · 26.6 MB — sampling events — casts, bottles, tows, nets, transects; nested where the source nests them (a bottle under its cast, a net under its tow under its station visit) via parent_sample_key, each with its cruise_key
sample_measurement 714,892 rows · 2.8 MB — event-level effort and conditions — volume filtered, tow depth, wind
obs_attribute 455,300 rows · 1.8 MB — sub-occurrence detail — size or stage classes, counts, behaviour
sample_root 419,439 rows · 10.9 MB · supplemental
ichthyo_net 77,888 rows · 226 KB
spatial_attribute 37,968 rows · 133 KB
fish 10,796 rows · 44.8 KB
spatial 3,395 rows · 43.9 MB
taxon 2,606 rows · 85.9 KB — one row per taxon, keyed to WoRMS or ITIS
dataset_taxon 1,940 rows · 57.8 KB — each dataset’s own taxon vocabulary, resolved to taxon
cruise 869 rows · 25.5 KB — one row per cruise — the designated month, ship and date span
grid_crosswalk 673 rows · 17.3 KB
taxon_group 438 rows · 2.7 KB — functional and reporting groups over taxon
measurement_type 298 rows · 19.6 KB — the measurement vocabulary — units, bounds, NERC ids
grid 225 rows · 329 KB — the CalCOFI station grid
ship 49 rows · 1.5 KB — the ship registry, by NODC code
lookup 26 rows · 1.6 KB
dataset 20 rows · 19.1 KB — one row per dataset — citation, licence, measured coverage
region 4 rows · 3.9 KB

Cite

What to cite, and how — the release, one dataset, or a portal record — is a chapter of the docs book.

CalCOFI (2026). CalCOFI Integrated Database, release v2026.11.05 [Data set]. Scripps Institution of Oceanography, NOAA Fisheries, and California Department of Fish and Wildlife. https://calcofi.io/db-schema/?v=v2026.11.05
BibTeX
@misc{calcofi_release_v2026_11_05,
  title     = {CalCOFI Integrated Database, release v2026.11.05},
  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.05}
}

Parts

20 datasets are part of this release.