ZooDB (Holoplankton Community)
ZooDB Holoplankton Community
cce-lter_zoodbCCE-LTERprovider terms ↗in the release since v2026.06.26metadata
Holoplankton abundance and carbon biomass by 33 higher taxa (copepods to family, plus amphipods, chaetognaths, salps, pyrosomes, pteropods, ostracods, foraminifera, radiolaria and more) from CalCOFI net tows, 1951-2021 … CalCOFI holds 30,948 observations from 506 sampling events at 62 stations, 1951–2015, 0–225 m.
- 1951–2015
- years
- 30,948
- observations
- 506
- sampling events
- 62
- stations
- 0
- species
- 0–225 m
- depth
What this is
Holoplankton abundance and carbon biomass by 33 higher taxa (copepods to family, plus amphipods, chaetognaths, salps, pyrosomes, pteropods, ostracods, foraminifera, radiolaria and more) from CalCOFI net tows, 1951-2021, enumerated by microscopy (Ohman Lab / SIO Pelagic Invertebrate Collection). One row per (sample, taxon, measurement_type); unpooled tows are station-resolved, pooled samples are per-cruise regional composites. Raw (uncorrected) abundance per 1000 m3 and per m2, plus biomass mg C/m2.
What is in it
3 variables · zooplankton_abundance, zooplankton_abundance_areal, zooplankton_biomass_carbon units and counts
obs_bio profile · one value per taxon at a sampling event · 30,948 values · 1951–2015 · 3 variables
zooplankton_abundance count/1000m3 10,316zooplankton_abundance_areal count/m2 10,316zooplankton_biomass_carbon mgC/m2 10,316
33 taxa · Pyrosomatida pyrosoma, Salpida salp, Galatheidae squat lobsters, Foraminifera foraminiferans, Gymnosomata naked pteropods, Atlantidae atlantas … the 33 most observed
- Pyrosomatida PYROSOMA 1197
- Salpida Salp 1197
- Galatheidae squat lobsters 1038
- Foraminifera foraminiferans 1017
- Gymnosomata naked pteropods 1017
- Atlantidae atlantas 1017
- Euthecosomata MOLLUSCA EUTHECOSOMATA 1017
- Pseudothecosomata MOLLUSCA PSEUDOTHECOSOMATA 1017
- Radiozoa radiolarians 1017
- Sergestoidea DECAPODA SERGESTOIDEA 1005
- Pasiphaeidae glass shrimps 1005
- Ostracoda ostracods 1005
- Copepoda copepods 1005
- Hyperiidea AMPHIPODA HYPERIIDEA 1005
- Gammaridea AMPHIPODA GAMMARIDEA 1005
- Ctenophora Comb jelly 1005
- Hydrozoa hydrozoans 1005
- Siphonophorae Siphonophore 1005
- Doliolida DOLIOLIDA 1005
- Appendicularia APPENDICULARIA 1005
- Chaetognatha arrow worms 1005
- Tomopteridae POLYCHAETA TOMOPTERIDAE 1005
- Aetideidae COPEPODA CALANOIDA AETIDEIDAE 759
- Calanidae COPEPODA CALANOIDA CALANIDAE 759
- Candaciidae COPEPODA CALANOIDA CANDACIIDAE 759
- Eucalanidae COPEPODA CALANOIDA EUCALANIDAE 759
- Euchaetidae COPEPODA CALANOIDA EUCHAETIDAE 759
- Heterorhabdidae COPEPODA CALANOIDA HETERORHABDIDAE 759
- Lucicutiidae COPEPODA CALANOIDA LUCICUTIIDAE 759
- Metridinidae COPEPODA CALANOIDA METRIDINIDAE 759
- Pontellidae COPEPODA CALANOIDA PONTELLIDAE 759
- Scolecitrichidae COPEPODA CALANOIDA SCOLECITRICHIDAE 759
- Calanoida COPEPODA OTHER CALANOIDS 759
5 of 12 months · extent 30.8–37.6°N, 125.8–117.3°W · 1951-03 to 2015-04
Ways in
Explorerdb-queryOriginal at ZooDBERDDAPParquetnetCDFSTACIngest notebookcalcofi.orgAs JSON
Every endpoint 27 · explore 5, get the data 5, code 4, metadata records 7, 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.
CF netCDF
One self-describing file, for a tool that reads netCDF.
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.
ERDDAP (erddap.calcofi.io)
One ERDDAP dataset per grain. Subset in the browser or query it from a script; for netCDF take the CF file above.
- observations
- one row per measurement — value, units and quality flag — joined to the sampling event it was taken on
- sampling events
- one row per cast, tow or transect: when, where and how it was sampled, with the effort that scales it
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("cce-lter_zoodb")
con = calcofi4py.cc_get_db()
calcofi4py.cc_cite("cce-lter_zoodb")
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 = 'cce-lter_zoodb'. 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=cce-lter_zoodb/a7d528f0367fc454ee17c70d/data_0.parquet')
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.
-- cce-lter_zoodb in the CalCOFI release v2026.11.05
SELECT *
FROM __TBL:obs__
WHERE dataset_key = 'cce-lter_zoodb'
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.
Policy Archive of record: none with a DOI — the ingest reads CCE-LTER's DataZoo export. An EDI package is CCE-LTER's to deposit (planned, not CalCOFI's); OBIS planned (Darwin Core Archive built and staged each release).
Cite no citation from the provider yet
This dataset's own citation. What to cite, and how, is a chapter of the docs book.
The provider has not confirmed a citation for this dataset yet (11 open questions with the provider). Cite the release below, and name the dataset by its key.
ZooDB Holoplankton Community [dataset].
License: custom (https://oceaninformatics.ucsd.edu/zoodb/)
Acknowledgement: Plankton sample analysis supported by NSF grants to M.D. Ohman and the CCE-LTER site, and by the SIO Pelagic Invertebrate Collection.
BibTeX
@misc{cce-lter_zoodb,
title = {ZooDB Holoplankton Community},
note = {License: custom (https://oceaninformatics.ucsd.edu/zoodb/); Acknowledgement: Plankton sample analysis supported by NSF grants to M.D. Ohman and the CCE-LTER site, and by the SIO Pelagic Invertebrate Collection.}
}
Acknowledgement. Plankton sample analysis supported by NSF grants to M.D. Ohman and the CCE-LTER site, and by the SIO Pelagic Invertebrate Collection.
…and the release it came from
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}
}
Provenance source read 2026-10-21 · 5 release tables · 1 changed in v2026.11.05 · 94 source files
What changed in v2026.11.05
- obs 155 KB · since v2026.11.05
Source files
The original inputs the ingest notebook read, archived by the ingest to the public files bucket — 94 files, 7.7 MB.
- History & Survey Coverage – CalCOFI 2.pdf0 B2026-07-30
- History & Survey Coverage – CalCOFI.pdf2.9 MB2026-07-29
- README 2.html8.0 KB2026-09-11
- README 2.md0 B2026-07-30
- README.html23.2 KB2026-09-11
- README.md13.0 KB2026-07-29
- ZooDB_CenCA_Coverage_Table 2.pdf0 B2026-07-30
- ZooDB_CenCA_Coverage_Table.pdf58.8 KB2026-07-29
- ZooDB_Correction_Factors 2.pdf0 B2026-07-30
- ZooDB_Correction_Factors.pdf26.3 KB2026-07-29
- ZooDB_SoCA_Coverage_Table 2.pdf0 B2026-07-30
- ZooDB_SoCA_Coverage_Table.pdf103 KB2026-07-29
and 82 more
- by_taxon/_PROVENANCE.html11.9 KB2026-09-11
- by_taxon/_PROVENANCE.md2.3 KB2026-07-29
- by_taxon/_all_taxa__1000m3.csv43.1 KB2026-07-29
- by_taxon/_all_taxa__m2.csv42.5 KB2026-07-29
- by_taxon/_manifest.csv5.7 KB2026-07-29
- by_taxon/amphipoda_gammaridea__1000m3.csv41.0 KB2026-07-29
- by_taxon/amphipoda_gammaridea__m2.csv40.6 KB2026-07-29
- by_taxon/amphipoda_hyperiidea__1000m3.csv41.5 KB2026-07-29
- by_taxon/amphipoda_hyperiidea__m2.csv40.9 KB2026-07-29
- by_taxon/appendicularia__1000m3.csv41.8 KB2026-07-29
- by_taxon/appendicularia__m2.csv41.2 KB2026-07-29
- by_taxon/chaetognatha__1000m3.csv42.0 KB2026-07-29
- by_taxon/chaetognatha__m2.csv41.4 KB2026-07-29
- by_taxon/copepoda__1000m3.csv42.3 KB2026-07-29
- by_taxon/copepoda__m2.csv41.7 KB2026-07-29
- by_taxon/copepoda_calanoida_aetideidae__1000m3.csv28.1 KB2026-07-29
- by_taxon/copepoda_calanoida_aetideidae__m2.csv27.7 KB2026-07-29
- by_taxon/copepoda_calanoida_calanidae__1000m3.csv28.5 KB2026-07-29
- by_taxon/copepoda_calanoida_calanidae__m2.csv28.1 KB2026-07-29
- by_taxon/copepoda_calanoida_candaciidae__1000m3.csv28.0 KB2026-07-29
- by_taxon/copepoda_calanoida_candaciidae__m2.csv27.6 KB2026-07-29
- by_taxon/copepoda_calanoida_eucalanidae__1000m3.csv28.4 KB2026-07-29
- by_taxon/copepoda_calanoida_eucalanidae__m2.csv28.0 KB2026-07-29
- by_taxon/copepoda_calanoida_euchaetidae__1000m3.csv27.9 KB2026-07-29
- by_taxon/copepoda_calanoida_euchaetidae__m2.csv27.5 KB2026-07-29
- by_taxon/copepoda_calanoida_heterorhabdidae__1000m3.csv28.0 KB2026-07-29
- by_taxon/copepoda_calanoida_heterorhabdidae__m2.csv27.6 KB2026-07-29
- by_taxon/copepoda_calanoida_lucicutiidae__1000m3.csv27.9 KB2026-07-29
- by_taxon/copepoda_calanoida_lucicutiidae__m2.csv27.5 KB2026-07-29
- by_taxon/copepoda_calanoida_metridinidae__1000m3.csv28.6 KB2026-07-29
- by_taxon/copepoda_calanoida_metridinidae__m2.csv28.2 KB2026-07-29
- by_taxon/copepoda_calanoida_pontellidae__1000m3.csv27.8 KB2026-07-29
- by_taxon/copepoda_calanoida_pontellidae__m2.csv27.5 KB2026-07-29
- by_taxon/copepoda_calanoida_scolecitrichidae__1000m3.csv27.8 KB2026-07-29
- by_taxon/copepoda_calanoida_scolecitrichidae__m2.csv27.5 KB2026-07-29
- by_taxon/copepoda_other_calanoids__1000m3.csv28.3 KB2026-07-29
- by_taxon/copepoda_other_calanoids__m2.csv27.9 KB2026-07-29
- by_taxon/ctenophora__1000m3.csv41.3 KB2026-07-29
- by_taxon/ctenophora__m2.csv40.7 KB2026-07-29
- by_taxon/decapoda_anomura_galatheidae__1000m3.csv42.6 KB2026-07-29
- by_taxon/decapoda_anomura_galatheidae__m2.csv42.2 KB2026-07-29
- by_taxon/decapoda_caridea_pasiphaeidae__1000m3.csv40.9 KB2026-07-29
- by_taxon/decapoda_caridea_pasiphaeidae__m2.csv40.6 KB2026-07-29
- by_taxon/decapoda_sergestoidea__1000m3.csv41.3 KB2026-07-29
- by_taxon/decapoda_sergestoidea__m2.csv40.8 KB2026-07-29
- by_taxon/doliolida__1000m3.csv41.5 KB2026-07-29
- by_taxon/doliolida__m2.csv41.0 KB2026-07-29
- by_taxon/foraminifera__1000m3.csv41.7 KB2026-07-29
- by_taxon/foraminifera__m2.csv41.3 KB2026-07-29
- by_taxon/hydromedusa__1000m3.csv41.6 KB2026-07-29
- by_taxon/hydromedusa__m2.csv41.0 KB2026-07-29
- by_taxon/mollusca_euthecosomata__1000m3.csv42.1 KB2026-07-29
- by_taxon/mollusca_euthecosomata__m2.csv41.5 KB2026-07-29
- by_taxon/mollusca_gymnosomata__1000m3.csv41.6 KB2026-07-29
- by_taxon/mollusca_gymnosomata__m2.csv41.2 KB2026-07-29
- by_taxon/mollusca_heteropoda_atlantidae__1000m3.csv41.8 KB2026-07-29
- by_taxon/mollusca_heteropoda_atlantidae__m2.csv41.3 KB2026-07-29
- by_taxon/mollusca_pseudothecosomata__1000m3.csv41.8 KB2026-07-29
- by_taxon/mollusca_pseudothecosomata__m2.csv41.3 KB2026-07-29
- by_taxon/ostracoda__1000m3.csv41.7 KB2026-07-29
- by_taxon/ostracoda__m2.csv41.1 KB2026-07-29
- by_taxon/polychaeta_tomopteridae__1000m3.csv41.3 KB2026-07-29
- by_taxon/polychaeta_tomopteridae__m2.csv40.8 KB2026-07-29
- by_taxon/pyrosoma__1000m3.csv50.0 KB2026-07-29
- by_taxon/pyrosoma__m2.csv49.6 KB2026-07-29
- by_taxon/radiolaria__1000m3.csv42.4 KB2026-07-29
- by_taxon/radiolaria__m2.csv41.8 KB2026-07-29
- by_taxon/salpida__1000m3.csv50.4 KB2026-07-29
- by_taxon/salpida__m2.csv49.8 KB2026-07-29
- by_taxon/siphonophora__1000m3.csv41.9 KB2026-07-29
- by_taxon/siphonophora__m2.csv41.3 KB2026-07-29
- q1 2.csv0 B2026-07-30
- q1 2.png0 B2026-07-30
- q1.csv39.1 KB2026-07-29
- q1.png233 KB2026-07-29
- q2 2.csv0 B2026-07-30
- q2 2.png0 B2026-07-30
- q2.csv38.6 KB2026-07-29
- q2.png264 KB2026-07-29
- q3 2.csv0 B2026-07-30
- q3.csv53.0 KB2026-07-29
- zoodb_holoplankton.csv1.4 MB2026-07-29
Open questions for the provider 2 on this dataset · 11 open in all
- Q11 consent — open
- Q10 citation_main — proposed
Each is a field the record proposes and the provider has not yet confirmed.
Keywords 4 GCMD
ZooplanktonCrustaceansCopepodsZooplankton Biomass and Diversity
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.