CalCOFI.io CalCOFI.io open data ecosystem
Since 1949 · the California Current · 842 cruises · 49 ships · one grid

From ship to screen

Temperature to whales, surface to the deep, since 1949 — open and integrated.

Explore the data Browse the datasets Build on it

77
years · since 1949
842
cruises
218
stations
1,008
species
1.3 M
organism obs.
320 M
measurements
Where · 218 stations

218 grid cells · 67 standard · 37 extended · 114 historical · occupied 1949 – 2026

Open the Station Explorer →
When · 16 datasets · 1949 → 2026
Explore by dataset →
Latest release · 2026-09-11
v2026.09.10
tables
23
rows
357 M
Ship's log · what's new
  1. release
  2. site
    The front door shows the ship, the water and the yearsLine 90 drawn as a section — the ship, its gear to depth, one pin per data category — with the station grid and every dataset's measured years under it. Every colour is a brand token; every number is read from the release.
  3. app
    Explorer: the calm layout is liveFloating panels you can move, collapse and resize; the title sentence is the query; every view is a URL you can share; feedback arrives with an annotated screenshot.
Screenshot of CalCOFI Explorer (light theme) Screenshot of CalCOFI Explorer (dark theme)
Apps

CalCOFI Explorer

One app, six lenses — stations, hexagons, contours, cruises, regions and sections — for one organism or one ocean variable at a time over the frozen release. The queries run in your browser (no server), every view is a URL you can share, every download carries its SQL, and feedback comes with an annotated screenshot.

DuckDB-WASMTypeScriptMapLibredeck.glPlotly
Datasetsall 16
Get the data

Read the frozen release directly — from R, Python, a browser, ERDDAP or any DuckDB. No server, no credentials.

library(calcofi4r)
con <- cc_get_db()     # latest release
tbl(con, "obs_env") |>
  filter(measurement_type == "temperature",
         depth_m <= 10)
import calcofi4py as cc
con = cc.cc_get_db()    # latest release
con.sql("""SELECT * FROM obs_env
  WHERE measurement_type = 'temperature'
    AND depth_m <= 10""").df()
-- db-query: DuckDB in your browser, no server
SELECT cruise_key, avg(value) AS temperature
FROM obs_env
WHERE measurement_type = 'temperature'
GROUP BY cruise_key
# any dataset as CSV, JSON, netCDF …
https://erddap.calcofi.io/erddap/tabledap/
-- DuckDB, anywhere: the release's catalog
-- lists every parquet object it holds
SELECT * FROM read_json('https://storage.googleapis.com/calcofi-db/ducklake/releases/v2026.09.10/catalog.json')
What's observed · WoRMS- and NERC-keyed
1,008 species of 1,506 taxa Browse the species →
89 measurements in 94 series Browse the measurements →

One accepted name per organism (WoRMS; ITIS for birds) and per measurement, with its NERC concept where one exists.

16 datasets · 1,008 species · 89 measurements · 17 holdings

Data

Find what has been collected — by dataset, by species or by measurement, each with its own catalog. All datasets data.json

CalCOFI integrated database v2026.09.102026-09-11
datasets
16
tables
23
rows
357 M
holdings
17

Biology

what lives in the water column — counted, measured, identified 1,008 species 1,506 taxa · 10 datasets · 1.3 M observationsBrowse the species →

Euphausiids (Krill)

1 dataset

Euphausiid species and stages from bongo tows

  • Euphausiids (Krill) CCE-LTER1951–20191951 · 1,468 obs1952 · 1,031 obs1953 · 2,031 obs1954 · 2,369 obs1955 · 3,375 obs1956 · 1,831 obs1957 · 2,173 obs1958 · 4,111 obs1959 · 4,560 obs1960 · 1,535 obs1961 · 762 obs1962 · 890 obs1963 · 1,407 obs1964 · 1,012 obs1965 · 935 obs1966 · 1,501 obs1967 · 208 obs1968 · 913 obs1969 · 10,542 obs1970 · 403 obs1971 · 0 obs1972 · 1,095 obs1973 · 0 obs1974 · 314 obs1975 · 1,669 obs1976 · 109 obs1977 · 1,599 obs1978 · 7,307 obs1979 · 1,162 obs1980 · 1,036 obs1981 · 1,078 obs1982 · 949 obs1983 · 2,135 obs1984 · 10,970 obs1985 · 1,090 obs1986 · 1,298 obs1987 · 691 obs1988 · 1,190 obs1989 · 1,311 obs1990 · 1,626 obs1991 · 1,922 obs1992 · 919 obs1993 · 1,279 obs1994 · 1,135 obs1995 · 992 obs1996 · 929 obs1997 · 881 obs1998 · 1,599 obs1999 · 1,341 obs2000 · 1,195 obs2001 · 871 obs2002 · 703 obs2003 · 452 obs2004 · 387 obs2005 · 422 obs2006 · 384 obs2007 · 297 obs2008 · 217 obs2009 · 712 obs2010 · 371 obs2011 · 264 obs2012 · 460 obs2013 · 372 obs2014 · 309 obs2015 · 408 obs2016 · 662 obs2017 · 511 obs2018 · 536 obs2019 · 282 obs100,505 obsparquet · netCDF · ERDDAP · EDIcustom

