CalCOFI Workflows

Reproducible Quarto / R notebooks that ingest source datasets, freeze versioned releases, and publish the CalCOFI integrated database. Rendered from CalCOFI/workflows.

45 notebooks ยท 19 metadata-described workflows ยท generated 2026-07-28

Ingest 13

Acquire, standardize, and load a source dataset into the integrated database. Cards are grouped by data provider.

CalCOFI

ingest_calcofi_phytoplankton

calcofi1996 to 2022
CalCOFI Phytoplankton (Venrick)

Abundance and species composition of phytoplankton (385 taxonomic categories) in the California Current, 1996-2022, by inverted-microscope counts (E. Venrick). Samples from the near-surface "second depth" are pooled across stations into four regions (NE, SE, Alley, Offshore; Hayward & Venrick 1998) before counting, so the grain is cruise x region, not per-station. Source: EDI knb-lter-cce.254.4.

SWFSC

ingest_swfsc_cufes

swfsc1996-03 to 2022-04
CalCOFI Underway CUFES Fish Eggs

Continuous Underway Fish Egg Sampler (CUFES) egg counts (sardine, anchovy, jack mackerel, hake, squid, other) with underway environmental conditions, from CalCOFI cruises (1996-present). Source: NOAA CoastWatch ERDDAP erdCalCOFIcufes.

SIO PIC

ingest_pic_zooplankton

pic1926-06 to 2024-04
SIO PIC Zooplankton Net Tows

Zooplankton net-tow sample registry from the SIO Pelagic Invertebrate Collection, filtered to the CalCOFI region. Position, time, depth, and gear metadata per tow. Biovolume measurements are not in the source file and are pending from the provider (see Questions for Data Providers).

CCE-LTER

ingest_cce-lter_euphausiids

cce-lter1951-01 to 2019-04
CCE-LTER Euphausiid Abundance

Euphausiid (krill) abundance from CalCOFI / CCE-LTER net tows, 1951-2019, one row per tow. Provisional pending provider answers on abundance units and taxonomic scope (see Questions for Data Providers).

ingest_cce-lter_zoodb

cce-lter1951-03 to 2015-04
ZooDB Holoplankton Community

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.

ingest_cce-lter_zooscan

cce-lter2005-07 to 2026-04
ZooScan PRPOOS Zooplankton

Zooplankton abundance, carbon biomass, and size (Feret diameter, individual carbon content) from ZooScan optical imaging of CalCOFI / CCE-LTER PRPOOS net tows on lines 80, 87 and 90, 2005-present, machine-classified into 23 bioclasses (copepod groups, euphausiids, chaetognaths, appendicularians, salps, doliolids, pteropods, rhizaria and more). One row per (sample, taxon, measurement_type); per-station tows. Source: SIO Ocean Informatics ZooScan portal (Ohman Lab; interface by Marina Frants).

Publish 4

Push released tables out to external repositories (ERDDAP, OBIS).

Release & pipeline 6

Freeze a versioned release and the maintenance utilities that support the pipeline.

Reference & plans 2

Planning and reference notebooks. (Candidate to fold into calcofi.io/docs/.)

Other notebooks 20

Exploratory analyses and legacy load scripts, kept for reference.

Pipeline DAG

The targets dependency graph parsed from each notebook's calcofi: front-matter (the same fields calcofi4db::build_targets_list() wires up), grouped into subgraphs by workflow type and color-coded to match the sections above.

