CalCOFI CalCOFI CalCOFI.io open data ecosystem

Carbonate Chemistry / DIC

CalCOFI DIC

calcofi_dicCalCOFICreative Commons Attribution 4.0 Internationaldoi:10.25921/3w9f-jd72v2026.09.05validated

years
1983–2021
observations
3,708
sampling events
341
stations
37
variables
4
depth
1–3500 m
observations per year, 1983–2021
st80-ln100_hist · 35 obsst100-ln100_hist · 83 obsst100-ln110_hist · 38 obsst80-ln60 · 2 obsst90-ln70 · 2 obsst70-ln76.7 · 6 obsst70-ln80 · 127 obsst100-ln76.7 · 5 obsst80-ln80 · 246 obsst90-ln80 · 153 obsst70-ln83.3 · 4 obsst100-ln80 · 152 obsst90-ln83.3 · 5 obsst70-ln86.7 · 4 obsst90-ln86.7 · 7 obsst70-ln90 · 373 obsst80-ln90 · 4 obsst90-ln90 · 620 obsst100-ln90 · 33 obsst90-ln93.3 · 33 obsst120-ln90 · 190 obsst100-ln93.3 · 29 obsst60-ln63.3 · 2 obsst50-ln66.7 · 2 obsst50-ln76.7 · 5 obsst50-ln80 · 98 obsst55-ln80 · 302 obsst60-ln80 · 152 obsst40-ln83.3 · 44 obsst45-ln83.3 · 200 obsst35-ln86.7 · 190 obsst30-ln90 · 158 obsst35-ln90 · 20 obsst45-ln90 · 52 obsst30-ln93.3 · 110 obsst55-ln90 · 76 obsst60-ln90 · 146 obs125°W120°W30°N35°N
37 CalCOFI stations sampled, sized by observations, over the survey grid.

Overview

Discrete profile dissolved inorganic carbon (DIC) and total alkalinity (TA) from CalCOFI Niskin bottle samples, quality-controlled using WOCE flagging.

Principal investigators
Todd Martz · Aaron Mau
Keywords
EARTH SCIENCE > OCEANS > OCEAN CHEMISTRY > INORGANIC CARBONEARTH SCIENCE > OCEANS > OCEAN CHEMISTRY > ALKALINITYEARTH SCIENCE > OCEANS > OCEAN CHEMISTRY > PHEARTH SCIENCE > OCEANS > OCEAN TEMPERATURE > WATER TEMPERATUREEARTH SCIENCE > OCEANS > SALINITY/DENSITY > OCEAN SALINITY

Coverage

4 variables

alkalinityctdtemp_its90dicsalinity_pss78

Also contributes to

  • Physical Oceanography — ctdtemp_its90, salinity_pss78

Access

Every endpoint this dataset can be reached through, grouped by how you would use it. Every URL is in the release record and answered when the release was cut.

Explore

Apps that read this dataset from the release. A row marked “this dataset” opens with it already selected.

CalCOFI Explorerthis datasetAcross datasets

https://calcofi.io/explore/?datasets=calcofi_dic

Station Explorerthis datasetAcross datasets

https://app.calcofi.io/station/?dataset=calcofi_dic

Hexagon Explorerthis datasetAcross datasets

https://app.calcofi.io/hex/?datasets=calcofi_dic

Cruise Explorerthis datasetAcross datasets

https://app.calcofi.io/cruise/?datasets=calcofi_dic

Query

SQL against the release itself, in the browser — nothing to install and nothing downloaded until a query asks for it. __TBL:obs__ resolves to the pinned release’s parquet.

db-query — the SQL shell, prefilledDuckDB-WASM over the released parquet, in your browser
-- calcofi_dic in the CalCOFI release v2026.09.05
SELECT *
FROM __TBL:obs__
WHERE dataset_key = 'calcofi_dic'
LIMIT 100;

https://calcofi.io/db-query/?sql=--+calcofi_dic+in+the+CalCOFI+release+v2026.09.05%0ASELECT+%2A%0AFROM+__TBL%3Aobs__%0AWHERE+dataset_key+%3D+%27calcofi_dic%27%0ALIMIT+100%3B#sql-shell--shell

Code

The same release, from a script.

con <- calcofi4r::cc_get_db()
calcofi4r::cc_cite("calcofi_dic")
con = calcofi4py.cc_get_db()
calcofi4py.cite("calcofi_dic")
DuckDB, anywhereno CalCOFI package needed — the object is a plain parquet file
SELECT * FROM read_parquet('https://storage.googleapis.com/calcofi-db/ducklake-staging/tables/obs/dataset_key=calcofi_dic/377bd1ac5bc1f34e30c2fac8/data_0.parquet') LIMIT 100;