Fish Eggs & Larvae

2 datasets

Ichthyoplankton — fish eggs and larvae from oblique and vertical tows and the continuous underway egg sampler

  • CUFES Fish Eggs NOAA SWFSC1996–20221996 · 6,903 obs1997 · 9,620 obs1998 · 27,380 obs1999 · 10,110 obs2000 · 6,385 obs2001 · 8,203 obs2002 · 9,726 obs2003 · 10,566 obs2004 · 8,568 obs2005 · 5,766 obs2006 · 12,234 obs2007 · 9,174 obs2008 · 19,260 obs2009 · 6,762 obs2010 · 11,388 obs2011 · 9,708 obs2012 · 14,568 obs2013 · 12,162 obs2014 · 8,538 obs2015 · 12,426 obs2016 · 19,338 obs2017 · 18,204 obs2018 · 14,532 obs2019 · 3,714 obs2020 · 2,922 obs2021 · 3,432 obs2022 · 2,508 obs284,097 obsparquet · netCDF · ERDDAPcustom
  • Ichthyoplankton NOAA SWFSC1951–20231951 · 11,794 obs1952 · 13,383 obs1953 · 11,686 obs1954 · 13,863 obs1955 · 10,771 obs1956 · 9,591 obs1957 · 12,385 obs1958 · 14,728 obs1959 · 17,303 obs1960 · 15,062 obs1961 · 7,907 obs1962 · 8,929 obs1963 · 10,298 obs1964 · 11,481 obs1965 · 11,963 obs1966 · 21,613 obs1967 · 3,109 obs1968 · 3,716 obs1969 · 18,180 obs1970 · 0 obs1971 · 0 obs1972 · 13,651 obs1973 · 0 obs1974 · 1,782 obs1975 · 12,470 obs1976 · 0 obs1977 · 821 obs1978 · 14,294 obs1979 · 2,860 obs1980 · 3,773 obs1981 · 13,563 obs1982 · 2,065 obs1983 · 3,148 obs1984 · 10,176 obs1985 · 4,880 obs1986 · 4,318 obs1987 · 5,215 obs1988 · 5,359 obs1989 · 5,082 obs1990 · 4,261 obs1991 · 5,432 obs1992 · 4,412 obs1993 · 3,506 obs1994 · 3,895 obs1995 · 3,575 obs1996 · 4,004 obs1997 · 3,573 obs1998 · 9,336 obs1999 · 4,960 obs2000 · 6,722 obs2001 · 3,611 obs2002 · 7,809 obs2003 · 7,877 obs2004 · 5,482 obs2005 · 5,127 obs2006 · 7,919 obs2007 · 2,904 obs2008 · 4,203 obs2009 · 4,167 obs2010 · 4,445 obs2011 · 4,919 obs2012 · 5,257 obs2013 · 5,792 obs2014 · 5,154 obs2015 · 5,818 obs2016 · 4,971 obs2017 · 3,413 obs2018 · 2,015 obs2019 · 1,966 obs2020 · 830 obs2021 · 1,321 obs2022 · 1,551 obs2023 · 804 obs482,250 obsparquet · netCDF · ERDDAP · OBIS

Genomics & eDNA

0 datasets · 2 held

Metabarcoding and environmental DNA — ASV tables, eDNA-derived abundance and density

Mesopelagic Fish

1 dataset

Midwater trawl catches of mesopelagic fishes

  • Mesopelagic Fish SIO2010–20122010 · 415 obs2011 · 715 obs2012 · 263 obs1,393 obsparquet · netCDF · ERDDAPCC-BY-4.0

Phytoplankton

1 dataset · 3 held

Phytoplankton counts by taxon or functional group, and imaging flow cytometry (IFCB)

Picoplankton & Bacteria

1 dataset