graph LR
  ingest_calcofi_bird_mammal_census(["ingest_calcofi_bird_mammal_census"]):::c_ingest_calcofi_bird_mammal_census
  ingest_calcofi_bottle(["ingest_calcofi_bottle"]):::c_ingest_calcofi_bottle
  ingest_calcofi_ctd_cast(["ingest_calcofi_ctd_cast"]):::c_ingest_calcofi_ctd_cast
  ingest_calcofi_dic(["ingest_calcofi_dic"]):::c_ingest_calcofi_dic
  ingest_calcofi_phyllosoma(["ingest_calcofi_phyllosoma"]):::c_ingest_calcofi_phyllosoma
  ingest_calcofi_phytoplankton(["ingest_calcofi_phytoplankton"]):::c_ingest_calcofi_phytoplankton
  ingest_cce_lter_euphausiids(["ingest_cce_lter_euphausiids"]):::c_ingest_cce_lter_euphausiids
  ingest_cce_lter_zoodb(["ingest_cce_lter_zoodb"]):::c_ingest_cce_lter_zoodb
  ingest_cce_lter_zooscan(["ingest_cce_lter_zooscan"]):::c_ingest_cce_lter_zooscan
  ingest_pic_zooplankton(["ingest_pic_zooplankton"]):::c_ingest_pic_zooplankton
  ingest_spatial(["ingest_spatial"]):::ingest
  ingest_swfsc_cufes(["ingest_swfsc_cufes"]):::c_ingest_swfsc_cufes
  ingest_swfsc_ichthyo(["ingest_swfsc_ichthyo"]):::c_ingest_swfsc_ichthyo
  publish_ctd_cast_to_netcdf(["publish_ctd_cast_to_netcdf"]):::publish
  publish_ichthyo_to_netcdf(["publish_ichthyo_to_netcdf"]):::publish
  publish_ichthyo_to_obis(["publish_ichthyo_to_obis"]):::publish
  release_database(["release_database"]):::release
  ingest_swfsc_ichthyo --> ingest_calcofi_bird_mammal_census
  ingest_swfsc_ichthyo --> ingest_calcofi_bottle
  ingest_swfsc_ichthyo --> ingest_calcofi_ctd_cast
  ingest_calcofi_bottle --> ingest_calcofi_dic
  ingest_swfsc_ichthyo --> ingest_calcofi_phyllosoma
  ingest_swfsc_ichthyo --> ingest_calcofi_phytoplankton
  ingest_swfsc_ichthyo --> ingest_cce_lter_euphausiids
  ingest_swfsc_ichthyo --> ingest_cce_lter_zoodb
  ingest_swfsc_ichthyo --> ingest_cce_lter_zooscan
  ingest_swfsc_ichthyo --> ingest_pic_zooplankton
  ingest_swfsc_ichthyo --> ingest_swfsc_cufes
  release_database --> publish_ctd_cast_to_netcdf
  release_database --> publish_ichthyo_to_netcdf
  release_database --> publish_ichthyo_to_obis
  ingest_calcofi_bird_mammal_census --> release_database
  ingest_calcofi_bottle --> release_database
  ingest_calcofi_ctd_cast --> release_database
  ingest_calcofi_dic --> release_database
  ingest_calcofi_phyllosoma --> release_database
  ingest_calcofi_phytoplankton --> release_database
  ingest_cce_lter_euphausiids --> release_database
  ingest_cce_lter_zoodb --> release_database
  ingest_cce_lter_zooscan --> release_database
  ingest_pic_zooplankton --> release_database
  ingest_spatial --> release_database
  ingest_swfsc_cufes --> release_database
  ingest_swfsc_ichthyo --> release_database
  classDef c_ingest_calcofi_bird_mammal_census fill:#f0d2e8,stroke:#00000033,color:#10161c;
  classDef c_ingest_calcofi_bottle fill:#f5cad9,stroke:#00000033,color:#10161c;
  classDef c_ingest_calcofi_ctd_cast fill:#e0ccf0,stroke:#00000033,color:#10161c;
  classDef c_ingest_calcofi_dic fill:#ffd2bb,stroke:#00000033,color:#10161c;
  classDef c_ingest_calcofi_phyllosoma fill:#e0bbf0,stroke:#00000033,color:#10161c;
  classDef c_ingest_calcofi_phytoplankton fill:#b5e8b0,stroke:#00000033,color:#10161c;
  classDef c_ingest_cce_lter_euphausiids fill:#d2f0bb,stroke:#00000033,color:#10161c;
  classDef c_ingest_cce_lter_zoodb fill:#d9c2f0,stroke:#00000033,color:#10161c;
  classDef c_ingest_cce_lter_zooscan fill:#c2e8f0,stroke:#00000033,color:#10161c;
  classDef c_ingest_pic_zooplankton fill:#bbe0f0,stroke:#00000033,color:#10161c;
  classDef ingest fill:#cdd9e5,stroke:#00000033,color:#10161c;
  classDef c_ingest_swfsc_cufes fill:#f0e8bb,stroke:#00000033,color:#10161c;
  classDef c_ingest_swfsc_ichthyo fill:#cdebc6,stroke:#00000033,color:#10161c;
  classDef publish fill:#20c997,stroke:#00000033,color:#10161c;
  classDef release fill:#f06595,stroke:#00000033,color:#10161c;