CalCOFI.io CalCOFI.io open data ecosystem

Salinity sensor 1

Salinity sensor 1 (uncorrected)

PSUkey salinity_1NERC P01 PSALST01P06 units PSUXseries salinity_1

CalCOFI holds 703,844 values of it from 9,869 sampling events in one dataset, 1993–2026, from the surface to 3,630 m. At 200–500 m it has risen 0.01 per decade since 1993.R Salinity tags the water masses: the California Current carries fresher Subarctic water south and the Undercurrent carries saltier water from the south; with temperature it sets density.C

703,844
values
510
flagged
i
510 of these 703,844 values (under 0.1 %) are flagged by their provider as questionable or bad. The Explorer, the climatology and its anomalies leave them out; do the same when you read the data yourself (cc_qual_ok_sql() in calcofi4r, qual_ok_sql() in calcofi4py).
1993–2026
years
1
dataset
1–3,630 m
depth
every month
months
34.14 g of salt in a kilogram of CalCOFI seawater, at the record’s median salinityBr⁻ 0.2 % · SO₄²⁻ 7.7 % · HCO₃⁻ 0.3 % · Cl⁻ 55.0 % · Mg²⁺ 3.7 % · Na⁺ 30.7 % · K⁺ 1.1 % · Ca²⁺ 1.2 %This is the preferred term for this definition. Alternative term PSALST02 is included to cover cases where there are two sensors of the same type contributing to the data set and referential integrity considerations prevent a usage of a single code.

Measured in 1 dataset
i

One row per series, one cell per year, darker with more values — the same strip the front door draws per dataset and a species page draws per taxon. Each row is one dataset's own measurement_type; the label is written once, in the title above.

  • 703,844 values · 9,869 sampling events · 1993–2026 · 1–3,630 m · 113 grid cells · 143 cruises
    series salinity_1 · source column salt1 · flag column salt1q 510 flagged

Explorera depth section vs normaldb-queryERDDAPThis page as JSON R · Python · Parquet

Every way in 8 ways · ERDDAP · Parquet · R · Python · JSON

Read from measurements.json of release v2026.11.05, written at release by calcofi4db::build_measurements_catalog() beside taxa.json. The catalog's index is /measurements/; the JSON-LD on this page is a schema.org/DefinedTerm in the NERC P01 term set with a PropertyValue per series.

ExplorerExplorer · a depth section vs normaldb-query
ERDDAP · CTD Cast FilesCalCOFI's own server, the CTD Cast Files table constrained to this series
https://erddap.calcofi.io/erddap/tabledap/calcofi_ctd-cast.html?&measurement_type=%22salinity_1%22
The structure 2 structures
O4S2− sulfate CHEBI:16189 · 96.063 g/mol · component
CHO3− hydrogencarbonate CHEBI:17544 · 61.016 g/mol · component

ChEBI: “A sulfur oxoanion obtained by deprotonation of both OH groups of sulfuric acid.” · RDKit 2026.03.6 from the ChEBI molfile, in the page’s ink · CC BY 4.0. ChEBI’s roles are never shown.

How it is measured Sea-Bird CTD, conductivity sensor 1
CTD sensor
CTD Cast Files · CTD sensor
Sea-Bird CTD, conductivity sensor 1

A Sea-Bird CTD's dual conductivity cells profile in situ; the pumped flow keeps water moving past the sensors regardless of ship roll, and the bottle salts confirm each Niskin closed at its target depth and help select the better-performing sensor for the published series. (calcofi.org Bottle sampling methods)

flag salt1q510 flagged
Bottle sampling methods on calcofi.org ↗
Why it matters 4 ways to say it · EOV Subsurface salinity

Essential Ocean Variable
Subsurface salinity

the GOOS specification sheet for this Essential Ocean Variable lists it

GOOS specification sheet ↗

other ways to say why · 3
  • authored Salinity and temperature together set seawater’s density, which drives the currents and decides how deep winter mixing reaches. needs a citation before it can be the pick
  • Wikipedia Water mass source
  • Wikipedia Salinity is the saltiness or amount of salt dissolved in a body of water, called saline water. It is usually measured in g/L or g/kg. Salinity · CC BY-SA 4.0 · rev. 1368851206
The record’s own history 7 depth bands against the 1993–2013 normal

Each year against the normal
i

Deeper than the climatology reaches: 3,237 values at 2000+ m have no normal to depart from, because the release’s climatology stops at its deepest built bin. Carrying it to the bottom is one argument of build_climatology() and puts these bands on the page too.

Units and range PSU · 0 … 45 declared · 510 flagged

PSU · P06 units PSUX

bounds0 … 45 PSUobserved5.343 … 44.14 PSUflagged510baselineclimatology ✓
details
bounds
The registry declares 0 … 45 PSU for salinity_1; a value outside it is dropped at the ingest (drop_out_of_bounds()).
observed
CTD Cast Files salinity_1 5.343 · median 33.98 · 44.14 PSU (5th–95th percentile 33.1–34.3)
flags
CTD Cast Files salinity_1 salt1q on 912 of 703,844 rows: 0 402 · 8 158 · 9 352; qual_ok keeps 703,334. The codes are this dataset's own vocabulary, uninterpreted.
baseline
A monthly climatology exists for this measurement (the release's climatology table: 1993–2013, dataset × station × the cruise's month × 10 m bin), so the Explorer can draw anomalies against it rather than values.

The familiar scale
i

Bars are each series' 5th–95th percentile, the line its minimum to maximum, the ring its median; the marks are metadata/measurement_scale.csv's, each hovering to its own source.

By depth · by month 1–3,630 m · every month

By depth
i

Values per depth band at the release grain, one thin bar per series. The bands are the record's own (0-10 … 2000+ m).

By month
i

Values per calendar month, one row per series: CalCOFI's quarterly cruises show as peaks in the months the ships sail.

Cite the release, v2026.11.05

Cite the release; each dataset's own citation, licence and DOI are on its page — CTD Cast Files. The Explorer's Share → Cite writes it for the view you make.