Picoplankton and bacterioplankton abundances by flow cytometry

  • Picoplankton & Bacteria CCE-LTER2004–20232004 · 826 obs2005 · 3,462 obs2006 · 3,472 obs2007 · 3,023 obs2008 · 2,953 obs2009 · 3,389 obs2010 · 3,296 obs2011 · 3,397 obs2012 · 2,511 obs2013 · 3,636 obs2014 · 3,163 obs2015 · 3,532 obs2016 · 3,489 obs2017 · 3,513 obs2018 · 3,273 obs2019 · 3,038 obs2020 · 2,715 obs2021 · 3,029 obs2022 · 2,519 obs2023 · 2,566 obs60,802 obsparquet · netCDF · ERDDAP · EDI

Seabirds & Marine Mammals

1 dataset · 1 held

Strip-transect counts of seabirds and marine mammals along the cruise track

  • Seabirds & Marine Mammals Farallon Institute1987–20221987 · 1,862 obs1988 · 2,880 obs1989 · 2,694 obs1990 · 2,799 obs1991 · 2,603 obs1992 · 2,939 obs1993 · 2,619 obs1994 · 986 obs1995 · 2,262 obs1996 · 1,574 obs1997 · 1,748 obs1998 · 3,083 obs1999 · 1,208 obs2000 · 1,781 obs2001 · 2,720 obs2002 · 1,731 obs2003 · 3,877 obs2004 · 2,813 obs2005 · 3,791 obs2006 · 2,628 obs2007 · 1,435 obs2008 · 954 obs2009 · 936 obs2010 · 1,242 obs2011 · 1,459 obs2012 · 1,352 obs2013 · 1,277 obs2014 · 1,497 obs2015 · 1,885 obs2016 · 2,189 obs2017 · 1,898 obs2018 · 1,133 obs2019 · 1,354 obs2020 · 926 obs2021 · 0 obs2022 · 1,526 obs69,661 obsparquet · netCDF · ERDDAP · EDIcustom
  • not yet in the database · 1

Zooplankton

5 datasets · 1 held

Net-tow zooplankton: displacement volume, imaged and identified taxa, decapod larvae

  • Dungeness Crab Megalopae CDFW1984–20141984 · 24 obs1985 · 0 obs1986 · 0 obs1987 · 0 obs1988 · 10 obs1989 · 0 obs1990 · 0 obs1991 · 0 obs1992 · 0 obs1993 · 0 obs1994 · 0 obs1995 · 0 obs1996 · 0 obs1997 · 0 obs1998 · 7 obs1999 · 0 obs2000 · 0 obs2001 · 0 obs2002 · 0 obs2003 · 0 obs2004 · 13 obs2005 · 15 obs2006 · 55 obs2007 · 7 obs2008 · 189 obs2009 · 120 obs2010 · 288 obs2011 · 164 obs2012 · 164 obs2013 · 180 obs2014 · 220 obs1,456 obsparquet · netCDF · ERDDAPCC-BY-4.0
  • Phyllosoma (Lobster Larvae) CalCOFI1951–20091951 · 30 obs1952 · 45 obs1953 · 71 obs1954 · 71 obs1955 · 31 obs1956 · 34 obs1957 · 32 obs1958 · 32 obs1959 · 63 obs1960 · 47 obs1961 · 31 obs1962 · 25 obs1963 · 38 obs1964 · 37 obs1965 · 43 obs1966 · 67 obs1967 · 0 obs1968 · 0 obs1969 · 33 obs1970 · 0 obs1971 · 0 obs1972 · 35 obs1973 · 0 obs1974 · 0 obs1975 · 76 obs1976 · 0 obs1977 · 0 obs1978 · 92 obs1979 · 0 obs1980 · 0 obs1981 · 36 obs1982 · 0 obs1983 · 0 obs1984 · 36 obs1985 · 34 obs1986 · 0 obs1987 · 0 obs1988 · 36 obs1989 · 35 obs1990 · 36 obs1991 · 36 obs1992 · 36 obs1993 · 36 obs1994 · 36 obs1995 · 36 obs1996 · 36 obs1997 · 36 obs1998 · 36 obs1999 · 34 obs2000 · 36 obs2001 · 36 obs2002 · 36 obs2003 · 36 obs2004 · 44 obs2005 · 45 obs2006 · 43 obs2007 · 32 obs2008 · 39 obs2009 · 43 obs1,859 obsparquet · netCDF · ERDDAP · EDIcustom
  • ZooDB (Holoplankton Community) CCE-LTER1951–20151951 · 1,881 obs1952 · 0 obs1953 · 1,683 obs1954 · 0 obs1955 · 0 obs1956 · 660 obs1957 · 0 obs1958 · 462 obs1959 · 0 obs1960 · 0 obs1961 · 0 obs1962 · 0 obs1963 · 0 obs1964 · 396 obs1965 · 0 obs1966 · 1,254 obs1967 · 0 obs1968 · 0 obs1969 · 0 obs1970 · 0 obs1971 · 0 obs1972 · 924 obs1973 · 0 obs1974 · 528 obs1975 · 0 obs1976 · 0 obs1977 · 0 obs1978 · 396 obs1979 · 726 obs1980 · 660 obs1981 · 0 obs1982 · 0 obs1983 · 429 obs1984 · 594 obs1985 · 0 obs1986 · 858 obs1987 · 0 obs1988 · 0 obs1989 · 0 obs1990 · 0 obs1991 · 2,244 obs1992 · 0 obs1993 · 0 obs1994 · 0 obs1995 · 1,188 obs1996 · 0 obs1997 · 792 obs1998 · 1,617 obs1999 · 198 obs2000 · 0 obs2001 · 0 obs2002 · 0 obs2003 · 0 obs2004 · 0 obs2005 · 0 obs2006 · 0 obs2007 · 0 obs2008 · 270 obs2009 · 0 obs2010 · 198 obs2011 · 0 obs2012 · 384 obs2013 · 0 obs2014 · 0 obs2015 · 33 obs30,948 obsparquet · netCDF · ERDDAPcustom
  • Zooplankton Net Tows SIOnetCDF · ERDDAP
  • ZooScan (Imaged Zooplankton) CCE-LTER2005–20262005 · 3,062 obs2006 · 6,450 obs2007 · 5,584 obs2008 · 5,384 obs2009 · 6,560 obs2010 · 6,132 obs2011 · 6,632 obs2012 · 4,638 obs2013 · 6,290 obs2014 · 5,892 obs2015 · 6,684 obs2016 · 5,202 obs2017 · 6,298 obs2018 · 6,404 obs2019 · 6,144 obs2020 · 4,804 obs2021 · 6,472 obs2022 · 4,498 obs2023 · 6,814 obs2024 · 7,020 obs2025 · 7,414 obs2026 · 2,314 obs126,692 obsparquet · netCDF · ERDDAPcustom
  • not yet in the database · 1

