Potential density (sensor mean)
Potential density anomaly (sigma-theta), sensor-pair average by the provider's flags
kg/m³key sigma_theta_aveP06 units UKMCseries sigma_theta_ave
CalCOFI holds 682,193 values of it from 9,534 sampling events in one dataset, 1993–2026, from the surface to 3,630 m. At 200–500 m it has fallen 0.00 per decade since 1993.R Potential density is what stacks the water column: the denser the surface layer is over the one below it, the less winter mixing and upwelling lift into the light, and off California stronger layering has gone with less zooplankton.C
- 682,193
- values
- 0
- flagged
- 1993–2026
- years
- 1
- dataset
- 1–3,630 m
- depth
- every month
- months
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.
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
sigma_theta_ave· source columnsigma_theta_1; sigma_theta_2no flag at this grain no P01 concept
Explorera depth section vs normaldb-queryThis page as JSON R · Python · Parquet
Every way in 7 ways · Parquet · R · Python · JSON
Read from measurements.json of release v2026.10.21, 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-querySELECT * FROM read_json('…/v2026.10.21/catalog.json')
-- objects[] WHERE table = 'obs_env'
-- AND partition_value = 'sigma_theta_ave'library(calcofi4r)
con <- cc_get_db() # the promoted release
tbl(con, "obs_env") |> filter(measurement_type %in% c("sigma_theta_ave"))import calcofi4py as cc
con = cc.cc_get_db()
con.sql("SELECT * FROM obs_env WHERE measurement_type IN ('sigma_theta_ave')").df()How it is measured Computed from the two CTD sensors' salinity and potential temperature
Potential density (sigma-theta) computed for each of the CTD's two sensor pairs and combined into one series by the provider's flags: a sensor flagged 8 or 9 is dropped, 1 or 2 select a sensor, otherwise the two are averaged. Published for final and preliminary_with_bottle casts only. (the record's own derivation (measurement_type.csv))
Why it matters 4 ways to say it
other ways to say why · 3
- Density is computed from temperature, salinity and pressure, so it inherits both the warming and the freshening the record carries separately. needs a citation before it can be the pick
- Wikipedia Thermocline source
- Wikipedia The potential density of a fluid parcel at pressure is the density that the parcel would acquire if adiabatically brought to a reference pressure , often 1 bar. Whereas density changes with changing pressure, potential density of a fluid parcel is conserved as the pressure experienced by the parcel changes. Potential density · CC BY-SA 4.0 · rev. 1276849953
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.
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 kg/m³ · 15 … 35 declared · 0 flagged
kg/m³ (kg/m3 in metadata/measurement_type.csv) · P06 units UKMC
details
- bounds
- The registry declares
15 … 35 kg/m³forsigma_theta_ave; a value outside it is dropped at the ingest (drop_out_of_bounds()). - observed
- CTD Derived Products
sigma_theta_ave15.88 · median 26.34 · 30.57 kg/m³ (5th–95th percentile 24.34–26.97) - flags
- CTD Derived Products
sigma_theta_avecarries no quality code at the release grain; qual_ok keeps all 682,193. - 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.
- derivation
- calcofi4db::ctd_sigma_theta_ave() = combine_sensor_pair() on sigma_theta_1/2: an 8/9-flagged sensor dropped, 1/2 select a sensor, else the mean; final and preliminary_with_bottle casts only
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.
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).
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.
Cite the release, v2026.10.21
Cite the release; each dataset's own citation, licence and DOI are on its page — CTD Derived Products. The Explorer's Share → Cite writes it for the view you make.