CalCOFI.io CalCOFI.io open data ecosystem
Measurement · Physical Oceanography · PSS-78 · one key across 2 datasets

Salinity

Salinity - Practical Salinity Scale 1978 (QC'd)

NERC P01 PSLTZZ01P06 units PSUX PSS-78key salinity series salinity · salinity_ave_corr
1,521,289
values
1,825
flagged
i
1,825 of these 1,521,289 values (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). The salinity_ave_corr series from CTD Cast Files is an average of two sensors, rebuilt with any sensor its provider flags questionable or bad left out, so it carries no flag of its own.
44,143
sampling events
1949–2025
years
2
datasets
0–5,351 m
depth
every month
seasons
What

34.02 g of salt in a kilogram of CalCOFI seawater, at the record’s median salinity

Br⁻ 0.2 % · SO₄²⁻ 7.7 % · HCO₃⁻ 0.3 % · Cl⁻ 55.0 % · Mg²⁺ 3.7 % · Na⁺ 30.7 % · K⁺ 1.1 % · Ca²⁺ 1.2 %

The quantity of dissolved ions (predominantly salt in seawater) expressed on a scale (PSS-78) based on the conductivity ratio of a seawater sample to a standard KCl solution.

How
rosette bottle

Guildline Portasal 8410A salinometer, two per cruise

Bottle sampling methods on calcofi.org ↗

EOV Subsurface salinity

CalCOFI holds 1,521,289 values of it from 44,143 sampling events in 2 datasets, 1949–2025, from the surface to 5,351 m. At 200–500 m it has risen 0.01 per decade since 1984.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

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 measurement

Measured in
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.

  • Hydrographic Bottle 848,013 values · 34,868 sampling events · 1949–2021 · 0–5,351 m · 213 grid cells · 650 cruises
    series salinity · source column salnty · flag column s_qual 1,825 flagged · 0.2 %
  • CTD Cast Files 673,276 values · 9,275 sampling events · 1993–2025 · 1–3,630 m · 97 grid cells · 129 cruises
    series salinity_ave_corr · source column salt_ave_corr · PSU sensor mean no flag at this grain
    Average salinity corrected

The structure

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

Hydrographic Bottle · rosette bottle
Guildline Portasal 8410A salinometer, two per cruise

About 225 mL drawn from every Niskin into a numbered KIMAX bottle after three rinses; a Guildline Portasal 8410A salinometer compares the sample's conductivity with a reference seawater standard and salinity is computed from the ratio. (calcofi.org Bottle sampling methods)

flag s_qual1,825 flaggedaccuracy +/-0.003 PSU, precision 0.0003 PSU (Guildline specification)
Bottle sampling methods on calcofi.org ↗

Why it matters

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.

The record’s own history
i

Deeper than the climatology reaches: 20,903 values at 1000–2000 m, 7,207 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.

Essential Ocean Variable
Subsurface salinity

the GOOS specification sheet for this Essential Ocean Variable lists it

GOOS specification sheet ↗

The record

Ways in
i

Read from measurements.json of release v2026.09.11, 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 · Hydrographic BottleCalCOFI's own server, the Hydrographic Bottle table constrained to this series
https://erddap.calcofi.io/erddap/tabledap/calcofi_bottle.html?&measurement_type=%22salinity%22
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_ave_corr%22

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.

Range & quality

bounds0 … 45 PSS-78observed14.29 … 39.19 PSS-78flagged1,825baselineclimatology ✓
details
bounds
The registry declares 0 … 45 PSS-78 for salinity · salinity_ave_corr; a value outside it is dropped at the ingest (drop_out_of_bounds()).
observed
Hydrographic Bottle salinity 24.19 · median 33.86 · 37.03 PSS-78 (5th–95th percentile 33.11–34.51)
CTD Cast Files salinity_ave_corr 14.29 · median 33.98 · 39.19 PSU (5th–95th percentile 33.1–34.29)
flags
Hydrographic Bottle salinity s_qual on 38,257 of 848,013 rows: 10 2 · 100 3 · 101 5 · 102 2 · 103 4 · 104 1 · 105 4 · 106 6 · 108 4 · 109 2 · 11 1 · 110 2 · 112 4 · 113 1 · 114 5 · 115 5 · 116 2 · 117 1 · 118 1 · 119 6 · 12 3 · 120 3 · 121 5 · 122 2 · 123 5 · 124 2 · 125 4 · 126 2 · 127 2 · 128 1 · 129 6 · 13 10 · 130 6 · 131 3 · 132 2 · 133 1 · 134 7 · 135 2 · 136 3 · 137 2 · 138 2 · 139 8 · 14 7 · 140 5 · 141 3 · 142 2 · 143 1 · 144 5 · 145 3 · 146 1 · 147 3 · 148 4 · 149 3 · 15 7 · 150 2 · 151 2 · 152 5 · 153 2 · 154 3 · 155 1 · 156 2 · 157 5 · 158 1 · 159 1 · 16 11 · 162 2 · 163 3 · 164 2 · 165 2 · 166 2 · 167 1 · 169 4 · 17 11 · 170 1 · 171 1 · 172 1 · 175 2 · 176 2 · 177 2 · 178 1 · 179 3 · 18 6 · 180 1 · 181 1 · 182 1 · 183 1 · 185 1 · 186 3 · 188 2 · 189 1 · 19 3 · 190 1 · 191 3 · 193 2 · 194 1 · 195 2 · 198 3 · 20 8 · 201 2 · 202 1 · 203 1 · 204 1 · 205 1 · 21 8 · 211 2 · 212 2 · 213 1 · 214 4 · 215 2 · 216 2 · 217 1 · 218 2 · 219 4 · 22 5 · 220 4 · 221 2 · 224 2 · 225 5 · 228 2 · 23 7 · 230 3 · 231 2 · 232 1 · 233 3 · 235 4 · 236 4 · 238 1 · 239 2 · 24 8 · 240 1 · 241 3 · 242 1 · 243 1 · 244 2 · 245 2 · 246 1 · 247 2 · 248 1 · 249 4 · 25 4 · 250 3 · 251 2 · 252 2 · 253 2 · 254 6 · 255 2 · 256 6 · 257 7 · 258 14 · 259 11 · 26 2 · 260 10 · 261 13 · 262 24 · 263 25 · 264 22 · 265 21 · 266 8 · 267 8 · 268 9 · 269 3 · 27 3 · 270 5 · 271 9 · 272 3 · 273 2 · 275 2 · 276 1 · 278 2 · 28 8 · 281 1 · 282 1 · 283 4 · 284 1 · 285 1 · 287 2 · 29 5 · 290 2 · 291 1 · 298 2 · 30 3 · 307 2 · 31 4 · 311 1 · 312 2 · 32 4 · 323 1 · 33 3 · 34 3 · 344 1 · 35 4 · 36 5 · 37 9 · 38 1 · 39 4 · 4 1 · 40 5 · 42 3 · 43 5 · 44 2 · 45 4 · 46 5 · 47 2 · 48 2 · 49 4 · 5 1 · 50 2 · 51 2 · 52 1 · 53 4 · 54 4 · 55 3 · 56 3 · 58 1 · 59 2 · 6 35,550 · 60 3 · 61 3 · 62 2 · 63 2 · 64 2 · 65 3 · 66 4 · 67 4 · 68 7 · 69 5 · 71 5 · 72 2 · 74 3 · 75 4 · 76 5 · 79 3 · 8 1,825 · 80 1 · 81 1 · 83 3 · 84 4 · 85 1 · 86 5 · 87 4 · 88 2 · 89 1 · 90 3 · 91 4 · 92 5 · 93 2 · 94 5 · 95 3 · 96 5 · 97 1 · 98 2 · 99 3; qual_ok keeps 846,188. The codes are this dataset's own vocabulary, uninterpreted.
CTD Cast Files salinity_ave_corr carries no quality code at the release grain; qual_ok keeps all 673,276.
baseline
A monthly climatology exists for this measurement (the release's climatology table: 1993–2013, dataset × grid cell × calendar month × 10 m bin), so the Explorer can draw anomalies against it rather than values.

Related measurements
i

The same quantity from another platform or another kind of sample, each its own page and never merged into this one: a dataset's own bottle samples would count that dataset twice, an underway intake is not a cast, and a replicate is not a mean. The reason is the record's (related[].why).

  • Bottle salinity salinity_btl · CTD Cast Files · 1993–2025 · 150,917 values · P01 PSLTZZ01 the same quantity from the CTD files' own bottle samples — plausibly the same physical bottles, so merging them would count the bottle dataset twice
  • Practical salinity (PSS-78) salinity_pss78 · Carbonate Chemistry / DIC · 1983–2021 · 908 values · P01 PSLTZZ01 the same casts logged by another instrument on the same station

Cite

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