Environment

the water itself — its physics, chemistry and the air above it 89 measurements 94 series · 5 datasets · 320 M valuesBrowse the measurements →

Carbonate System

1 dataset · 2 contributing

Dissolved inorganic carbon, alkalinity, pH and pCO2

  • Carbonate Chemistry / DIC CalCOFI1983–20211983 · 64 obs1984 · 310 obs1985 · 80 obs1986 · 62 obs1987 · 61 obs1988 · 118 obs1989 · 98 obs1990 · 120 obs1991 · 112 obs1992 · 144 obs1993 · 30 obs1994 · 19 obs1995 · 8 obs1996 · 16 obs1997 · 16 obs1998 · 38 obs1999 · 16 obs2000 · 16 obs2001 · 16 obs2002 · 0 obs2003 · 0 obs2004 · 0 obs2005 · 0 obs2006 · 0 obs2007 · 0 obs2008 · 0 obs2009 · 0 obs2010 · 0 obs2011 · 164 obs2012 · 196 obs2013 · 0 obs2014 · 270 obs2015 · 0 obs2016 · 615 obs2017 · 486 obs2018 · 203 obs2019 · 116 obs2020 · 256 obs2021 · 58 obs3,708 obsparquet · netCDF · ERDDAP · NCEICC-BY-4.0
  • CTD Cast Files contributes
    1 variableph
    Physical Oceanography
  • Hydrographic Bottle contributes
    2 variablesalkalinity_rep1dic_rep1
    Physical Oceanography

Meteorology & Sea State

1 dataset

Wind, air temperature, pressure, cloud, visibility, sea state and water colour from the underway METS and ship observations

  • Underway Meteorological (METS) CalCOFI2004–20222004 · 7,323 obs2005 · 8,069 obs2006 · 0 obs2007 · 0 obs2008 · 0 obs2009 · 5,476 obs2010 · 11,941 obs2011 · 11,284 obs2012 · 15,357 obs2013 · 32,168 obs2014 · 11,808 obs2015 · 22,353 obs2016 · 61,165 obs2017 · 62,050 obs2018 · 26,948 obs2019 · 49,818 obs2020 · 44,120 obs2021 · 111,306 obs2022 · 30,209 obs511,395 obsparquet · netCDF · ERDDAP

Nutrients & Chemistry

0 datasets · 2 contributing · 4 held

Nitrate, nitrite, phosphate, silicate and ammonium from bottle samples; particulate and total organic carbon and nitrogen, nitrate isotopes, and trace metals (iron)

Physical Oceanography

