{
  "schema_version": "1.2",
  "release_version": "v2026.07.30",
  "release_date": "2026-07-30",
  "datasets": {
    "calcofi_bird_mammal_census": {
      "provider": "calcofi",
      "dataset": "bird_mammal_census",
      "dataset_name": "CalCOFI Bird & Mammal Census",
      "description": "Bird and mammal observations along CalCOFI (and NMFS, CPR) cruise transects, 1987-2021. Transect effort + counts + species/behavior lookups. Curated via CCE-LTER DataZoo 255 (PI Bill Sydeman).\n",
      "citation_main": null,
      "link_calcofi_org": null,
      "link_data_source": "https://oceaninformatics.ucsd.edu/datazoo/catalogs/ccelter/datasets/255",
      "coverage_temporal": "1987 to 2021",
      "coverage_spatial": "CalCOFI region (California Current)",
      "license": null,
      "pi_names": "Bill Sydeman",
      "tables": [
        "sample",
        "obs",
        "obs_attribute",
        "taxon",
        "dataset_taxon",
        "taxon_group"
      ],
      "workflow_url": "https://calcofi.io/workflows/ingest_calcofi_bird_mammal_census.html",
      "coverage_temporal_observed": "1987-05 to 2021-08"
    },
    "calcofi_bottle": {
      "provider": "calcofi",
      "dataset": "bottle",
      "dataset_name": "CalCOFI Bottle Database",
      "description": "Hydrographic bottle data including temperature, salinity, oxygen, nutrients, pigments, and C14 from CalCOFI cruises.\n",
      "citation_main": "CalCOFI. (2023). CalCOFI Bottle Database 194903-202105. CalCOFI.org.",
      "link_calcofi_org": "https://calcofi.org/data/oceanographic-data/bottle-database/",
      "link_data_source": "https://calcofi.org/downloads/database/CalCOFI_Database_194903-202105_csv_16October2023.zip",
      "coverage_temporal": "1949-03 to 2021-05",
      "coverage_spatial": "23-51\u00b0N, -170 to -117\u00b0W",
      "license": null,
      "pi_names": null,
      "tables": [
        "sample",
        "obs",
        "sample_measurement",
        "measurement_type"
      ],
      "workflow_url": "https://calcofi.io/workflows/ingest_calcofi_bottle.html",
      "coverage_temporal_observed": "1949-02 to 2021-05"
    },
    "calcofi_ctd-cast": {
      "provider": "calcofi",
      "dataset": "ctd-cast",
      "dataset_name": "CalCOFI CTD Cast Files",
      "description": "CTD downcast profiles with temperature, salinity, oxygen, fluorescence, and other sensors at standard depths.\n",
      "citation_main": "CalCOFI. (2023). CalCOFI CTD Cast Files. CalCOFI.org.",
      "link_calcofi_org": "https://calcofi.org/data/oceanographic-data/ctd-cast-files/",
      "link_data_source": "https://calcofi.org/data/oceanographic-data/ctd-cast-files/",
      "coverage_temporal": "1993-01 to 2021-05",
      "coverage_spatial": "28-37\u00b0N, -125 to -117\u00b0W",
      "license": null,
      "pi_names": null,
      "tables": [
        "sample",
        "obs",
        "obs_ctd_full",
        "measurement_type"
      ],
      "workflow_url": "https://calcofi.io/workflows/ingest_calcofi_ctd-cast.html",
      "coverage_temporal_observed": "1998-01 to 2026-04"
    },
    "calcofi_dic": {
      "provider": "calcofi",
      "dataset": "dic",
      "dataset_name": "CalCOFI DIC",
      "description": "Discrete profile dissolved inorganic carbon (DIC) and total alkalinity (TA) from CalCOFI Niskin bottle samples, quality-controlled using WOCE flagging.\n",
      "citation_main": "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",
      "link_calcofi_org": "https://calcofi.org/data/oceanographic-data/dic/",
      "link_data_source": "https://www.ncei.noaa.gov/access/metadata/landing-page/bin/iso?id=gov.noaa.nodc:0301029",
      "coverage_temporal": "1983-03 to 2021-07",
      "coverage_spatial": "28-37\u00b0N, -125 to -117\u00b0W",
      "license": "CC BY 4.0",
      "pi_names": "Todd Martz; Aaron Mau",
      "tables": [
        "sample",
        "obs",
        "measurement_type"
      ],
      "workflow_url": "https://calcofi.io/workflows/ingest_calcofi_dic.html",
      "coverage_temporal_observed": "1983-03 to 2021-07"
    },
    "calcofi_mets": {
      "provider": "calcofi",
      "dataset": "mets",
      "dataset_name": "CalCOFI METS (Underway TSG/Meteorology)",
      "description": "Shipboard underway thermosalinograph (TSG) and meteorology data, ~1-minute resolution, recorded continuously along the cruise track.\n",
      "citation_main": "CalCOFI. Underway (METS) TSG/Meteorology Data. CalCOFI.org.",
      "link_calcofi_org": "https://calcofi.org/data/oceanographic-data/underway/",
      "link_data_source": "https://calcofi.org/data/oceanographic-data/underway/",
      "coverage_temporal": "2004-01 to 2022-11",
      "coverage_spatial": "28-37\u00b0N, -125 to -117\u00b0W",
      "license": null,
      "pi_names": null,
      "tables": [
        "sample",
        "obs",
        "mets_measurement",
        "measurement_type"
      ],
      "workflow_url": "https://calcofi.io/workflows/ingest_calcofi_mets.html",
      "coverage_temporal_observed": "2004-01 to 2022-11"
    },
    "calcofi_phyllosoma": {
      "provider": "calcofi",
      "dataset": "phyllosoma",
      "dataset_name": "CalCOFI Lobster Phyllosoma",
      "description": "Spiny lobster (Panulirus interruptus) phyllosoma larvae counts by developmental stage from CalCOFI net tows, 1951-2008. Source: EDI knb-lter-cce.188.4 (Koslow).\n",
      "citation_main": null,
      "link_calcofi_org": null,
      "link_data_source": "https://portal.edirepository.org/nis/mapbrowse?packageid=knb-lter-cce.188.4",
      "coverage_temporal": "1951 to 2008",
      "coverage_spatial": "CalCOFI region",
      "license": null,
      "pi_names": "J. Anthony Koslow",
      "tables": [
        "sample",
        "obs",
        "obs_attribute",
        "taxon",
        "dataset_taxon",
        "measurement_type"
      ],
      "workflow_url": "https://calcofi.io/workflows/ingest_calcofi_phyllosoma.html",
      "coverage_temporal_observed": "1951-07 to 2009-07"
    },
    "calcofi_phytoplankton": {
      "provider": "calcofi",
      "dataset": "phytoplankton",
      "dataset_name": "CalCOFI Phytoplankton (Venrick)",
      "description": "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.\n",
      "citation_main": null,
      "link_calcofi_org": "https://calcofi.org/data/marine-ecosystem-data/phytoplankton-bacterioplankton/",
      "link_data_source": "https://portal.edirepository.org/nis/mapbrowse?packageid=knb-lter-cce.254.4",
      "coverage_temporal": "1996 to 2022",
      "coverage_spatial": "CalCOFI region (4 pooled sub-regions)",
      "license": null,
      "pi_names": "Elizabeth L. Venrick",
      "tables": [
        "sample",
        "obs",
        "taxon",
        "dataset_taxon",
        "taxon_group",
        "region",
        "measurement_type"
      ],
      "workflow_url": "https://calcofi.io/workflows/ingest_calcofi_phytoplankton.html"
    },
    "cce-lter_euphausiids": {
      "provider": "cce-lter",
      "dataset": "euphausiids",
      "dataset_name": "CCE-LTER Euphausiid Abundance",
      "description": "Species- and life-stage-resolved euphausiid (krill) abundance from CalCOFI / CCE-LTER net tows (BTEDB export), 1951-present, one row per tow x species x life stage. Supersedes the prior single-Abundance- column ingest, which had no taxonomic scope (Q02, now resolved) \u2014 units remain provisional pending provider confirmation (Q01).\n",
      "citation_main": null,
      "link_calcofi_org": null,
      "link_data_source": "BTEDB (Bongo Tow Euphausiid Database) export",
      "coverage_temporal": "1951-01 to present",
      "coverage_spatial": "CalCOFI grid incl. Baja lines",
      "license": null,
      "pi_names": "Rasmus Swalethorp; Linsey Sala",
      "tables": [
        "sample",
        "obs",
        "taxon",
        "dataset_taxon",
        "measurement_type"
      ],
      "workflow_url": "https://calcofi.io/workflows/ingest_cce-lter_euphausiids.html",
      "coverage_temporal_observed": "1951-01 to 2019-04"
    },
    "cce-lter_picoplankton-bacteria": {
      "provider": "cce-lter",
      "dataset": "picoplankton-bacteria",
      "dataset_name": "Picoplankton and Bacteria Abundance (CalCOFI Cruise)",
      "description": "Picophytoplankton (Prochlorococcus, Synechococcus, picoeukaryotes) and heterotrophic bacteria abundances analyzed by flow cytometry (FCM) from CCE-CalCOFI Augmented cruises in the California Current System, 2004-2023 (ongoing). Seawater collected from Niskin bottles at 3-8 depths per station; cells fixed shipboard with paraformaldehyde, stained with a DNA-specific dye, and enumerated on an Altra flow cytometer with dual argon-ion lasers.\n",
      "citation_main": "Landry, M. (2004-2023). Picoplankton and Bacteria Abundance (CalCOFI Cruise). CCE LTER.",
      "link_calcofi_org": null,
      "link_data_source": "https://oceaninformatics.ucsd.edu/datazoo/catalogs/ccelter/datasets/159",
      "coverage_temporal": "2004-11-02 to 2023-07-18 (ongoing)",
      "coverage_spatial": "CalCOFI grid (California Current Ecosystem)",
      "license": null,
      "pi_names": "Michael Landry",
      "tables": [
        "sample",
        "obs",
        "measurement_type"
      ],
      "workflow_url": "https://calcofi.io/workflows/ingest_cce-lter_picoplankton-bacteria.html",
      "coverage_temporal_observed": "2004-11 to 2023-07"
    },
    "cce-lter_zoodb": {
      "provider": "cce-lter",
      "dataset": "zoodb",
      "dataset_name": "ZooDB Holoplankton Community",
      "description": "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.\n",
      "citation_main": null,
      "link_calcofi_org": "https://calcofi.org/data/marine-ecosystem-data/zooplankton/",
      "link_data_source": "https://oceaninformatics.ucsd.edu/zoodb/",
      "coverage_temporal": "1951-03 to 2021-05",
      "coverage_spatial": "CalCOFI lines 60-93 (Southern + Central California)",
      "license": null,
      "pi_names": "Mark D. Ohman; Bertha Lavaniegos; Linsey Sala",
      "tables": [
        "sample",
        "obs",
        "taxon",
        "dataset_taxon",
        "measurement_type"
      ],
      "workflow_url": "https://calcofi.io/workflows/ingest_cce-lter_zoodb.html",
      "coverage_temporal_observed": "1951-03 to 2015-04"
    },
    "cce-lter_zooscan": {
      "provider": "cce-lter",
      "dataset": "zooscan",
      "dataset_name": "ZooScan PRPOOS Zooplankton",
      "description": "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).\n",
      "citation_main": null,
      "link_calcofi_org": "https://calcofi.org/data/marine-ecosystem-data/zooplankton/",
      "link_data_source": "https://oceaninformatics.ucsd.edu/zooscandb/",
      "coverage_temporal": "2005-07 to 2026-04",
      "coverage_spatial": "CalCOFI lines 80, 87, 90 (Southern California)",
      "license": null,
      "pi_names": "Mark D. Ohman; Marina Frants",
      "tables": [
        "sample",
        "obs",
        "taxon",
        "dataset_taxon",
        "measurement_type"
      ],
      "workflow_url": "https://calcofi.io/workflows/ingest_cce-lter_zooscan.html",
      "coverage_temporal_observed": "2005-07 to 2026-04"
    },
    "pic_zooplankton": {
      "provider": "pic",
      "dataset": "zooplankton",
      "dataset_name": "SIO PIC Zooplankton Net Tows",
      "description": "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).\n",
      "citation_main": null,
      "link_calcofi_org": null,
      "link_data_source": "SIO Pelagic Invertebrate Collection DB (CSV export)",
      "coverage_temporal": "1926 to present (CalCOFI-region subset)",
      "coverage_spatial": "CalCOFI grid (~23-51N, -135 to -117W incl. Baja)",
      "license": null,
      "pi_names": "Rasmus Swalethorp; Ed Weber; Linsey Sala",
      "tables": "sample",
      "workflow_url": "https://calcofi.io/workflows/ingest_pic_zooplankton.html",
      "coverage_temporal_observed": "1926-06 to 2024-04"
    },
    "swfsc_cufes": {
      "provider": "swfsc",
      "dataset": "cufes",
      "dataset_name": "CalCOFI Underway CUFES Fish Eggs",
      "description": "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.\n",
      "citation_main": null,
      "link_calcofi_org": null,
      "link_data_source": "https://coastwatch.pfeg.noaa.gov/erddap/tabledap/erdCalCOFIcufes.html",
      "coverage_temporal": "1996 to present",
      "coverage_spatial": "CalCOFI region (underway)",
      "license": null,
      "pi_names": "Noelle Bowlin",
      "tables": [
        "sample",
        "obs",
        "taxon",
        "dataset_taxon",
        "measurement_type"
      ],
      "workflow_url": "https://calcofi.io/workflows/ingest_swfsc_cufes.html",
      "coverage_temporal_observed": "1996-03 to 2022-04"
    },
    "swfsc_ichthyo": {
      "provider": "swfsc",
      "dataset": "ichthyo",
      "dataset_name": "SWFSC Ichthyoplankton",
      "description": "Ichthyoplankton (fish eggs and larvae) collected by bongo and manta net tows on CalCOFI cruises, processed by SWFSC.\n",
      "citation_main": "NOAA Fisheries SWFSC. CalCOFI Ichthyoplankton Database.",
      "link_calcofi_org": "https://calcofi.org/data/biology/ichthyoplankton/",
      "link_data_source": null,
      "coverage_temporal": "1951 to present",
      "coverage_spatial": "23-51\u00b0N, -170 to -117\u00b0W",
      "license": null,
      "pi_names": null,
      "tables": [
        "sample",
        "obs",
        "obs_attribute",
        "sample_measurement",
        "taxon",
        "dataset_taxon",
        "cruise",
        "ship",
        "lookup",
        "grid"
      ],
      "workflow_url": "https://calcofi.io/workflows/ingest_swfsc_ichthyo.html",
      "coverage_temporal_observed": "1951-01 to 2023-01"
    },
    "ucsd_sio_mesopelagic-fish": {
      "provider": "ucsd_sio",
      "dataset": "mesopelagic-fish",
      "dataset_name": "UCSD SIO Mesopelagic Fish",
      "description": "Species-resolved mesopelagic fish counts (90 named species + 1 unidentified-fish catch-all) from MOHT (Matsuda-Oozeki-Hu Trawl) micronekton net tows, 7 CalCOFI cruises 2010-2012, all on RV New Horizon (NODC 32NM). Larval-fish counts in the same source file are a separate table, not included here.\n",
      "citation_main": "Koslow, J. Anthony (2016). CalCOFI Trawl Data. In California Cooperative Oceanic Fisheries Investigations (CalCOFI): Acoustic and Trawl Data. UC San Diego Library Digital Collections. https://doi.org/10.6075/J0BZ64DH\n",
      "link_calcofi_org": null,
      "link_data_source": "https://library.ucsd.edu/dc/object/bb9217084g",
      "coverage_temporal": "2010-01 to 2012-02",
      "coverage_spatial": "CalCOFI grid (7 cruises with MOHT tows)",
      "license": "CC BY 4.0",
      "pi_names": "J. Anthony Koslow",
      "tables": [
        "sample",
        "obs",
        "taxon",
        "dataset_taxon",
        "measurement_type"
      ],
      "workflow_url": "https://calcofi.io/workflows/ingest_ucsd_sio_mesopelagic-fish.html",
      "coverage_temporal_observed": "2010-01 to 2012-02"
    }
  },
  "tables": {
    "sample": {
      "name_long": "Sample",
      "description_md": "One row per physical sampling event at its native grain (site, tow, net, cast, bottle, underway, transect, region pool). An adjacency list: `parent_sample_key` points at the containing event and `root_sample_key` at the top of the chain, so counting distinct events at any level is a single `GROUP BY`.",
      "provider": "ucsd_sio",
      "dataset": "mesopelagic-fish",
      "workflow": "https://calcofi.io/workflows/ingest_ucsd_sio_mesopelagic-fish.html"
    },
    "obs": {
      "name_long": "Observation",
      "description_md": "The occurrence-headline long table: one scalar measurement per row, environmental (`realm = 'env'`) and biological (`realm = 'bio'`) together. Biological taxon is the global `taxon_key`; sub-occurrence detail (length/stage bins, behavior) lives in `obs_attribute`, and event-level effort in `sample_measurement`.",
      "provider": "ucsd_sio",
      "dataset": "mesopelagic-fish",
      "workflow": "https://calcofi.io/workflows/ingest_ucsd_sio_mesopelagic-fish.html"
    },
    "obs_attribute": {
      "name_long": "Observation Attribute",
      "description_md": "Sub-occurrence attribution: the breakdown *within* an `obs` headline row. Covers numeric frequency distributions (length bins, stage numbers) and categorical breakdowns (seabird behavior). Counts here sum to the headline where the source is internally consistent.",
      "provider": "swfsc",
      "dataset": "ichthyo",
      "workflow": "https://calcofi.io/workflows/ingest_swfsc_ichthyo.html"
    },
    "taxon": {
      "name_long": "Taxon",
      "description_md": "One authoritative row per taxon, keyed by `taxon_key` = `worms:<AphiaID>` (or `itis:<TSN>` for birds). Replaces the per-dataset taxon tables; duplicates across datasets collapse to one row, with names and lineage coalesced by source priority.",
      "provider": "ucsd_sio",
      "dataset": "mesopelagic-fish",
      "workflow": "https://calcofi.io/workflows/ingest_ucsd_sio_mesopelagic-fish.html"
    },
    "dataset_taxon": {
      "name_long": "Dataset Taxon",
      "description_md": "Crosswalk from each dataset's own taxon vocabulary to the global `taxon_key`. `obs` resolves its taxon by joining this on (`dataset_key`, `ds_taxa_code`), so a dataset can keep its local codes without leaking them into the shared model.",
      "provider": "ucsd_sio",
      "dataset": "mesopelagic-fish",
      "workflow": "https://calcofi.io/workflows/ingest_ucsd_sio_mesopelagic-fish.html"
    },
    "taxon_group": {
      "name_long": "Taxon Group",
      "description_md": "Portable groupings of taxa (phytoplankton functional groups, seabirds, marine mammals). Many taxa per group; a taxon may belong to several.",
      "provider": "calcofi",
      "dataset": "phytoplankton",
      "workflow": "https://calcofi.io/workflows/ingest_calcofi_phytoplankton.html"
    },
    "dataset": {
      "name_long": "Dataset",
      "description_md": "",
      "provider": "ucsd_sio",
      "dataset": "mesopelagic-fish",
      "workflow": "https://calcofi.io/workflows/ingest_ucsd_sio_mesopelagic-fish.html"
    },
    "sample_measurement": {
      "name_long": "Sample Measurement",
      "description_md": "Event-level (effort) measurements: quantities that describe the sampling event itself rather than anything observed in it \u2014 net volume filtered, standard haul factor, proportion sorted, bottle cast conditions. Kept apart from `obs` so effort is never mistaken for an observation.",
      "provider": "swfsc",
      "dataset": "ichthyo",
      "workflow": "https://calcofi.io/workflows/ingest_swfsc_ichthyo.html"
    },
    "measurement_type": {
      "name_long": "Measurement Type",
      "description_md": "",
      "provider": "ucsd_sio",
      "dataset": "mesopelagic-fish",
      "workflow": "https://calcofi.io/workflows/ingest_ucsd_sio_mesopelagic-fish.html"
    },
    "obs_ctd_full": {
      "name_long": "Observation (Full CTD)",
      "description_md": "Supplemental full-resolution CTD scans, identical in shape to `obs`. Excluded from the default table list and the ERD because of its size; opt in with `cc_get_db(supplemental = TRUE)`. The default `obs` carries CTD via the adaptively thinned `ctd_thin`.",
      "provider": "calcofi",
      "dataset": "ctd-cast",
      "workflow": "https://calcofi.io/workflows/ingest_calcofi_ctd-cast.html",
      "supplemental": true
    },
    "region": {
      "name_long": "Region",
      "description_md": "The 4 pooled regions defined on the CalCOFI grid (Hayward & Venrick 1998), with member station codes and a provisional centroid (Q01).",
      "provider": "calcofi",
      "dataset": "phytoplankton",
      "workflow": "https://calcofi.io/workflows/ingest_calcofi_phytoplankton.html"
    },
    "grid": {
      "name_long": "Grid",
      "description_md": "CalCOFI survey grid polygons with standard and historical station patterns",
      "provider": "swfsc",
      "dataset": "ichthyo",
      "workflow": "https://calcofi.io/workflows/ingest_swfsc_ichthyo.html"
    },
    "cruise": {
      "name_long": "Cruise",
      "description_md": "unique by ship and year-month",
      "provider": "swfsc",
      "dataset": "ichthyo",
      "workflow": "https://calcofi.io/workflows/ingest_swfsc_ichthyo.html"
    },
    "ship": {
      "name_long": "Ship",
      "description_md": "unique ship with many cruises",
      "provider": "swfsc",
      "dataset": "ichthyo",
      "workflow": "https://calcofi.io/workflows/ingest_swfsc_ichthyo.html"
    },
    "lookup": {
      "name_long": "Lookup",
      "description_md": "Unified vocabulary lookup table for egg stages, larva stages, and tow types",
      "provider": "swfsc",
      "dataset": "ichthyo",
      "workflow": "https://calcofi.io/workflows/ingest_swfsc_ichthyo.html"
    },
    "_spatial": {
      "name_long": "Spatial Layers",
      "description_md": "Geometries for ancillary spatial layers (CA jurisdictions NOAA boundaries marine protected areas etc.) keyed by layer + feature_id. Sourced from metadata/spatial_layers.csv. Companion to _spatial_attr.",
      "provider": "calcofi",
      "dataset": "spatial"
    },
    "_spatial_attr": {
      "name_long": "Spatial Layer Attributes",
      "description_md": "Non-geometry attributes for features in _spatial in long form (layer feature_id attr_name attr_value). Allows attribute schemas to differ across layers without column proliferation.",
      "provider": "calcofi",
      "dataset": "spatial"
    }
  },
  "columns": {
    "dataset.provider": {
      "name_long": "Provider",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "dataset.dataset": {
      "name_long": "Dataset",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "dataset.dataset_name": {
      "name_long": "Dataset Name",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "dataset.description": {
      "name_long": "Description",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "dataset.citation_main": {
      "name_long": "Citation Main",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "dataset.citation_others": {
      "name_long": "Citation Others",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "dataset.link_calcofi_org": {
      "name_long": "Link Calcofi Org",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "dataset.link_data_source": {
      "name_long": "Link Data Source",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "dataset.link_others": {
      "name_long": "Link Others",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "dataset.tables": {
      "name_long": "Tables",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "dataset.coverage_temporal": {
      "name_long": "Coverage Temporal",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "dataset.coverage_spatial": {
      "name_long": "Coverage Spatial",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "dataset.license": {
      "name_long": "License",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "dataset.pi_names": {
      "name_long": "Pi Names",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "dataset_taxon.ds_taxon_key": {
      "name_long": "Dataset Taxon Key",
      "description_md": "Key of this crosswalk row, `<dataset-or-known-list>:<local code>`.",
      "data_type": "VARCHAR"
    },
    "dataset_taxon.dataset_key": {
      "name_long": "Dataset Key",
      "description_md": "The dataset whose vocabulary this row belongs to.",
      "data_type": "VARCHAR"
    },
    "dataset_taxon.taxon_key": {
      "name_long": "Taxon Key",
      "description_md": "The global taxon it resolves to; joins `taxon`.",
      "data_type": "VARCHAR"
    },
    "dataset_taxon.ds_scientific_name": {
      "name_long": "Dataset Scientific Name",
      "description_md": "Scientific name as the source dataset spells it.",
      "data_type": "VARCHAR"
    },
    "dataset_taxon.ds_common_name": {
      "name_long": "Dataset Common Name",
      "description_md": "Common name as the source dataset spells it.",
      "data_type": "VARCHAR"
    },
    "dataset_taxon.ds_taxa_code": {
      "name_long": "Dataset Taxa Code",
      "description_md": "The dataset's own code, as stored on its measurement rows.",
      "data_type": "VARCHAR"
    },
    "obs.obs_id": {
      "name_long": "Observation ID",
      "description_md": "Surrogate key, renumbered globally when the release concatenates the per-dataset shards.",
      "data_type": "BIGINT"
    },
    "obs.realm": {
      "name_long": "Realm",
      "description_md": "`env` for physical/chemical measurements, `bio` for organism observations.",
      "data_type": "VARCHAR"
    },
    "obs.dataset_key": {
      "name_long": "Dataset Key",
      "description_md": "Provenance stamp: `provider_dataset`.",
      "data_type": "VARCHAR"
    },
    "obs.sample_key": {
      "name_long": "Sample Key",
      "description_md": "The sampling event this observation came from; joins `sample`.",
      "data_type": "VARCHAR"
    },
    "obs.grid_key": {
      "name_long": "Grid Key",
      "description_md": "CalCOFI station grid cell, denormalized from `sample` so rollups need no join. NULL for region-pooled data.",
      "data_type": "VARCHAR"
    },
    "obs.cruise_key": {
      "name_long": "Cruise Key",
      "description_md": "Cruise, denormalized from `sample` so rollups need no join.",
      "data_type": "VARCHAR"
    },
    "obs.latitude": {
      "name_long": "Latitude",
      "units": "decimal degrees",
      "description_md": "Observation latitude (WGS84).",
      "data_type": "DOUBLE"
    },
    "obs.longitude": {
      "name_long": "Longitude",
      "units": "decimal degrees",
      "description_md": "Observation longitude (WGS84).",
      "data_type": "DOUBLE"
    },
    "obs.datetime": {
      "name_long": "Datetime",
      "description_md": "Observation time (UTC). NULL for region-pooled data with no event time.",
      "data_type": "TIMESTAMP"
    },
    "obs.depth_min_m": {
      "name_long": "Depth Min",
      "units": "m",
      "description_md": "Shallowest depth this observation represents.",
      "data_type": "DOUBLE"
    },
    "obs.depth_max_m": {
      "name_long": "Depth Max",
      "units": "m",
      "description_md": "Deepest depth this observation represents; equal to `depth_min_m` for point measurements (bottle, CTD scan).",
      "data_type": "DOUBLE"
    },
    "obs.taxon_key": {
      "name_long": "Taxon Key",
      "description_md": "Global taxon key, `worms:<AphiaID>` or `itis:<TSN>` for birds. NULL for `env` rows. Joins `taxon`.",
      "data_type": "VARCHAR"
    },
    "obs.life_stage": {
      "name_long": "Life Stage",
      "description_md": "Life stage where the source resolves one (larva, adult, juvenile, egg, phyllosoma).",
      "data_type": "VARCHAR"
    },
    "obs.measurement_type": {
      "name_long": "Measurement Type",
      "description_md": "Measured quantity; joins the `measurement_type` vocabulary.",
      "data_type": "VARCHAR"
    },
    "obs.measurement_value": {
      "name_long": "Measurement Value",
      "description_md": "The measured value, in the units `measurement_type` declares.",
      "data_type": "DOUBLE"
    },
    "obs.measurement_qual": {
      "name_long": "Measurement Qualifier",
      "description_md": "Source quality flag, verbatim.",
      "data_type": "VARCHAR"
    },
    "obs.measurement_prec": {
      "name_long": "Measurement Precision",
      "description_md": "Source-reported precision where available.",
      "data_type": "DOUBLE"
    },
    "obs.hex_id": {
      "name_long": "Hex ID",
      "description_md": "H3 cell at resolution 10, stored as UBIGINT. Aggregate coarser at query time with `h3_cell_to_parent(hex_id, res)` \u2014 there is no per-resolution column ladder.",
      "data_type": "UBIGINT"
    },
    "obs_attribute.obs_attribute_id": {
      "name_long": "Observation Attribute ID",
      "description_md": "Surrogate key.",
      "data_type": "BIGINT"
    },
    "obs_attribute.dataset_key": {
      "name_long": "Dataset Key",
      "description_md": "Provenance stamp: `provider_dataset`.",
      "data_type": "VARCHAR"
    },
    "obs_attribute.sample_key": {
      "name_long": "Sample Key",
      "description_md": "The sampling event; joins `sample`.",
      "data_type": "VARCHAR"
    },
    "obs_attribute.taxon_key": {
      "name_long": "Taxon Key",
      "description_md": "Global taxon key; joins `taxon`.",
      "data_type": "VARCHAR"
    },
    "obs_attribute.life_stage": {
      "name_long": "Life Stage",
      "description_md": "Life stage the attribution applies to.",
      "data_type": "VARCHAR"
    },
    "obs_attribute.measurement_type": {
      "name_long": "Measurement Type",
      "description_md": "The attribute being broken down: `body_length`, `stage` or `behavior`.",
      "data_type": "VARCHAR"
    },
    "obs_attribute.bin_value": {
      "name_long": "Bin Value",
      "description_md": "Numeric bin \u2014 length in mm, stage number. NULL for categorical attributes.",
      "data_type": "DOUBLE"
    },
    "obs_attribute.bin_label": {
      "name_long": "Bin Label",
      "description_md": "Category label \u2014 stage description, behavior name. NULL for purely numeric bins.",
      "data_type": "VARCHAR"
    },
    "obs_attribute.count": {
      "name_long": "Count",
      "units": "individuals",
      "description_md": "Number of individuals in this bin.",
      "data_type": "INTEGER"
    },
    "obs_attribute.measurement_qual": {
      "name_long": "Measurement Qualifier",
      "description_md": "Source quality flag, verbatim.",
      "data_type": "VARCHAR"
    },
    "sample.sample_key": {
      "name_long": "Sample Key",
      "description_md": "Globally unique event key, namespaced `dataset_key:sample_type:id` so the same integer id in two datasets \u2014 or at two event levels in one dataset \u2014 never collides.",
      "data_type": "VARCHAR"
    },
    "sample.sample_type": {
      "name_long": "Sample Type",
      "description_md": "Event grain: `site`, `tow`, `net`, `cast`, `bottle`, `underway`, `transect` or `region_pool`.",
      "data_type": "VARCHAR"
    },
    "sample.parent_sample_key": {
      "name_long": "Parent Sample Key",
      "description_md": "The containing event (net \u2192 tow \u2192 site; bottle \u2192 cast). NULL at the top of the chain. Flat adjacency list: attributes are not inherited.",
      "data_type": "VARCHAR"
    },
    "sample.root_sample_key": {
      "name_long": "Root Sample Key",
      "description_md": "Top of this event's containment chain; equals `sample_key` for single-level datasets. Use `count(DISTINCT root_sample_key)` to count stations/casts irrespective of grain.",
      "data_type": "VARCHAR"
    },
    "sample.dataset_key": {
      "name_long": "Dataset Key",
      "description_md": "Provenance stamp: `provider_dataset`.",
      "data_type": "VARCHAR"
    },
    "sample.grid_key": {
      "name_long": "Grid Key",
      "description_md": "CalCOFI station grid cell. NULL where the dataset has no station assignment (region-pooled phytoplankton).",
      "data_type": "VARCHAR"
    },
    "sample.site_key": {
      "name_long": "Site Key",
      "description_md": "CalCOFI station natural key as the source records it (line/station, e.g. `090.0 060.0`). Present on 13 of the 18 source event tables, so it is carried on the event dimension rather than lost to consolidation; `grid_key` is the derived grid cell, this is the source's own station id.",
      "data_type": "VARCHAR"
    },
    "sample.cruise_key": {
      "name_long": "Cruise Key",
      "description_md": "CalCOFI cruise natural key `YYYY-MM-NODC`.",
      "data_type": "VARCHAR"
    },
    "sample.order_occ": {
      "name_long": "Order of Occupation",
      "description_md": "Order in which the station was occupied on the cruise. Source spelling varies (`order_occ`, `ord_occ`) and CTD stores it as text; normalised to an integer here.",
      "data_type": "INTEGER"
    },
    "sample.latitude": {
      "name_long": "Latitude",
      "units": "decimal degrees",
      "description_md": "Event latitude (WGS84).",
      "data_type": "DOUBLE"
    },
    "sample.longitude": {
      "name_long": "Longitude",
      "units": "decimal degrees",
      "description_md": "Event longitude (WGS84).",
      "data_type": "DOUBLE"
    },
    "sample.datetime": {
      "name_long": "Datetime",
      "description_md": "Event start time (UTC).",
      "data_type": "TIMESTAMP"
    },
    "sample.depth_min_m": {
      "name_long": "Depth Min",
      "units": "m",
      "description_md": "Shallowest depth sampled by this event.",
      "data_type": "DOUBLE"
    },
    "sample.depth_max_m": {
      "name_long": "Depth Max",
      "units": "m",
      "description_md": "Deepest depth sampled by this event.",
      "data_type": "DOUBLE"
    },
    "sample.tow_type": {
      "name_long": "Tow Type",
      "description_md": "Net gear code where the dataset records one (C1/CB/CV/PV oblique or vertical, MT manta); NULL for gears and datasets without one. Needed to compute gear-appropriate CPUE.",
      "data_type": "VARCHAR"
    },
    "sample.geom": {
      "name_long": "Geometry",
      "description_md": "Point geometry minted from `longitude`/`latitude` (OGC:CRS84).",
      "data_type": "GEOMETRY('OGC:CRS84')"
    },
    "taxon.taxon_key": {
      "name_long": "Taxon Key",
      "description_md": "Global taxon key: lowercase authority prefix plus id, `worms:127023` or `itis:176754`.",
      "data_type": "VARCHAR"
    },
    "taxon.worms_id": {
      "name_long": "WoRMS ID",
      "description_md": "WoRMS AphiaID.",
      "data_type": "INTEGER"
    },
    "taxon.itis_id": {
      "name_long": "ITIS ID",
      "description_md": "ITIS Taxonomic Serial Number.",
      "data_type": "INTEGER"
    },
    "taxon.gbif_id": {
      "name_long": "GBIF ID",
      "description_md": "GBIF backbone taxon key.",
      "data_type": "INTEGER"
    },
    "taxon.ncbi_id": {
      "name_long": "NCBI ID",
      "description_md": "NCBI Taxonomy id.",
      "data_type": "INTEGER"
    },
    "taxon.inat_id": {
      "name_long": "iNaturalist ID",
      "description_md": "iNaturalist taxon id.",
      "data_type": "INTEGER"
    },
    "taxon.scientific_name": {
      "name_long": "Scientific Name",
      "description_md": "Accepted scientific name.",
      "data_type": "VARCHAR"
    },
    "taxon.common_name": {
      "name_long": "Common Name",
      "description_md": "Common name where one is recorded.",
      "data_type": "VARCHAR"
    },
    "taxon.rank": {
      "name_long": "Rank",
      "description_md": "Taxonomic rank.",
      "data_type": "VARCHAR"
    },
    "taxon.rank_order": {
      "name_long": "Rank Order",
      "description_md": "Ordinal for sorting ranks from kingdom down.",
      "data_type": "INTEGER"
    },
    "taxon.taxonomic_status": {
      "name_long": "Taxonomic Status",
      "description_md": "WoRMS status (accepted, unaccepted, ...).",
      "data_type": "VARCHAR"
    },
    "taxon.parent_taxon_key": {
      "name_long": "Parent Taxon Key",
      "description_md": "Lineage parent; walk this to expand a taxon to its descendants.",
      "data_type": "VARCHAR"
    },
    "taxon.kingdom": {
      "name_long": "Kingdom",
      "description_md": "Kingdom.",
      "data_type": "VARCHAR"
    },
    "taxon.phylum": {
      "name_long": "Phylum",
      "description_md": "Phylum.",
      "data_type": "VARCHAR"
    },
    "taxon.class": {
      "name_long": "Class",
      "description_md": "Class.",
      "data_type": "VARCHAR"
    },
    "taxon.order_taxon": {
      "name_long": "Order",
      "description_md": "Order (named `order_taxon` because `order` is a SQL keyword).",
      "data_type": "VARCHAR"
    },
    "taxon.family": {
      "name_long": "Family",
      "description_md": "Family.",
      "data_type": "VARCHAR"
    },
    "taxon_group.taxon_group_key": {
      "name_long": "Taxon Group Key",
      "description_md": "Group key, `<dataset-or-known-list>:<group>`.",
      "data_type": "VARCHAR"
    },
    "taxon_group.description": {
      "name_long": "Description",
      "description_md": "Human-readable description of the group.",
      "data_type": "VARCHAR"
    },
    "taxon_group.taxon_key": {
      "name_long": "Taxon Key",
      "description_md": "A member taxon; joins `taxon`.",
      "data_type": "VARCHAR"
    },
    "measurement_type.measurement_type": {
      "name_long": "Measurement Type",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "measurement_type.description": {
      "name_long": "Description",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "measurement_type.units": {
      "name_long": "Units",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "measurement_type.is_canonical": {
      "name_long": "Is Canonical",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "measurement_type._source_column": {
      "name_long": " Source Column",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "measurement_type._source_table": {
      "name_long": " Source Table",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "measurement_type._source_datasets": {
      "name_long": " Source Datasets",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "measurement_type._qual_column": {
      "name_long": " Qual Column",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "measurement_type._prec_column": {
      "name_long": " Prec Column",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "measurement_type.grain": {
      "name_long": "Grain",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "measurement_type.provider": {
      "name_long": "Provider",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "measurement_type.dataset": {
      "name_long": "Dataset",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "sample_measurement.sample_measurement_id": {
      "name_long": "Sample Measurement ID",
      "description_md": "Surrogate key.",
      "data_type": "BIGINT"
    },
    "sample_measurement.sample_key": {
      "name_long": "Sample Key",
      "description_md": "The sampling event this effort measurement describes; joins `sample`.",
      "data_type": "VARCHAR"
    },
    "sample_measurement.dataset_key": {
      "name_long": "Dataset Key",
      "description_md": "Provenance stamp: `provider_dataset`.",
      "data_type": "VARCHAR"
    },
    "sample_measurement.measurement_type": {
      "name_long": "Measurement Type",
      "description_md": "Measured quantity; joins the `measurement_type` vocabulary.",
      "data_type": "VARCHAR"
    },
    "sample_measurement.measurement_value": {
      "name_long": "Measurement Value",
      "description_md": "The measured value, in the units `measurement_type` declares.",
      "data_type": "DOUBLE"
    },
    "sample_measurement.measurement_qual": {
      "name_long": "Measurement Qualifier",
      "description_md": "Source quality flag, verbatim.",
      "data_type": "VARCHAR"
    },
    "obs_ctd_full.obs_id": {
      "name_long": "Obs Id",
      "units": null,
      "description_md": "",
      "data_type": "BIGINT"
    },
    "obs_ctd_full.realm": {
      "name_long": "Realm",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "obs_ctd_full.dataset_key": {
      "name_long": "Dataset Key",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "obs_ctd_full.sample_key": {
      "name_long": "Sample Key",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "obs_ctd_full.grid_key": {
      "name_long": "Grid Key",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "obs_ctd_full.cruise_key": {
      "name_long": "Cruise Key",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "obs_ctd_full.latitude": {
      "name_long": "Latitude",
      "units": null,
      "description_md": "",
      "data_type": "DOUBLE"
    },
    "obs_ctd_full.longitude": {
      "name_long": "Longitude",
      "units": null,
      "description_md": "",
      "data_type": "DOUBLE"
    },
    "obs_ctd_full.datetime": {
      "name_long": "Datetime",
      "units": null,
      "description_md": "",
      "data_type": "TIMESTAMP"
    },
    "obs_ctd_full.depth_min_m": {
      "name_long": "Depth Min M",
      "units": null,
      "description_md": "",
      "data_type": "DOUBLE"
    },
    "obs_ctd_full.depth_max_m": {
      "name_long": "Depth Max M",
      "units": null,
      "description_md": "",
      "data_type": "DOUBLE"
    },
    "obs_ctd_full.taxon_key": {
      "name_long": "Taxon Key",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "obs_ctd_full.life_stage": {
      "name_long": "Life Stage",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "obs_ctd_full.measurement_type": {
      "name_long": "Measurement Type",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "obs_ctd_full.measurement_value": {
      "name_long": "Measurement Value",
      "units": null,
      "description_md": "",
      "data_type": "DOUBLE"
    },
    "obs_ctd_full.measurement_qual": {
      "name_long": "Measurement Qual",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "obs_ctd_full.measurement_prec": {
      "name_long": "Measurement Prec",
      "units": null,
      "description_md": "",
      "data_type": "DOUBLE"
    },
    "obs_ctd_full.hex_id": {
      "name_long": "Hex Id",
      "units": null,
      "description_md": "",
      "data_type": "UBIGINT"
    },
    "region.region_key": {
      "name_long": "Region",
      "description_md": "Pooled-region code: NE, SE, Alley, or Offshore (primary key).",
      "data_type": "VARCHAR"
    },
    "region.description": {
      "name_long": "Description",
      "description_md": "Region description (Northern Inshore, Southern Inshore, California Current, Central Pacific).",
      "data_type": "VARCHAR"
    },
    "region.latitude": {
      "name_long": "Latitude",
      "units": "decimal degrees",
      "description_md": "Provisional region centroid latitude (mean of member CalCOFI stations; Q01).",
      "data_type": "DOUBLE"
    },
    "region.longitude": {
      "name_long": "Longitude",
      "units": "decimal degrees",
      "description_md": "Provisional region centroid longitude (mean of member CalCOFI stations; Q01).",
      "data_type": "DOUBLE"
    },
    "region.n_stations": {
      "name_long": "Number of Stations",
      "description_md": "Count of CalCOFI grid stations defining the region.",
      "data_type": "INTEGER"
    },
    "region.station_codes": {
      "name_long": "Station Codes",
      "description_md": "Member CalCOFI line.station codes (Hayward & Venrick 1998).",
      "data_type": "VARCHAR"
    },
    "cruise.cruise_uuid": {
      "name_long": "Cruise Uuid",
      "units": null,
      "description_md": "CalCOFI species identifier, primary key in species table",
      "data_type": "UUID"
    },
    "cruise.date_ym": {
      "name_long": "Date Ym",
      "units": null,
      "description_md": "",
      "data_type": "DATE"
    },
    "cruise.ship_key": {
      "name_long": "Ship Key",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "cruise._source_file": {
      "name_long": " Source File",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "cruise._source_row": {
      "name_long": " Source Row",
      "units": null,
      "description_md": "",
      "data_type": "INTEGER"
    },
    "cruise._ingested_at": {
      "name_long": " Ingested At",
      "units": null,
      "description_md": "",
      "data_type": "TIMESTAMP"
    },
    "cruise._source_uuid": {
      "name_long": " Source Uuid",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "cruise.cruise_key": {
      "name_long": "Cruise Key",
      "description_md": "Natural primary key in YYMMKK format (2-digit year + 2-digit month + ship_key)",
      "data_type": "VARCHAR"
    },
    "grid.grid_key": {
      "name_long": "Grid Key",
      "description_md": "Natural primary key (e.g. st60-ln80 or st60-ln80_hist for historical)",
      "data_type": "VARCHAR"
    },
    "grid.station": {
      "name_long": "Station",
      "description_md": "Offshore component of CalCOFI coordinate system",
      "data_type": "DOUBLE"
    },
    "grid.line": {
      "name_long": "Line",
      "description_md": "Alongshore component of CalCOFI coordinate system",
      "data_type": "DOUBLE"
    },
    "grid.shore": {
      "name_long": "Shore",
      "description_md": "Shore classification (nearshore, offshore, etc.)",
      "data_type": "VARCHAR"
    },
    "grid.pattern": {
      "name_long": "Pattern",
      "description_md": "Station pattern: 'standard' or 'historical'",
      "data_type": "VARCHAR"
    },
    "grid.spacing": {
      "name_long": "Spacing",
      "description_md": "Station spacing in nautical miles",
      "data_type": "INTEGER"
    },
    "grid.zone": {
      "name_long": "Zone",
      "description_md": "Combined shore-pattern zone label",
      "data_type": "VARCHAR"
    },
    "grid.area_km2": {
      "name_long": "Area",
      "units": "km^2",
      "description_md": "Grid cell area",
      "data_type": "DOUBLE"
    },
    "grid.geom": {
      "name_long": "Geometry",
      "description_md": "Polygon geometry (WGS84 EPSG:4326) of grid cell",
      "data_type": "GEOMETRY"
    },
    "grid.geom_ctr": {
      "name_long": "Geometry Center",
      "description_md": "Point geometry (WGS84 EPSG:4326) of grid cell centroid",
      "data_type": "GEOMETRY"
    },
    "lookup.lookup_id": {
      "name_long": "Lookup ID",
      "description_md": "Sequential integer primary key",
      "data_type": "INTEGER"
    },
    "lookup.lookup_type": {
      "name_long": "Lookup Type",
      "description_md": "Category: 'egg_stage', 'larva_stage', or 'tow_type'",
      "data_type": "VARCHAR"
    },
    "lookup.lookup_num": {
      "name_long": "Lookup Number",
      "description_md": "Numeric code for the lookup value",
      "data_type": "INTEGER"
    },
    "lookup.lookup_chr": {
      "name_long": "Lookup Character",
      "description_md": "Character code for the lookup value (e.g. YOLK, PREF)",
      "data_type": "VARCHAR"
    },
    "lookup.description": {
      "name_long": "Description",
      "description_md": "Human-readable description of the lookup value",
      "data_type": "VARCHAR"
    },
    "lookup._source_file": {
      "name_long": " Source File",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "lookup._source_row": {
      "name_long": " Source Row",
      "units": null,
      "description_md": "",
      "data_type": "INTEGER"
    },
    "lookup._ingested_at": {
      "name_long": " Ingested At",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "lookup._source_uuid": {
      "name_long": " Source Uuid",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "ship.ship_key": {
      "name_long": "Ship Key",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "ship.ship_name": {
      "name_long": "Ship Name",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "ship.ship_nodc": {
      "name_long": "Ship Nodc",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "ship._source_file": {
      "name_long": " Source File",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "ship._source_row": {
      "name_long": " Source Row",
      "units": null,
      "description_md": "",
      "data_type": "INTEGER"
    },
    "ship._ingested_at": {
      "name_long": " Ingested At",
      "units": null,
      "description_md": "",
      "data_type": "TIMESTAMP"
    },
    "ship._source_uuid": {
      "name_long": " Source Uuid",
      "units": null,
      "description_md": "",
      "data_type": "VARCHAR"
    },
    "cruise.year": {
      "name_long": "Year",
      "units": null,
      "description_md": "Cruise year extracted from date_ym.",
      "data_type": "INTEGER"
    },
    "cruise.month": {
      "name_long": "Month",
      "units": null,
      "description_md": "Cruise month extracted from date_ym.",
      "data_type": "INTEGER"
    },
    "cruise.ship_name": {
      "name_long": "Ship Name",
      "units": null,
      "description_md": "Ship name as resolved against NODC ship registry.",
      "data_type": "VARCHAR"
    },
    "cruise.ship_nodc": {
      "name_long": "Ship NODC",
      "units": null,
      "description_md": "NODC ship code.",
      "data_type": "VARCHAR"
    },
    "cruise.ichthyo": {
      "name_long": "Ichthyo Sites",
      "units": "count",
      "description_md": "Distinct sites sampled by SWFSC ichthyo on this cruise.",
      "data_type": "BIGINT"
    },
    "cruise.bottle": {
      "name_long": "Bottle Sites",
      "units": "count",
      "description_md": "Distinct sites sampled by CalCOFI bottle casts on this cruise.",
      "data_type": "BIGINT"
    },
    "cruise.ctd_cast": {
      "name_long": "CTD Sites",
      "units": "count",
      "description_md": "Distinct sites sampled by CTD casts on this cruise.",
      "data_type": "BIGINT"
    },
    "cruise.dic": {
      "name_long": "DIC Sites",
      "units": "count",
      "description_md": "Distinct sites with NCEI DIC samples on this cruise.",
      "data_type": "BIGINT"
    },
    "_spatial.layer": {
      "name_long": "Layer",
      "units": null,
      "description_md": "Spatial layer slug from metadata/spatial_layers.csv (e.g. ca_county_boundaries).",
      "data_type": "VARCHAR"
    },
    "_spatial.feature_id": {
      "name_long": "Feature ID",
      "units": null,
      "description_md": "Stable feature identifier within the layer."
    },
    "_spatial.geom": {
      "name_long": "Geometry",
      "units": null,
      "description_md": "Feature geometry in WGS84 (EPSG:4326).",
      "data_type": "GEOMETRY"
    },
    "_spatial_attr.layer": {
      "name_long": "Layer",
      "units": null,
      "description_md": "Spatial layer slug matching _spatial.layer.",
      "data_type": "VARCHAR"
    },
    "_spatial_attr.feature_id": {
      "name_long": "Feature ID",
      "units": null,
      "description_md": "Feature identifier matching _spatial.feature_id."
    },
    "_spatial_attr.attr_name": {
      "name_long": "Attribute Name",
      "units": null,
      "description_md": "Source-attribute column name."
    },
    "_spatial_attr.attr_value": {
      "name_long": "Attribute Value",
      "units": null,
      "description_md": "Source-attribute value cast to text."
    },
    "obs.taxon_id": {
      "name_long": "Taxon ID",
      "units": null,
      "description_md": "Taxon identifier for biological rows (nullable; NULL when the taxon is encoded in measurement_type)."
    },
    "dataset.dataset_key": {
      "data_type": "VARCHAR"
    },
    "_spatial.id": {
      "data_type": "INTEGER"
    },
    "_spatial.name": {
      "data_type": "VARCHAR"
    },
    "_spatial_attr.id": {
      "data_type": "INTEGER"
    },
    "_spatial_attr.fld": {
      "data_type": "VARCHAR"
    },
    "_spatial_attr.val_dbl": {
      "data_type": "DOUBLE"
    },
    "_spatial_attr.val_int": {
      "data_type": "INTEGER"
    },
    "_spatial_attr.val_chr": {
      "data_type": "VARCHAR"
    },
    "_spatial_attr.val_date": {
      "data_type": "DATE"
    },
    "_spatial_attr.val_lgl": {
      "data_type": "BOOLEAN"
    }
  },
  "measurement_types": {
    "abundance": {
      "description": "Specimen count per net tow (headline occurrence; standardize via std_haul_factor)",
      "units": "count",
      "is_canonical": true,
      "datasets": [
        "calcofi_phyllosoma",
        "swfsc_cufes",
        "swfsc_ichthyo",
        "ucsd_sio_mesopelagic-fish"
      ]
    },
    "air_temp_c": {
      "description": "Air temperature",
      "units": "deg_C",
      "is_canonical": true,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "alkalinity": {
      "description": "Total alkalinity",
      "units": "umol/kg",
      "is_canonical": true,
      "datasets": [
        "calcofi_dic"
      ]
    },
    "alkalinity_rep1": {
      "description": "Total alkalinity replicate 1",
      "units": "umol/kg",
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "alkalinity_rep2": {
      "description": "Total alkalinity replicate 2",
      "units": "umol/kg",
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "ammonia": {
      "description": "Ammonia concentration (QC'd)",
      "units": "umol/L",
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "anchovy_eggs": {
      "description": "Northern anchovy egg count",
      "units": "count",
      "is_canonical": false,
      "datasets": [
        "swfsc_cufes"
      ]
    },
    "atm_pressure_mb": {
      "description": "Atmospheric pressure (ship level)",
      "units": "mb",
      "is_canonical": true,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "atm_pressure_slc_mb": {
      "description": "Atmospheric pressure (sea-level corrected)",
      "units": "mb",
      "is_canonical": false,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "barometric_pressure": {
      "description": "Barometric pressure",
      "units": "millibars",
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "beam_attenuation": {
      "description": "Beam attenuation coefficient",
      "units": "1/m",
      "is_canonical": true,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "behavior": {
      "description": "Seabird/marine-mammal behavior category (obs_attribute; e.g. Flying, Feeding)",
      "units": null,
      "is_canonical": true,
      "datasets": [
        "calcofi_bird_mammal_census"
      ]
    },
    "body_length": {
      "description": "Larva body length (obs_freq binned attribute)",
      "units": "mm",
      "is_canonical": true,
      "datasets": [
        "swfsc_ichthyo"
      ]
    },
    "bottom_depth": {
      "description": "Water depth at the sampling event (sea floor depth beneath the cast)",
      "units": "m",
      "is_canonical": false,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "bottom_depth_m": {
      "description": "Bottom depth (single-beam)",
      "units": "m",
      "is_canonical": true,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "bottom_depth_mb_m": {
      "description": "Bottom depth (multibeam)",
      "units": "m",
      "is_canonical": false,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "btl_ammonium": {
      "description": "Bottle ammonium",
      "units": "umol/L",
      "is_canonical": true,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "btl_chlorophyll_a": {
      "description": "Bottle chlorophyll-a",
      "units": "ug/L",
      "is_canonical": false,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "btl_depth": {
      "description": "Bottle trip depth",
      "units": "m",
      "is_canonical": false,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "btl_nitrate": {
      "description": "Bottle nitrate",
      "units": "umol/L",
      "is_canonical": false,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "btl_nitrite": {
      "description": "Bottle nitrite",
      "units": "umol/L",
      "is_canonical": false,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "btl_phaeopigment": {
      "description": "Bottle phaeopigment",
      "units": "ug/L",
      "is_canonical": false,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "btl_phosphate": {
      "description": "Bottle phosphate",
      "units": "umol/L",
      "is_canonical": false,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "btl_silicate": {
      "description": "Bottle silicate",
      "units": "umol/L",
      "is_canonical": false,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "btl_temperature": {
      "description": "Bottle temperature",
      "units": "degC",
      "is_canonical": false,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "c14_dark": {
      "description": "14C assimilation dark/control bottle",
      "units": "mgC/m3/hld",
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "c14_mean": {
      "description": "Mean 14C assimilation of replicates 1 and 2",
      "units": "mgC/m3/hld",
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "c14_rep1": {
      "description": "14C assimilation replicate 1",
      "units": "mgC/m3/hld",
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "c14_rep2": {
      "description": "14C assimilation replicate 2",
      "units": "mgC/m3/hld",
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "chl_fluor": {
      "description": "Fluorescence (calibrated)",
      "units": "ug/L",
      "is_canonical": true,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "chlorophyll_a": {
      "description": "Chlorophyll-a measured fluorometrically",
      "units": "ug/L",
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "cloud_amount": {
      "description": "Cloud amount in oktas (WMO 2700)",
      "units": "oktas",
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "cloud_type": {
      "description": "WMO cloud type code (WMO 0500)",
      "units": null,
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "count": {
      "description": "Organism count per survey transect",
      "units": "count",
      "is_canonical": true,
      "datasets": [
        "calcofi_bird_mammal_census"
      ]
    },
    "ctdtemp_its90": {
      "description": "CTD temperature (ITS-90 scale)",
      "units": "degC",
      "is_canonical": true,
      "datasets": [
        "calcofi_dic"
      ]
    },
    "dic": {
      "description": "Dissolved inorganic carbon",
      "units": "umol/kg",
      "is_canonical": true,
      "datasets": [
        "calcofi_dic"
      ]
    },
    "dic_pco2_raw": {
      "description": "Underway DIC raw pCO2",
      "units": null,
      "is_canonical": false,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "dic_ph_raw": {
      "description": "Underway DIC raw pH",
      "units": null,
      "is_canonical": false,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "dic_rep1": {
      "description": "Dissolved inorganic carbon replicate 1",
      "units": "umol/kg",
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "dic_rep2": {
      "description": "Dissolved inorganic carbon replicate 2",
      "units": "umol/kg",
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "dic_salinity_psu": {
      "description": "Underway DIC system salinity",
      "units": "PSU",
      "is_canonical": false,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "dic_temp_c": {
      "description": "Underway DIC system temperature",
      "units": "deg_C",
      "is_canonical": false,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "dic_valve": {
      "description": "Underway DIC valve state",
      "units": null,
      "is_canonical": false,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "dry_air_temp": {
      "description": "Dry air temperature from sling psychrometer",
      "units": "degC",
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "dynamic_height": {
      "description": "Dynamic height",
      "units": "dyn m",
      "is_canonical": true,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "est_chlorophyll_a_cruise_corr": {
      "description": "Est. chlorophyll-a cruise-corrected",
      "units": "ug/L",
      "is_canonical": false,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "est_chlorophyll_a_sta_corr": {
      "description": "Est. chlorophyll-a station-corrected",
      "units": "ug/L",
      "is_canonical": false,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "est_nitrate_cruise_corr": {
      "description": "Est. nitrate cruise-corrected",
      "units": "umol/L",
      "is_canonical": false,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "est_nitrate_sta_corr": {
      "description": "Est. nitrate station-corrected",
      "units": "umol/L",
      "is_canonical": false,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "euphausiid_abundance": {
      "description": "Euphausiid (krill) abundance per net tow, by species and life stage; vertically integrated individuals beneath 1 m2 of sea surface (EDI knb-lter-cce.313.1).",
      "units": "numberPerMeterSquared",
      "is_canonical": true,
      "datasets": [
        "cce-lter_euphausiids"
      ]
    },
    "fluorescence_v": {
      "description": "Fluorescence voltage",
      "units": "V",
      "is_canonical": true,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "hake_eggs": {
      "description": "Pacific hake egg count",
      "units": "count",
      "is_canonical": false,
      "datasets": [
        "swfsc_cufes"
      ]
    },
    "het_bacteria": {
      "description": "Heterotrophic bacteria abundance (FCM)",
      "units": "number/ml",
      "is_canonical": true,
      "datasets": [
        "cce-lter_picoplankton-bacteria"
      ]
    },
    "isus_v": {
      "description": "ISUS nitrate voltage",
      "units": "V",
      "is_canonical": true,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "jack_mackerel_eggs": {
      "description": "Jack mackerel egg count",
      "units": "count",
      "is_canonical": false,
      "datasets": [
        "swfsc_cufes"
      ]
    },
    "light_pct": {
      "description": "Light intensity of incubation tubes",
      "units": "%",
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "long_wave_rad": {
      "description": "Longwave radiation",
      "units": "W/m2",
      "is_canonical": true,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "nitrate": {
      "description": "Nitrate concentration",
      "units": "umol/L",
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "nitrite": {
      "description": "Nitrite concentration",
      "units": "umol/L",
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "other_fish_eggs": {
      "description": "Other fish egg count",
      "units": "count",
      "is_canonical": false,
      "datasets": [
        "swfsc_cufes"
      ]
    },
    "oxygen": {
      "description": "Dissolved oxygen",
      "units": null,
      "is_canonical": true,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "oxygen_btl_ml_l": {
      "description": "Bottle dissolved oxygen",
      "units": "ml/L",
      "is_canonical": false,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "oxygen_btl_umol_kg": {
      "description": "Bottle dissolved oxygen",
      "units": "umol/kg",
      "is_canonical": false,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "oxygen_ml_l": {
      "description": "Dissolved oxygen (QC'd)",
      "units": "ml/L",
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "oxygen_ml_l_1": {
      "description": "Dissolved oxygen sensor 1",
      "units": "ml/L",
      "is_canonical": false,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "oxygen_ml_l_1_cruise_corr": {
      "description": "DO sensor 1 cruise-corrected",
      "units": "ml/L",
      "is_canonical": false,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "oxygen_ml_l_1_sta_corr": {
      "description": "DO sensor 1 station-corrected",
      "units": "ml/L",
      "is_canonical": false,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "oxygen_ml_l_2": {
      "description": "Dissolved oxygen sensor 2",
      "units": "ml/L",
      "is_canonical": false,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "oxygen_ml_l_2_cruise_corr": {
      "description": "DO sensor 2 cruise-corrected",
      "units": "ml/L",
      "is_canonical": false,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "oxygen_ml_l_2_sta_corr": {
      "description": "DO sensor 2 station-corrected",
      "units": "ml/L",
      "is_canonical": false,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "oxygen_ml_l_ave_sta_corr": {
      "description": "DO average station-corrected",
      "units": "ml/L",
      "is_canonical": true,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "oxygen_sat_pct": {
      "description": "Dissolved oxygen saturation",
      "units": "percent",
      "is_canonical": false,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "oxygen_saturation": {
      "description": "Oxygen percent saturation",
      "units": "%",
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "oxygen_saturation_1": {
      "description": "Oxygen saturation sensor 1",
      "units": "%",
      "is_canonical": false,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "oxygen_saturation_2": {
      "description": "Oxygen saturation sensor 2",
      "units": "%",
      "is_canonical": false,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "oxygen_temp_c": {
      "description": "Oxygen sensor temperature",
      "units": "deg_C",
      "is_canonical": false,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "oxygen_umol_kg": {
      "description": "Dissolved oxygen (QC'd)",
      "units": "umol/kg",
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "oxygen_umol_kg_1": {
      "description": "DO sensor 1",
      "units": "umol/kg",
      "is_canonical": false,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "oxygen_umol_kg_1_cruise_corr": {
      "description": "DO sensor 1 cruise-corrected",
      "units": "umol/kg",
      "is_canonical": false,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "oxygen_umol_kg_1_sta_corr": {
      "description": "DO sensor 1 station-corrected",
      "units": "umol/kg",
      "is_canonical": false,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "oxygen_umol_kg_2": {
      "description": "DO sensor 2",
      "units": "umol/kg",
      "is_canonical": false,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "oxygen_umol_kg_2_cruise_corr": {
      "description": "DO sensor 2 cruise-corrected",
      "units": "umol/kg",
      "is_canonical": false,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "oxygen_umol_kg_2_sta_corr": {
      "description": "DO sensor 2 station-corrected",
      "units": "umol/kg",
      "is_canonical": false,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "oxygen_umol_kg_ave_sta_corr": {
      "description": "DO average station-corrected",
      "units": "umol/kg",
      "is_canonical": true,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "par": {
      "description": "Photosynthetically active radiation",
      "units": "uE/m2/s",
      "is_canonical": true,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "par_surf": {
      "description": "Surface photosynthetically active radiation",
      "units": null,
      "is_canonical": true,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "ph": {
      "description": "pH",
      "units": "pH",
      "is_canonical": true,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "ph_rep1": {
      "description": "pH replicate 1",
      "units": "pH",
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "ph_rep2": {
      "description": "pH replicate 2",
      "units": "pH",
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "phaeopigment": {
      "description": "Phaeopigment measured fluorometrically",
      "units": "ug/L",
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "phosphate": {
      "description": "Phosphate concentration",
      "units": "umol/L",
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "phyllosoma_stage_1": {
      "description": "Phyllosoma stage 1 count",
      "units": "count",
      "is_canonical": false,
      "datasets": [
        "calcofi_phyllosoma"
      ]
    },
    "phyllosoma_stage_10": {
      "description": "Phyllosoma stage 10 count",
      "units": "count",
      "is_canonical": false,
      "datasets": [
        "calcofi_phyllosoma"
      ]
    },
    "phyllosoma_stage_11": {
      "description": "Phyllosoma stage 11 count",
      "units": "count",
      "is_canonical": false,
      "datasets": [
        "calcofi_phyllosoma"
      ]
    },
    "phyllosoma_stage_2": {
      "description": "Phyllosoma stage 2 count",
      "units": "count",
      "is_canonical": false,
      "datasets": [
        "calcofi_phyllosoma"
      ]
    },
    "phyllosoma_stage_3": {
      "description": "Phyllosoma stage 3 count",
      "units": "count",
      "is_canonical": false,
      "datasets": [
        "calcofi_phyllosoma"
      ]
    },
    "phyllosoma_stage_4": {
      "description": "Phyllosoma stage 4 count",
      "units": "count",
      "is_canonical": false,
      "datasets": [
        "calcofi_phyllosoma"
      ]
    },
    "phyllosoma_stage_5": {
      "description": "Phyllosoma stage 5 count",
      "units": "count",
      "is_canonical": false,
      "datasets": [
        "calcofi_phyllosoma"
      ]
    },
    "phyllosoma_stage_6": {
      "description": "Phyllosoma stage 6 count",
      "units": "count",
      "is_canonical": false,
      "datasets": [
        "calcofi_phyllosoma"
      ]
    },
    "phyllosoma_stage_7": {
      "description": "Phyllosoma stage 7 count",
      "units": "count",
      "is_canonical": false,
      "datasets": [
        "calcofi_phyllosoma"
      ]
    },
    "phyllosoma_stage_8": {
      "description": "Phyllosoma stage 8 count",
      "units": "count",
      "is_canonical": false,
      "datasets": [
        "calcofi_phyllosoma"
      ]
    },
    "phyllosoma_stage_9": {
      "description": "Phyllosoma stage 9 count",
      "units": "count",
      "is_canonical": false,
      "datasets": [
        "calcofi_phyllosoma"
      ]
    },
    "phytoplankton_abundance": {
      "description": "Phytoplankton abundance by inverted-microscope count (cells/L)",
      "units": "cells/L",
      "is_canonical": false,
      "datasets": [
        "calcofi_phytoplankton"
      ]
    },
    "picoeukaryotes": {
      "description": "Picoeukaryote abundance (FCM)",
      "units": "number/ml",
      "is_canonical": true,
      "datasets": [
        "cce-lter_picoplankton-bacteria"
      ]
    },
    "potential_temperature_1": {
      "description": "Potential temperature sensor 1",
      "units": "degC",
      "is_canonical": false,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "potential_temperature_2": {
      "description": "Potential temperature sensor 2",
      "units": "degC",
      "is_canonical": false,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "pred_chl": {
      "description": "Estimated chlorophyll-a",
      "units": "ug/L",
      "is_canonical": false,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "pred_sal_psu": {
      "description": "Model-predicted salinity",
      "units": null,
      "is_canonical": false,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "pred_sst_c": {
      "description": "Model-predicted sea-surface temperature (distinct from Pred_TSGTemp)",
      "units": null,
      "is_canonical": false,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "pred_temp_c": {
      "description": "Model-predicted temperature",
      "units": null,
      "is_canonical": false,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "pressure": {
      "description": "Pressure",
      "units": "dbar",
      "is_canonical": true,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "prochlorococcus": {
      "description": "Prochlorococcus abundance (FCM); ~80% populated, see Q01",
      "units": "number/ml",
      "is_canonical": true,
      "datasets": [
        "cce-lter_picoplankton-bacteria"
      ]
    },
    "prop_sorted": {
      "description": "Fraction of the sample sorted (event-level effort)",
      "units": "dimensionless",
      "is_canonical": true,
      "datasets": [
        "swfsc_ichthyo"
      ]
    },
    "r_ammonium": {
      "description": "Reported ammonium concentration (pre-QC)",
      "units": "umol/L",
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "r_depth": {
      "description": "Reported depth from pressure (pre-QC)",
      "units": "m",
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "r_dynamic_height": {
      "description": "Reported dynamic height (no QC'd counterpart)",
      "units": "dyn m",
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "r_oxygen_umol_kg": {
      "description": "Reported oxygen (pre-QC)",
      "units": "umol/kg",
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "r_salinity_sva": {
      "description": "Reported Specific Volume Anomaly (pre-QC); WARNING: different parameter/scale than salinity PSS-78",
      "units": "10^-8 m3/kg",
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "r_temperature": {
      "description": "Reported potential temperature (pre-QC)",
      "units": "degC",
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "rel_humidity_pct": {
      "description": "Relative humidity",
      "units": "percent",
      "is_canonical": true,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "salinity": {
      "description": "Salinity - Practical Salinity Scale 1978 (QC'd)",
      "units": "PSS-78",
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "salinity_1": {
      "description": "Salinity sensor 1",
      "units": "PSU",
      "is_canonical": false,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "salinity_1_corr": {
      "description": "Salinity sensor 1 cruise-corrected",
      "units": "PSU",
      "is_canonical": false,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "salinity_2": {
      "description": "Salinity sensor 2",
      "units": "PSU",
      "is_canonical": false,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "salinity_2_corr": {
      "description": "Salinity sensor 2 cruise-corrected",
      "units": "PSU",
      "is_canonical": false,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "salinity_ave_corr": {
      "description": "Average salinity corrected",
      "units": "PSU",
      "is_canonical": true,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "salinity_btl": {
      "description": "Bottle salinity",
      "units": "PSU",
      "is_canonical": false,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "salinity_pss78": {
      "description": "Practical salinity (PSS-78)",
      "units": "PSS-78",
      "is_canonical": true,
      "datasets": [
        "calcofi_dic"
      ]
    },
    "sardine_eggs": {
      "description": "Sardine egg count",
      "units": "count",
      "is_canonical": false,
      "datasets": [
        "swfsc_cufes"
      ]
    },
    "secchi_depth": {
      "description": "Secchi disk depth",
      "units": "meters",
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "short_wave_rad": {
      "description": "Shortwave radiation",
      "units": "W/m2",
      "is_canonical": true,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "sigma_theta": {
      "description": "Potential density (Sigma Theta)",
      "units": "kg/m3",
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "sigma_theta_1": {
      "description": "Potential density sensor 1",
      "units": "kg/m3",
      "is_canonical": true,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "sigma_theta_2": {
      "description": "Potential density sensor 2",
      "units": "kg/m3",
      "is_canonical": false,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "silicate": {
      "description": "Silicate concentration",
      "units": "umol/L",
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "small_plankton_biomass": {
      "description": "Small plankton displacement-volume biomass (event-level)",
      "units": "mL",
      "is_canonical": true,
      "datasets": [
        "swfsc_ichthyo"
      ]
    },
    "spar": {
      "description": "Surface PAR",
      "units": "uE/m2/s",
      "is_canonical": true,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "specific_volume_anomaly": {
      "description": "Specific volume anomaly",
      "units": "10^-8 m3/kg",
      "is_canonical": true,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "squid_eggs": {
      "description": "Squid egg count",
      "units": "count",
      "is_canonical": false,
      "datasets": [
        "swfsc_cufes"
      ]
    },
    "ss_conductivity": {
      "description": "Sea surface conductivity (independent sensor)",
      "units": "S/m",
      "is_canonical": false,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "sss_psu": {
      "description": "Sea surface salinity (raw)",
      "units": "PSU",
      "is_canonical": true,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "sss_psu_corrected": {
      "description": "Corrected sea surface salinity",
      "units": "PSU",
      "is_canonical": false,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "sst_c": {
      "description": "Sea surface temperature (raw)",
      "units": "deg_C",
      "is_canonical": true,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "sst_c_corrected": {
      "description": "Corrected sea surface temperature",
      "units": "deg_C",
      "is_canonical": false,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "stage": {
      "description": "Egg or larva developmental stage (obs_freq binned attribute; labeled via lookup)",
      "units": null,
      "is_canonical": true,
      "datasets": [
        "calcofi_phyllosoma",
        "swfsc_ichthyo"
      ]
    },
    "std_haul_factor": {
      "description": "Standardized haul factor (Smith & Richardson 1977; event-level effort)",
      "units": "dimensionless",
      "is_canonical": true,
      "datasets": [
        "swfsc_ichthyo"
      ]
    },
    "sw_ph": {
      "description": "Seawater pH",
      "units": null,
      "is_canonical": true,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "synechococcus": {
      "description": "Synechococcus abundance (FCM)",
      "units": "number/ml",
      "is_canonical": true,
      "datasets": [
        "cce-lter_picoplankton-bacteria"
      ]
    },
    "temperature": {
      "description": "Water temperature (QC'd)",
      "units": "degC",
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "temperature_1": {
      "description": "Temperature sensor 1",
      "units": "degC",
      "is_canonical": false,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "temperature_2": {
      "description": "Temperature sensor 2",
      "units": "degC",
      "is_canonical": false,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "temperature_ave": {
      "description": "Average temperature",
      "units": "degC",
      "is_canonical": true,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "total_phyllosoma": {
      "description": "Total phyllosoma larvae count",
      "units": "count",
      "is_canonical": false,
      "datasets": [
        "calcofi_phyllosoma"
      ]
    },
    "total_plankton_biomass": {
      "description": "Total plankton displacement-volume biomass (event-level)",
      "units": "mL",
      "is_canonical": true,
      "datasets": [
        "swfsc_ichthyo"
      ]
    },
    "transmissometer": {
      "description": "Light transmissometer",
      "units": "%",
      "is_canonical": true,
      "datasets": [
        "calcofi_ctd-cast"
      ]
    },
    "transmissometer_v": {
      "description": "Transmissometer voltage",
      "units": "V",
      "is_canonical": false,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "tsg1_conductivity": {
      "description": "TSG unit 1 conductivity",
      "units": "S/m",
      "is_canonical": false,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "tsg1_density": {
      "description": "TSG unit 1 density",
      "units": "kg/m3",
      "is_canonical": false,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "tsg1_salinity_psu": {
      "description": "TSG unit 1 salinity",
      "units": "PSU",
      "is_canonical": true,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "tsg1_salinity_psu_calibrated": {
      "description": "Calibrated salinity",
      "units": "PSU",
      "is_canonical": false,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "tsg1_sound_velocity": {
      "description": "TSG unit 1 sound velocity",
      "units": "m/s",
      "is_canonical": false,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "tsg1_temp_c": {
      "description": "TSG unit 1 temperature (physical sensor unconfirmed -- mets_03)",
      "units": "deg_C",
      "is_canonical": true,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "tsg1_temp_c_calibrated": {
      "description": "Calibrated temperature",
      "units": "deg_C",
      "is_canonical": false,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "tsg2_conductivity": {
      "description": "TSG unit 2 conductivity",
      "units": "S/m",
      "is_canonical": false,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "tsg2_density": {
      "description": "TSG unit 2 density",
      "units": "kg/m3",
      "is_canonical": false,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "tsg2_salinity_psu": {
      "description": "TSG unit 2 salinity",
      "units": "PSU",
      "is_canonical": false,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "tsg2_sound_velocity": {
      "description": "TSG unit 2 sound velocity",
      "units": "m/s",
      "is_canonical": false,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "tsg2_temp_c": {
      "description": "TSG unit 2 temperature (physical sensor unconfirmed -- mets_03)",
      "units": "deg_C",
      "is_canonical": false,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "tsg2b_temp_c": {
      "description": "A SECOND unit-2 temperature appearing alongside TSG_Temp_2 in one file",
      "units": "deg_C",
      "is_canonical": false,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "tsg3_conductivity": {
      "description": "TSG unit 3 conductivity",
      "units": "S/m",
      "is_canonical": false,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "tsg3_density": {
      "description": "TSG unit 3 density",
      "units": "kg/m3",
      "is_canonical": false,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "tsg3_salinity_psu": {
      "description": "TSG unit 3 salinity",
      "units": "PSU",
      "is_canonical": false,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "tsg3_sound_velocity": {
      "description": "TSG unit 3 sound velocity",
      "units": "m/s",
      "is_canonical": false,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "tsg3_temp_c": {
      "description": "TSG unit 3 temperature (physical sensor unconfirmed -- mets_03)",
      "units": "deg_C",
      "is_canonical": false,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "tsg5_salinity_psu": {
      "description": "TSG unit 5 salinity",
      "units": "PSU",
      "is_canonical": false,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "tsg5_temp_c": {
      "description": "TSG unit 5 temperature (physical sensor unconfirmed -- mets_03)",
      "units": "deg_C",
      "is_canonical": false,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "unknown_measurement_1": {
      "description": "Unidentified measurement (NaN in every file inspected)",
      "units": null,
      "is_canonical": false,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "unknown_measurement_2": {
      "description": "Unidentified measurement (NaN in every file inspected)",
      "units": null,
      "is_canonical": false,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "uws_flow": {
      "description": "Underway seawater flow rate",
      "units": "L/min",
      "is_canonical": true,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "visibility": {
      "description": "WMO visibility code (WMO 4300)",
      "units": null,
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "volume_sampled": {
      "description": "Volume of water filtered by the net (event-level effort)",
      "units": "m3",
      "is_canonical": true,
      "datasets": [
        "swfsc_ichthyo"
      ]
    },
    "water_color": {
      "description": "Water color on Forel-Ule scale",
      "units": "Forel-Ule",
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "wave_direction": {
      "description": "Wave direction (abbreviated 360 degree azimuth)",
      "units": "degrees",
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "wave_height": {
      "description": "Wave height",
      "units": "feet",
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "wave_period": {
      "description": "Wave period",
      "units": "seconds",
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "weather_code": {
      "description": "WMO weather code (WMO 4501)",
      "units": null,
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "wet_air_temp": {
      "description": "Wet air temperature from sling psychrometer",
      "units": "degC",
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "wind_dir_deg": {
      "description": "Wind direction",
      "units": "degrees",
      "is_canonical": true,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "wind_direction": {
      "description": "Wind direction (abbreviated 360 degree azimuth)",
      "units": "degrees",
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "wind_speed": {
      "description": "Wind speed",
      "units": "knots",
      "is_canonical": true,
      "datasets": [
        "calcofi_bottle"
      ]
    },
    "wind_speed_ms": {
      "description": "Wind speed",
      "units": "m/s",
      "is_canonical": true,
      "datasets": [
        "calcofi_mets"
      ]
    },
    "zooplankton_abundance": {
      "description": "Zooplankton numerical abundance (volumetric density) per net tow, by higher taxon. Raw (uncorrected for net type).",
      "units": "count/1000m3",
      "is_canonical": true,
      "datasets": [
        "cce-lter_zoodb"
      ]
    },
    "zooplankton_abundance_areal": {
      "description": "Zooplankton areal abundance (depth-integrated density) per net tow, by higher taxon. Raw (uncorrected).",
      "units": "count/m2",
      "is_canonical": false,
      "datasets": [
        "cce-lter_zoodb"
      ]
    },
    "zooplankton_biomass_carbon": {
      "description": "Zooplankton carbon biomass per net tow, by higher taxon. Raw (uncorrected for net type).",
      "units": "mgC/m2",
      "is_canonical": true,
      "datasets": [
        "cce-lter_zoodb"
      ]
    },
    "zooscan_abundance": {
      "description": "Zooplankton areal abundance from ZooScan optical imaging, by image-classified bioclass.",
      "units": "count/m2",
      "is_canonical": true,
      "datasets": [
        "cce-lter_zooscan"
      ]
    },
    "zooscan_biomass_carbon": {
      "description": "Estimated zooplankton carbon biomass from ZooScan optical imaging, by bioclass.",
      "units": "mgC/m2",
      "is_canonical": true,
      "datasets": [
        "cce-lter_zooscan"
      ]
    },
    "zooscan_carbon_individual": {
      "description": "Mean individual carbon content from ZooScan optical imaging, by bioclass.",
      "units": "ugC",
      "is_canonical": false,
      "datasets": [
        "cce-lter_zooscan"
      ]
    },
    "zooscan_feret_diameter": {
      "description": "Mean Feret diameter (organism size) from ZooScan optical imaging, by bioclass.",
      "units": "mm",
      "is_canonical": false,
      "datasets": [
        "cce-lter_zooscan"
      ]
    }
  },
  "contributions": {
    "sample": {
      "total_rows": 1477204,
      "over_attributed": false,
      "by_dataset": [
        {
          "provider_dataset": "calcofi_bottle",
          "rows": 931015,
          "pct": 63,
          "workflow": "https://calcofi.io/workflows/ingest_calcofi_bottle.html"
        },
        {
          "provider_dataset": "swfsc_ichthyo",
          "rows": 213122,
          "pct": 14.4,
          "workflow": "https://calcofi.io/workflows/ingest_swfsc_ichthyo.html"
        },
        {
          "provider_dataset": "pic_zooplankton",
          "rows": 99530,
          "pct": 6.7,
          "workflow": "https://calcofi.io/workflows/ingest_pic_zooplankton.html"
        },
        {
          "provider_dataset": "calcofi_mets",
          "rows": 77795,
          "pct": 5.3,
          "workflow": "https://calcofi.io/workflows/ingest_calcofi_mets.html"
        },
        {
          "provider_dataset": "calcofi_bird_mammal_census",
          "rows": 60715,
          "pct": 4.1,
          "workflow": "https://calcofi.io/workflows/ingest_calcofi_bird_mammal_census.html"
        },
        {
          "provider_dataset": "swfsc_cufes",
          "rows": 49572,
          "pct": 3.4,
          "workflow": "https://calcofi.io/workflows/ingest_swfsc_cufes.html"
        },
        {
          "provider_dataset": "cce-lter_picoplankton-bacteria",
          "rows": 16017,
          "pct": 1.1,
          "workflow": "https://calcofi.io/workflows/ingest_cce-lter_picoplankton-bacteria.html"
        },
        {
          "provider_dataset": "calcofi_ctd-cast",
          "rows": 14336,
          "pct": 1,
          "workflow": "https://calcofi.io/workflows/ingest_calcofi_ctd-cast.html"
        },
        {
          "provider_dataset": "cce-lter_euphausiids",
          "rows": 7482,
          "pct": 0.5,
          "workflow": "https://calcofi.io/workflows/ingest_cce-lter_euphausiids.html"
        },
        {
          "provider_dataset": "calcofi_dic",
          "rows": 3261,
          "pct": 0.2,
          "workflow": "https://calcofi.io/workflows/ingest_calcofi_dic.html"
        },
        {
          "provider_dataset": "calcofi_phyllosoma",
          "rows": 1859,
          "pct": 0.1,
          "workflow": "https://calcofi.io/workflows/ingest_calcofi_phyllosoma.html"
        },
        {
          "provider_dataset": "cce-lter_zooscan",
          "rows": 1483,
          "pct": 0.1,
          "workflow": "https://calcofi.io/workflows/ingest_cce-lter_zooscan.html"
        },
        {
          "provider_dataset": "cce-lter_zoodb",
          "rows": 506,
          "pct": 0,
          "workflow": "https://calcofi.io/workflows/ingest_cce-lter_zoodb.html"
        },
        {
          "provider_dataset": "calcofi_phytoplankton",
          "rows": 409,
          "pct": 0,
          "workflow": "https://calcofi.io/workflows/ingest_calcofi_phytoplankton.html"
        },
        {
          "provider_dataset": "ucsd_sio_mesopelagic-fish",
          "rows": 102,
          "pct": 0,
          "workflow": "https://calcofi.io/workflows/ingest_ucsd_sio_mesopelagic-fish.html"
        }
      ]
    },
    "obs": {
      "total_rows": 18718710,
      "over_attributed": false,
      "by_dataset": [
        {
          "provider_dataset": "calcofi_bottle",
          "rows": 11037615,
          "pct": 59,
          "workflow": "https://calcofi.io/workflows/ingest_calcofi_bottle.html"
        },
        {
          "provider_dataset": "calcofi_ctd-cast",
          "rows": 5940598,
          "pct": 31.7,
          "workflow": "https://calcofi.io/workflows/ingest_calcofi_ctd-cast.html"
        },
        {
          "provider_dataset": "calcofi_mets",
          "rows": 471376,
          "pct": 2.5,
          "workflow": "https://calcofi.io/workflows/ingest_calcofi_mets.html"
        },
        {
          "provider_dataset": "swfsc_ichthyo",
          "rows": 459286,
          "pct": 2.5,
          "workflow": "https://calcofi.io/workflows/ingest_swfsc_ichthyo.html"
        },
        {
          "provider_dataset": "swfsc_cufes",
          "rows": 270593,
          "pct": 1.4,
          "workflow": "https://calcofi.io/workflows/ingest_swfsc_cufes.html"
        },
        {
          "provider_dataset": "calcofi_phytoplankton",
          "rows": 159804,
          "pct": 0.9,
          "workflow": "https://calcofi.io/workflows/ingest_calcofi_phytoplankton.html"
        },
        {
          "provider_dataset": "cce-lter_zooscan",
          "rows": 126692,
          "pct": 0.7,
          "workflow": "https://calcofi.io/workflows/ingest_cce-lter_zooscan.html"
        },
        {
          "provider_dataset": "cce-lter_euphausiids",
          "rows": 100477,
          "pct": 0.5,
          "workflow": "https://calcofi.io/workflows/ingest_cce-lter_euphausiids.html"
        },
        {
          "provider_dataset": "calcofi_bird_mammal_census",
          "rows": 66272,
          "pct": 0.4,
          "workflow": "https://calcofi.io/workflows/ingest_calcofi_bird_mammal_census.html"
        },
        {
          "provider_dataset": "cce-lter_picoplankton-bacteria",
          "rows": 60802,
          "pct": 0.3,
          "workflow": "https://calcofi.io/workflows/ingest_cce-lter_picoplankton-bacteria.html"
        },
        {
          "provider_dataset": "cce-lter_zoodb",
          "rows": 18276,
          "pct": 0.1,
          "workflow": "https://calcofi.io/workflows/ingest_cce-lter_zoodb.html"
        },
        {
          "provider_dataset": "calcofi_dic",
          "rows": 3708,
          "pct": 0,
          "workflow": "https://calcofi.io/workflows/ingest_calcofi_dic.html"
        },
        {
          "provider_dataset": "calcofi_phyllosoma",
          "rows": 1818,
          "pct": 0,
          "workflow": "https://calcofi.io/workflows/ingest_calcofi_phyllosoma.html"
        },
        {
          "provider_dataset": "ucsd_sio_mesopelagic-fish",
          "rows": 1393,
          "pct": 0,
          "workflow": "https://calcofi.io/workflows/ingest_ucsd_sio_mesopelagic-fish.html"
        }
      ]
    },
    "obs_attribute": {
      "total_rows": 452682,
      "over_attributed": false,
      "by_dataset": [
        {
          "provider_dataset": "swfsc_ichthyo",
          "rows": 369978,
          "pct": 81.7,
          "workflow": "https://calcofi.io/workflows/ingest_swfsc_ichthyo.html"
        },
        {
          "provider_dataset": "calcofi_bird_mammal_census",
          "rows": 82338,
          "pct": 18.2,
          "workflow": "https://calcofi.io/workflows/ingest_calcofi_bird_mammal_census.html"
        },
        {
          "provider_dataset": "calcofi_phyllosoma",
          "rows": 366,
          "pct": 0.1,
          "workflow": "https://calcofi.io/workflows/ingest_calcofi_phyllosoma.html"
        }
      ]
    },
    "taxon": {
      "total_rows": 2032,
      "over_attributed": false,
      "by_dataset": [
        {
          "provider_dataset": "calcofi_bird_mammal_census",
          "rows": 128,
          "pct": 6.3,
          "workflow": "https://calcofi.io/workflows/ingest_calcofi_bird_mammal_census.html"
        },
        {
          "provider_dataset": "calcofi_phyllosoma",
          "rows": 1,
          "pct": 0,
          "workflow": "https://calcofi.io/workflows/ingest_calcofi_phyllosoma.html"
        },
        {
          "provider_dataset": "calcofi_phytoplankton",
          "rows": 26,
          "pct": 1.3,
          "workflow": "https://calcofi.io/workflows/ingest_calcofi_phytoplankton.html"
        },
        {
          "provider_dataset": "cce-lter_euphausiids",
          "rows": 38,
          "pct": 1.9,
          "workflow": "https://calcofi.io/workflows/ingest_cce-lter_euphausiids.html"
        },
        {
          "provider_dataset": "cce-lter_zoodb",
          "rows": 33,
          "pct": 1.6,
          "workflow": "https://calcofi.io/workflows/ingest_cce-lter_zoodb.html"
        },
        {
          "provider_dataset": "cce-lter_zooscan",
          "rows": 23,
          "pct": 1.1,
          "workflow": "https://calcofi.io/workflows/ingest_cce-lter_zooscan.html"
        },
        {
          "provider_dataset": "swfsc_cufes",
          "rows": 6,
          "pct": 0.3,
          "workflow": "https://calcofi.io/workflows/ingest_swfsc_cufes.html"
        },
        {
          "provider_dataset": "swfsc_ichthyo",
          "rows": 1687,
          "pct": 83,
          "workflow": "https://calcofi.io/workflows/ingest_swfsc_ichthyo.html"
        },
        {
          "provider_dataset": "ucsd_sio_mesopelagic-fish",
          "rows": 90,
          "pct": 4.4,
          "workflow": "https://calcofi.io/workflows/ingest_ucsd_sio_mesopelagic-fish.html"
        }
      ]
    },
    "dataset_taxon": {
      "total_rows": 1908,
      "over_attributed": false,
      "by_dataset": [
        {
          "provider_dataset": "calcofi_bird_mammal_census",
          "rows": 156,
          "pct": 8.2,
          "workflow": "https://calcofi.io/workflows/ingest_calcofi_bird_mammal_census.html"
        },
        {
          "provider_dataset": "calcofi_phyllosoma",
          "rows": 1,
          "pct": 0.1,
          "workflow": "https://calcofi.io/workflows/ingest_calcofi_phyllosoma.html"
        },
        {
          "provider_dataset": "calcofi_phytoplankton",
          "rows": 394,
          "pct": 20.6,
          "workflow": "https://calcofi.io/workflows/ingest_calcofi_phytoplankton.html"
        },
        {
          "provider_dataset": "cce-lter_euphausiids",
          "rows": 38,
          "pct": 2,
          "workflow": "https://calcofi.io/workflows/ingest_cce-lter_euphausiids.html"
        },
        {
          "provider_dataset": "cce-lter_zoodb",
          "rows": 33,
          "pct": 1.7,
          "workflow": "https://calcofi.io/workflows/ingest_cce-lter_zoodb.html"
        },
        {
          "provider_dataset": "cce-lter_zooscan",
          "rows": 23,
          "pct": 1.2,
          "workflow": "https://calcofi.io/workflows/ingest_cce-lter_zooscan.html"
        },
        {
          "provider_dataset": "swfsc_cufes",
          "rows": 6,
          "pct": 0.3,
          "workflow": "https://calcofi.io/workflows/ingest_swfsc_cufes.html"
        },
        {
          "provider_dataset": "swfsc_ichthyo",
          "rows": 1167,
          "pct": 61.2,
          "workflow": "https://calcofi.io/workflows/ingest_swfsc_ichthyo.html"
        },
        {
          "provider_dataset": "ucsd_sio_mesopelagic-fish",
          "rows": 90,
          "pct": 4.7,
          "workflow": "https://calcofi.io/workflows/ingest_ucsd_sio_mesopelagic-fish.html"
        }
      ]
    },
    "taxon_group": {
      "total_rows": 155,
      "over_attributed": false,
      "by_dataset": [
        {
          "provider_dataset": "calcofi_bird_mammal_census",
          "rows": 128,
          "pct": 82.6,
          "workflow": "https://calcofi.io/workflows/ingest_calcofi_bird_mammal_census.html"
        },
        {
          "provider_dataset": "calcofi_phytoplankton",
          "rows": 27,
          "pct": 17.4,
          "workflow": "https://calcofi.io/workflows/ingest_calcofi_phytoplankton.html"
        }
      ]
    },
    "sample_measurement": {
      "total_rows": 588986,
      "over_attributed": false,
      "by_dataset": [
        {
          "provider_dataset": "swfsc_ichthyo",
          "rows": 320110,
          "pct": 54.3,
          "workflow": "https://calcofi.io/workflows/ingest_swfsc_ichthyo.html"
        },
        {
          "provider_dataset": "calcofi_bottle",
          "rows": 268876,
          "pct": 45.7,
          "workflow": "https://calcofi.io/workflows/ingest_calcofi_bottle.html"
        }
      ]
    },
    "measurement_type": {
      "total_rows": 198,
      "over_attributed": true,
      "by_dataset": [
        {
          "provider_dataset": "calcofi_bottle",
          "rows": 198,
          "pct": 100,
          "workflow": "https://calcofi.io/workflows/ingest_calcofi_bottle.html"
        },
        {
          "provider_dataset": "calcofi_ctd-cast",
          "rows": 198,
          "pct": 100,
          "workflow": "https://calcofi.io/workflows/ingest_calcofi_ctd-cast.html"
        },
        {
          "provider_dataset": "calcofi_dic",
          "rows": 198,
          "pct": 100,
          "workflow": "https://calcofi.io/workflows/ingest_calcofi_dic.html"
        },
        {
          "provider_dataset": "calcofi_mets",
          "rows": 198,
          "pct": 100,
          "workflow": "https://calcofi.io/workflows/ingest_calcofi_mets.html"
        },
        {
          "provider_dataset": "calcofi_phyllosoma",
          "rows": 198,
          "pct": 100,
          "workflow": "https://calcofi.io/workflows/ingest_calcofi_phyllosoma.html"
        },
        {
          "provider_dataset": "calcofi_phytoplankton",
          "rows": 198,
          "pct": 100,
          "workflow": "https://calcofi.io/workflows/ingest_calcofi_phytoplankton.html"
        },
        {
          "provider_dataset": "cce-lter_euphausiids",
          "rows": 198,
          "pct": 100,
          "workflow": "https://calcofi.io/workflows/ingest_cce-lter_euphausiids.html"
        },
        {
          "provider_dataset": "cce-lter_picoplankton-bacteria",
          "rows": 198,
          "pct": 100,
          "workflow": "https://calcofi.io/workflows/ingest_cce-lter_picoplankton-bacteria.html"
        },
        {
          "provider_dataset": "cce-lter_zoodb",
          "rows": 198,
          "pct": 100,
          "workflow": "https://calcofi.io/workflows/ingest_cce-lter_zoodb.html"
        },
        {
          "provider_dataset": "cce-lter_zooscan",
          "rows": 198,
          "pct": 100,
          "workflow": "https://calcofi.io/workflows/ingest_cce-lter_zooscan.html"
        },
        {
          "provider_dataset": "swfsc_cufes",
          "rows": 198,
          "pct": 100,
          "workflow": "https://calcofi.io/workflows/ingest_swfsc_cufes.html"
        },
        {
          "provider_dataset": "ucsd_sio_mesopelagic-fish",
          "rows": 198,
          "pct": 100,
          "workflow": "https://calcofi.io/workflows/ingest_ucsd_sio_mesopelagic-fish.html"
        }
      ]
    },
    "obs_ctd_full": {
      "total_rows": 212444287,
      "over_attributed": false,
      "by_dataset": [
        {
          "provider_dataset": "calcofi_ctd-cast",
          "rows": 212444287,
          "pct": 100,
          "workflow": "https://calcofi.io/workflows/ingest_calcofi_ctd-cast.html"
        }
      ]
    },
    "region": {
      "total_rows": 4,
      "over_attributed": false,
      "by_dataset": [
        {
          "provider_dataset": "calcofi_phytoplankton",
          "rows": 4,
          "pct": 100,
          "workflow": "https://calcofi.io/workflows/ingest_calcofi_phytoplankton.html"
        }
      ]
    },
    "cruise": {
      "total_rows": 691,
      "over_attributed": false,
      "by_dataset": [
        {
          "provider_dataset": "swfsc_ichthyo",
          "rows": 691,
          "pct": 100,
          "workflow": "https://calcofi.io/workflows/ingest_swfsc_ichthyo.html"
        }
      ]
    },
    "ship": {
      "total_rows": 49,
      "over_attributed": false,
      "by_dataset": [
        {
          "provider_dataset": "swfsc_ichthyo",
          "rows": 48,
          "pct": 98,
          "workflow": "https://calcofi.io/workflows/ingest_swfsc_ichthyo.html"
        }
      ]
    },
    "lookup": {
      "total_rows": 26,
      "over_attributed": false,
      "by_dataset": [
        {
          "provider_dataset": "swfsc_ichthyo",
          "rows": 26,
          "pct": 100,
          "workflow": "https://calcofi.io/workflows/ingest_swfsc_ichthyo.html"
        }
      ]
    },
    "grid": {
      "total_rows": 218,
      "over_attributed": false,
      "by_dataset": [
        {
          "provider_dataset": "swfsc_ichthyo",
          "rows": 218,
          "pct": 100,
          "workflow": "https://calcofi.io/workflows/ingest_swfsc_ichthyo.html"
        }
      ]
    }
  },
  "erd_legend": [
    {
      "provider_dataset": "calcofi_bird_mammal_census",
      "color": "#f0d2e8"
    },
    {
      "provider_dataset": "calcofi_bottle",
      "color": "#f5cad9"
    },
    {
      "provider_dataset": "calcofi_ctd-cast",
      "color": "#e0ccf0"
    },
    {
      "provider_dataset": "calcofi_dic",
      "color": "#ffd2bb"
    },
    {
      "provider_dataset": "calcofi_mets",
      "color": "#cce5ff"
    },
    {
      "provider_dataset": "calcofi_phyllosoma",
      "color": "#e0bbf0"
    },
    {
      "provider_dataset": "calcofi_phytoplankton",
      "color": "#b5e8b0"
    },
    {
      "provider_dataset": "cce-lter_euphausiids",
      "color": "#d2f0bb"
    },
    {
      "provider_dataset": "cce-lter_picoplankton-bacteria",
      "color": "#bbe0f0"
    },
    {
      "provider_dataset": "cce-lter_zoodb",
      "color": "#d9c2f0"
    },
    {
      "provider_dataset": "cce-lter_zooscan",
      "color": "#c2e8f0"
    },
    {
      "provider_dataset": "pic_zooplankton",
      "color": "#bbe0f0"
    },
    {
      "provider_dataset": "swfsc_cufes",
      "color": "#f0e8bb"
    },
    {
      "provider_dataset": "swfsc_ichthyo",
      "color": "#cdebc6"
    },
    {
      "provider_dataset": "ucsd_sio_mesopelagic-fish",
      "color": "#bbe0f0"
    }
  ]
}