CalCOFI.io CalCOFI.io open data ecosystem

CalCOFI Integrated Database

v2026.10.142026-10-14all versions

Every ingested CalCOFI dataset assembled into one versioned, frozen database — 25 tables, 375,348,707 rows, 2.6 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.10.14
Python · calcofi4py
con = calcofi4py.cc_get_db()   # v2026.10.14
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 375,348,707 above.

obs_ctd_full 281,888,334 rows · 1.3 GB · supplemental — the full-resolution CTD series, every bin as the instrument recorded it
obs 33,326,406 rows · 479 MB · view (compatibility copy) — observations — one row per measurement or occurrence, at the event it was taken on
obs_env 31,739,611 rows · 404 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 1,994,263 rows · 15.7 MB
climatology 1,828,215 rows · 20.3 MB — the 1993–2013 monthly baseline every anomaly subtracts
obs_bio 1,586,795 rows · 30.7 MB — biological observations — occurrences with their tow’s gear, effort and densities
sample 1,467,016 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 658,009 rows · 2.5 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,050 rows · 10.9 MB · supplemental
spatial_attribute 37,943 rows · 132 KB
fish 10,796 rows · 44.8 KB
spatial 3,390 rows · 43.9 MB
taxon 2,606 rows · 86.4 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 845 rows · 20.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 231 rows · 15.5 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 19 rows · 17.8 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.10.14 [Data set]. Scripps Institution of Oceanography, NOAA Fisheries, and California Department of Fish and Wildlife. https://calcofi.io/db-schema/?v=v2026.10.14
BibTeX
@misc{calcofi_release_v2026_10_14,
  title     = {CalCOFI Integrated Database, release v2026.10.14},
  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.10.14}
}

Parts

19 datasets are part of this release.