Bottle salinity
- 150,917
- values
- 0
- flagged
- 9,041
- sampling events
- 1993–2025
- years
- 1
- dataset
- 1–3,510 m
- depth
- Jan · Feb · Mar · Apr · May · Jun · Jul · Aug · Sep · Oct · Nov
- seasons
33.79 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.
Guildline Portasal 8410A salinometer, two per cruise
Bottle sampling methods on calcofi.org ↗EOV Subsurface salinity
CalCOFI holds 150,917 values of it from 9,041 sampling events in one dataset, 1993–2025, from the surface to 3,510 m. At 10–50 m it has risen 0.02 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
other ways to say why · 3
- 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.
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.
-
series
salinity_btl· source columnsalt_bno flag at this grain
The structure
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
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)
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.
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: 7,572 values at 500–1000 m, 78 values at 1000–2000 m, 24 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.
i
Deeper than the climatology reaches: 7,572 values at 500–1000 m, 78 values at 1000–2000 m, 24 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.
the GOOS specification sheet for this Essential Ocean Variable lists it
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-queryi
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.
SELECT * FROM read_json('…/v2026.09.11/catalog.json')
-- objects[] WHERE table = 'obs_env'
-- AND partition_value = 'salinity_btl'library(calcofi4r)
con <- cc_get_db() # the promoted release
tbl(con, "obs_env") |> filter(measurement_type %in% c("salinity_btl"))import calcofi4py as cc
con = cc.cc_get_db()
con.sql("SELECT * FROM obs_env WHERE measurement_type IN ('salinity_btl')").df()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).
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.
i
Values per calendar month, one row per series: CalCOFI's quarterly cruises show as peaks in the months the ships sail.
Range & quality
details
- bounds
- The registry declares
0 … 45 PSUforsalinity_btl; a value outside it is dropped at the ingest (drop_out_of_bounds()). - observed
- CTD Cast Files
salinity_btl28.43 · median 33.63 · 34.74 PSU (5th–95th percentile 33.06–34.26) - flags
- CTD Cast Files
salinity_btlcarries no quality code at the release grain; qual_ok keeps all 150,917. - 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).
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).
- Salinity salinity · salinity_ave_corr · Hydrographic Bottle · CTD Cast Files · 1949–2025 · 1,521,289 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 quantity from the CTD files' own bottle samples — plausibly the same physical bottles, so merging them would count the bottle dataset twice
Cite
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.