CalCOFI.io CalCOFI.io open data ecosystem

pH

pHkey phNERC P01 PHXXZZXXP06 units UUPHseries ph

CalCOFI holds 219,320 values of it from 3,299 sampling events in one dataset, 2009–2026, from the surface to 1,037 m.R Upwelling brings water that is naturally low in pH and carbonate onto the shelf; ocean acidification pushes it further toward water that is corrosive to shells.C

219,320
values
4,874
flagged
i
4,874 of these 219,320 values (2.2 %) 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).
2009–2026
years
1
dataset
1–1,037 m
depth
10 of 12
months
Minus the log of the hydrogen ion concentration (moles per litre) in the water column.

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.

  • 219,320 values · 3,299 sampling events · 2009–2026 · 1–1,037 m · 107 grid cells · 48 cruises
    series ph · source column p_h · flag column p_hq 4,874 flagged · 2.2 %

Explorera depth section vs normaldb-queryERDDAPThis page as JSON R · Python · Parquet

Every way in 8 ways · ERDDAP · Parquet · R · Python · JSON

Read from measurements.json of release v2026.11.05, 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 · 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=%22ph%22
How it is measured A pH sensor on the CTD (model not on record)
CTD sensor
CTD Cast Files · CTD sensor
A pH sensor on the CTD (model not on record)

The CTD cast files carry a pH column with its own quality flag from 2009 onward; the scale (total, seawater or NBS) is not stated anywhere in the record. (calcofi.org CTD FAQ circa 2020)

flag p_hq4,874 flagged
CTD FAQ circa 2020 on calcofi.org ↗
Why it matters 5 ways to say it · EOV Inorganic carbon
Essential Ocean Variable
Inorganic carbon

the GOOS specification sheet for this Essential Ocean Variable lists it, and asks

GOOS asks

  • What are rates and impacts of ocean acidification?

GOOS specification sheet ↗ · quoted, not copied

other ways to say why · 4
  • authored Lower pH means less carbonate in the water, and the shells of pteropods off California already show dissolution where corrosive water reaches the surface. needs a citation before it can be the pick
  • GOOS asks What are rates and impacts of ocean acidification? source
  • Wikipedia PH source
  • Wikipedia Ocean acidification is the ongoing decrease in the pH of the Earth's ocean. Between 1950 and 2020, the average pH of the ocean surface fell from approximately 8.15 to 8.05. Ocean acidification · CC BY-SA 4.0 · rev. 1372947827
The record’s own history no climatology to depart from

Each year against the normal
i

The release builds no climatology for this measurement, so there is no normal to draw a departure from.

Units and range pH · 6 … 9 declared · 4,874 flagged

pH · P06 units UUPH

bounds6 … 9 pHobserved6.001 … 9 pHflagged4,874baselineclimatology ✓
details
bounds
The registry declares 6 … 9 pH for ph; a value outside it is dropped at the ingest (drop_out_of_bounds()).
observed
CTD Cast Files ph 6.001 · median 7.987 · 9 pH (5th–95th percentile 7.436–8.473)
flags
CTD Cast Files ph p_hq on 5,276 of 219,320 rows: 0 402 · 8 4,785 · 9 89; qual_ok keeps 214,446. The codes are this dataset's own vocabulary, uninterpreted.
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.

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.

By depth · by month 1–1,037 m · 10 of 12 months

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.

Cite the release, v2026.11.05

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.