Get the data

Every way to have the bytes, by source. Nothing here asks you to register first.

Files from the release (Parquet)

The frozen objects this release is made of. A partition holds only this dataset’s rows; a shared table holds every dataset’s, so filter on dataset_key.

obsthis dataset’s rows · 34.8 KB · since v2026.09.04sha256 6241665d1d0e…

https://storage.googleapis.com/calcofi-db/ducklake-staging/tables/obs/dataset_key=calcofi_dic/377bd1ac5bc1f34e30c2fac8/data_0.parquet

CF netCDF

One self-describing file, for a tool that reads netCDF.

CF netCDF216 KBsha256 f75e3998ccba…
how far this file is CF

Fully CF: each row is an independent observation with its own time and position, which is a CF point collection. Rows are at the OCCURRENCE grain (event x taxon x life stage x depth), not the event grain, so a sample with many taxa contributes many points.

https://storage.calcofi.io/calcofi-files-public/netcdf/calcofi_dic/v2026.09.04/calcofi_dic.nc

ERDDAP (erddap.calcofi.io)

One ERDDAP dataset per grain, each with its own data formats and its own pages. Subset in the browser or query it from a script.

ERDDAP dataset grain data & pagescalcofi_dic observations CSVnetCDFJSON pageinfograph calcofi_dic_sample sampling events CSVnetCDFJSON pageinfograph
observations
one row per measurement, joined to the event it was taken on
sampling events
one row per cast, tow or transect — when, where and how it was sampled

Legacy ids, still answering until 2026-12-04: calcofi_dic_old (replaced by calcofi_dic)

From the provider

The dataset as its provider publishes it, before CalCOFI ingested it.

sourceexternalNCEI

https://www.ncei.noaa.gov/access/metadata/landing-page/bin/iso?id=gov.noaa.nodc:0301029

Metadata records

Records about the data, in the standards each portal harvests.

ISO 19115-3XML, from the ERDDAP WAF

https://erddap.calcofi.io/erddap/metadata/iso19115/xml/calcofi_dic_iso19115.xml

https://erddap.calcofi.io/erddap/metadata/fgdc/xml/calcofi_dic_fgdc.xml

JSON-LD (schema.org/Dataset)what this page publishes to Google Dataset Search

https://calcofi.io/datasets/calcofi_dic.jsonld

the record, verbatimthe release’s own entry for this dataset — everything on this page comes from it

https://calcofi.io/datasets/calcofi_dic.json

DCAT-US 1.1the whole catalog, for data.gov and any CKAN

https://calcofi.io/data.json

STAC collectionone Collection per dataset, an Item per release

https://calcofi.io/stac/#/collections/calcofi_dic/collection.json

Archives & portals

Where this dataset is registered outside calcofi.io, by the identifier each portal knows it as.

ERDDAP (calcofi.io)calcofi_dicpublished

https://erddap.calcofi.io/erddap/info/calcofi_dic/index.html

OBISn/a
EDIn/a
NCEIgov.noaa.nodc:0301029published

https://www.ncei.noaa.gov/access/metadata/landing-page/bin/iso?id=gov.noaa.nodc:0301029

CalOOSplanned
Zenodo10.5281/zenodo.22281994publishedas part of the integrated database release

https://doi.org/10.5281/zenodo.22281994

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.

Cite

Keeling, C.D.; Lueker, T.J.; Emanuele, G.; Dickson, A.G.; Martz, T.R.; Wolfe, W.H.; Mau, A. (2025). Discrete profile dissolved inorganic carbon, total alkalinity, water temperature and salinity measurements for CalCOFI (NCEI Accession 0301029). NOAA NCEI. https://doi.org/10.25921/3w9f-jd72
License: CC-BY-4.0
DOI: https://doi.org/10.25921/3w9f-jd72
BibTeX
@misc{calcofi_dic,
  title        = {CalCOFI DIC},
  howpublished = {Keeling, C.D.; Lueker, T.J.; Emanuele, G.; Dickson, A.G.; Martz, T.R.; Wolfe, W.H.; Mau, A. (2025). Discrete profile dissolved inorganic carbon, total alkalinity, water temperature and salinity measurements for CalCOFI (NCEI Accession 0301029). NOAA NCEI. https://doi.org/10.25921/3w9f-jd72},
  year         = {2025},
  doi          = {10.25921/3w9f-jd72},
  url          = {https://doi.org/10.25921/3w9f-jd72},
  note         = {License: CC-BY-4.0}
}

…and the release it came from

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