Temperature
Water temperature (QC'd)
- 1,573,601
- values
- 575
- flagged
i
575 of these 1,573,601 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). - 45,066
- sampling events
- 1949–2026
- years
- 2
- datasets
- 0–5,351 m
- depth
- every month
- seasons
The degree of hotness of the water column expressed against a standard scale. Includes both IPTS-68 and ITS-90 scales.
Reversing thermometers on the bottles, then the CTD
CTD FAQ circa 2020 on calcofi.org ↗EOV Subsurface temperature
CalCOFI holds 1,573,601 values of it from 45,066 sampling events in 2 datasets, 1949–2026, from the surface to 5,351 m. At 200–500 m it has risen 0.06 per decade since 1984.R Temperature sets the water’s density, and so the layering that decides whether deep nutrients reach the sunlit surface; off California the warm years are El Niño years and marine heatwaves.C
other ways to say why · 3
- A warm year off California is usually a lean one: warmer, more layered water brings fewer nutrients up, and the plankton the rest of the food web eats decline. needs a citation before it can be the pick
- Wikipedia Marine heatwave source
- Wikipedia Sea surface temperature is the temperature of ocean water close to the surface. The exact meaning of surface varies in the literature and in practice. Sea surface temperature · CC BY-SA 4.0 · rev. 1374459881
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
temperature· source columnt_deg_c· flag columnt_qual575 flagged -
series
temperature_ave· source columntemp_ave· flag columntemp_ave_qsensor meanAverage temperature
How it is measured
Originally reversing thermometers on the 20 Nansen/Niskin bottles, read on deck after about 45 minutes of equilibration; the CTD arrived in the early 1990s under protocols built to keep its readings comparable to the bottle-thermometer series. (calcofi.org CTD FAQ circa 2020)
CTD FAQ circa 2020 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,758 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,758 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.10.08, 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.10.08, 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.10.08/catalog.json')
-- objects[] WHERE table = 'obs_env'
-- AND partition_value = 'temperature'
-- | 'temperature_ave'library(calcofi4r)
con <- cc_get_db() # the promoted release
tbl(con, "obs_env") |> filter(measurement_type %in% c("temperature", "temperature_ave"))import calcofi4py as cc
con = cc.cc_get_db()
con.sql("SELECT * FROM obs_env WHERE measurement_type IN ('temperature', 'temperature_ave')").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
-2 … 40 °Cfortemperature · temperature_ave; a value outside it is dropped at the ingest (drop_out_of_bounds()). - observed
- Hydrographic Bottle
temperature1.44 · median 10.07 · 31.14 °C (5th–95th percentile 4.7–18.2)
CTD Cast Filestemperature_ave1.508 · median 8.998 · 36.22 °C (5th–95th percentile 5.817–16.53) - flags
- Hydrographic Bottle
temperaturet_qualon 13,047 of 884,400 rows:0170 ·1118 ·2135 ·3104 ·453 ·5129 ·611,756 ·77 ·8575; qual_ok keeps 883,825. The codes are this dataset's own vocabulary, uninterpreted.
CTD Cast Filestemperature_avecarries no quality code at the release grain (its source column istemp_ave_q); qual_ok keeps all 689,201. - 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.
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).
- Bottle temperature btl_temperature · CTD Cast Files · 1993–2025 · 141,892 values · P01 TEMPPR01 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 — Hydrographic Bottle, CTD Cast Files. The Explorer's Share → Cite writes it for the view you make.