2 datasets · 1 contributing · 2 held

Temperature, salinity, density, oxygen, pressure and dynamic height from bottles and CTD casts

  • CTD Cast Files CalCOFI1993–20261993 · 230,990 obs1994 · 467,128 obs1995 · 321,892 obs1996 · 478,232 obs1997 · 457,212 obs1998 · 504,512 obs1999 · 473,891 obs2000 · 450,185 obs2001 · 437,119 obs2002 · 434,769 obs2003 · 509,937 obs2004 · 569,546 obs2005 · 524,205 obs2006 · 547,450 obs2007 · 519,192 obs2008 · 488,432 obs2009 · 649,485 obs2010 · 670,410 obs2011 · 726,811 obs2012 · 570,237 obs2013 · 695,874 obs2014 · 552,773 obs2015 · 737,313 obs2016 · 746,708 obs2017 · 685,231 obs2018 · 584,655 obs2019 · 464,057 obs2020 · 491,829 obs2021 · 469,466 obs2022 · 516,707 obs2023 · 571,386 obs2024 · 459,166 obs2025 · 495,351 obs2026 · 218,950 obs17,721,101 obsparquet · netCDF · ERDDAP
  • Hydrographic Bottle CalCOFI1949–20211949 · 305,760 obs1950 · 422,155 obs1951 · 215,270 obs1952 · 305,001 obs1953 · 272,875 obs1954 · 135,189 obs1955 · 243,573 obs1956 · 148,233 obs1957 · 197,421 obs1958 · 251,586 obs1959 · 364,888 obs1960 · 291,838 obs1961 · 159,579 obs1962 · 153,496 obs1963 · 139,276 obs1964 · 126,770 obs1965 · 93,722 obs1966 · 131,183 obs1967 · 36,897 obs1968 · 54,081 obs1969 · 247,283 obs1970 · 12,453 obs1971 · 10,753 obs1972 · 292,190 obs1973 · 18,468 obs1974 · 88,755 obs1975 · 185,186 obs1976 · 31,607 obs1977 · 25,574 obs1978 · 385,153 obs1979 · 0 obs1980 · 8,574 obs1981 · 77,974 obs1982 · 7,294 obs1983 · 56,798 obs1984 · 515,957 obs1985 · 121,796 obs1986 · 147,496 obs1987 · 212,836 obs1988 · 199,840 obs1989 · 155,986 obs1990 · 128,991 obs1991 · 133,493 obs1992 · 140,703 obs1993 · 135,094 obs1994 · 129,577 obs1995 · 127,696 obs1996 · 141,910 obs1997 · 136,642 obs1998 · 186,443 obs1999 · 129,406 obs2000 · 129,691 obs2001 · 129,731 obs2002 · 128,721 obs2003 · 141,315 obs2004 · 128,881 obs2005 · 130,903 obs2006 · 132,675 obs2007 · 133,494 obs2008 · 147,935 obs2009 · 153,833 obs2010 · 140,958 obs2011 · 153,672 obs2012 · 134,741 obs2013 · 149,705 obs2014 · 121,747 obs2015 · 141,630 obs2016 · 156,965 obs2017 · 149,553 obs2018 · 132,552 obs2019 · 111,999 obs2020 · 100,506 obs2021 · 43,661 obs11,135,589 obsparquet · netCDF · ERDDAP
  • Carbonate Chemistry / DIC contributes
    2 variablesctdtemp_its90salinity_pss78
    Carbonate System
  • not yet in the database · 2

Productivity & Pigments

0 datasets · 2 contributing · 4 held

Chlorophyll a, phaeopigments, primary production (C14) and light (PAR)

The reference frame

28 reference rows
Spatial layers 22 boundary layers as PMTiles — browse the folder ↗
Bathymetry GEBCO 2025 bathymetry ↗ · GEBCO Compilation Group (2025) GEBCO 2025 Grid (doi:10.5285/37c52e96-24ea-67ce-e063-7086abc05f29)
17 apps · 4 tabs

Apps

Explore CalCOFI data in the browser — the Explorer across every dataset, the general apps that each go deep on one grain, the apps built around a single dataset, and the student projects.

StationsHexagonsCruisesRegionsSectionsContoursstudent contribution

One browser-native app over every ingested dataset, at six spatial grains.

5 products · 2 tabs

Access

The ways to get the data: standards-based services and public cloud storage, browser SQL, and the R and Python packages that read a release directly.

Standards-based services, public cloud storage and browser SQL.

3 products

Build

The pipeline behind every release and the database tooling — the ingest workflows, calcofi4db and the schema browser. The documentation is its own door now, in the header, for everyone. Read the docs