Salinity
Salinity - Practical Salinity Scale 1978 (QC'd)
- 1,521,041
- values
- 1,825
- flagged
- 44,142
- sampling events
- 1949–2025
- years
- 2
- datasets
- 0–5,351 m
- depth
- every month
- seasons
Heads-up 1,825 of these 1,521,041 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 carries no flag at this grain, so its values cannot be screened this way.
Measured in
-
series
salinity· source columnsalnty· flag columns_qual1,825 flagged · 0.2 % -
series
salinity_ave_corr· source columnsalt_ave_corr· PSU sensor mean no flag at this grainAverage salinity corrected
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.
By depth
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
Values per calendar month, one row per series: CalCOFI's quarterly cruises show as peaks in the months the ships sail.
Range & quality
- bounds
- The registry declares
0 … 45 PSS-78forsalinity · salinity_ave_corr; a value outside it is dropped at the ingest (drop_out_of_bounds()). - observed
- Hydrographic Bottle
salinity9.501 · median 33.86 · 37.03 PSS-78 (5th–95th percentile 33.11–34.51)
CTD Cast Filessalinity_ave_corr9.953 · median 33.98 · 39.19 PSU (5th–95th percentile 33.08–34.29) - flags
- Hydrographic Bottle
salinitys_qualon 38,259 of 848,015 rows:102 ·1003 ·1015 ·1022 ·1034 ·1041 ·1054 ·1066 ·1084 ·1092 ·111 ·1102 ·1124 ·1131 ·1145 ·1155 ·1162 ·1171 ·1181 ·1196 ·123 ·1203 ·1215 ·1222 ·1235 ·1242 ·1254 ·1262 ·1272 ·1281 ·1296 ·1310 ·1306 ·1313 ·1322 ·1331 ·1347 ·1352 ·1363 ·1372 ·1382 ·1398 ·147 ·1405 ·1413 ·1422 ·1431 ·1445 ·1453 ·1461 ·1473 ·1484 ·1493 ·157 ·1502 ·1512 ·1525 ·1532 ·1543 ·1551 ·1562 ·1575 ·1581 ·1591 ·1611 ·1622 ·1633 ·1642 ·1652 ·1662 ·1671 ·1694 ·1711 ·1701 ·1711 ·1721 ·1752 ·1762 ·1772 ·1781 ·1793 ·186 ·1801 ·1811 ·1821 ·1831 ·1851 ·1863 ·1882 ·1891 ·193 ·1901 ·1913 ·1932 ·1941 ·1952 ·1983 ·208 ·2012 ·2021 ·2031 ·2041 ·2051 ·218 ·2112 ·2122 ·2131 ·2144 ·2152 ·2162 ·2171 ·2182 ·2194 ·225 ·2204 ·2212 ·2242 ·2255 ·2282 ·237 ·2303 ·2312 ·2321 ·2333 ·2354 ·2364 ·2381 ·2392 ·248 ·2401 ·2413 ·2421 ·2431 ·2442 ·2452 ·2461 ·2472 ·2481 ·2494 ·254 ·2503 ·2512 ·2522 ·2532 ·2546 ·2552 ·2566 ·2577 ·25814 ·25911 ·262 ·26010 ·26113 ·26224 ·26325 ·26422 ·26521 ·2668 ·2678 ·2689 ·2693 ·273 ·2705 ·2719 ·2723 ·2732 ·2752 ·2761 ·2782 ·288 ·2811 ·2821 ·2834 ·2841 ·2851 ·2872 ·295 ·2902 ·2911 ·2982 ·303 ·3072 ·314 ·3111 ·3122 ·324 ·3231 ·333 ·343 ·3441 ·354 ·365 ·379 ·381 ·394 ·41 ·405 ·423 ·435 ·442 ·454 ·465 ·472 ·482 ·494 ·51 ·502 ·512 ·521 ·534 ·544 ·553 ·563 ·581 ·592 ·635,552 ·603 ·613 ·622 ·632 ·642 ·653 ·664 ·674 ·687 ·695 ·715 ·722 ·743 ·754 ·765 ·793 ·81,825 ·801 ·811 ·833 ·844 ·851 ·865 ·874 ·882 ·891 ·903 ·914 ·925 ·932 ·945 ·953 ·965 ·971 ·982 ·993; qual_ok keeps 846,190. The codes are this dataset's own vocabulary, uninterpreted.
CTD Cast Filessalinity_ave_corrcarries no quality code at the release grain; qual_ok keeps all 673,026. - 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
- 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
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).
Ways in
-
Explorermaps, sections and time series of this measurement — opens prefilledhttps://calcofi.io/explore/?var=salinity
-
Explorer · a depth section vs normalthe newest cruise's section against the climatology baselinehttps://calcofi.io/explore/?lens=section&var=salinity&anom=1
-
db-querySQL in your browser — the shell opens with this queryhttps://calcofi.io/db-query/?sql=SELECT+%2A+FROM+__TBL%3Aobs_env__+WHERE+measurement_type+IN+%28%27salinity%27%2C+%27salinity_ave_corr%27%29+LIMIT+100%3B
-
ERDDAP · Hydrographic BottleCalCOFI's own server, the Hydrographic Bottle table constrained to this serieshttps://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 serieshttps://erddap.calcofi.io/erddap/tabledap/calcofi_ctd-cast.html?&measurement_type=%22salinity_ave_corr%22
-
Parquetobs_env is partitioned by measurement_type in the content-addressed store — resolved through the release catalog, never a path built by hand
SELECT * FROM read_json('…/v2026.09.10/catalog.json') -- objects[] WHERE table = 'obs_env' -- AND partition_value = 'salinity' -- | 'salinity_ave_corr' -
R
library(calcofi4r) con <- cc_get_db() # the promoted release tbl(con, "obs_env") |> filter(measurement_type %in% c("salinity", "salinity_ave_corr")) -
Python
import calcofi4py as cc con = cc.cc_get_db() con.sql("SELECT * FROM obs_env WHERE measurement_type IN ('salinity', 'salinity_ave_corr')").df()
This page as data
-
JSONthis measurement's entry of the release record, verbatimhttps://calcofi.io/measurements/salinity.json
Read from measurements.json of release v2026.09.10, 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.
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.