Saturation pH (pHs), Rigorous — from the Carbonate Equilibria

Also known as Standard Methods 2330 saturation pH · rigorous Langelier pHs · pHs from pK2 and pKsp · calcium carbonate saturation pH · thermodynamic pHs

pHs=pK2pKsp+p[Ca2+]+p[HCO3]+5pfm\mathrm{pH_s} = \mathrm{p}K_2 - \mathrm{p}K_{sp} + \mathrm{p[Ca^{2+}]} + \mathrm{p[HCO_3^-]} + 5\,\mathrm{p}f_m

Worked example: 25 C, Ca 240, HCO3 alk 180, TDS 400 → pHs = 7.138 (the shortcut says 7.310)press Try an example to run it live, then adjust anything.

Enter your known values, leave one input blank, and solves for the missing one. Tap a variable’s symbol to see what it means, with a typical value. Try different units for next level excitement!

Learning zone

Saturation pH (pHs), Rigorous — from the Carbonate Equilibria explained

This is the saturation pH the way Langelier actually derived it in 1936, before anyone turned it into a lookup table. Two equilibria do all the work. Water is saturated with calcite when the activities of calcium and carbonate multiply to the solubility product, KspK_{sp}. Carbonate is tied to bicarbonate through the second dissociation constant of carbonic acid, K2K_2. Eliminate carbonate between the two and what is left is the hydrogen-ion activity the water would have if it were exactly saturated: pHs=pK2pKsp+p[Ca2+]+p[HCO3]+5pfm\mathrm{pH_s} = \mathrm{p}K_2 - \mathrm{p}K_{sp} + \mathrm{p[Ca^{2+}]} + \mathrm{p[HCO_3^-]} + 5\,\mathrm{p}f_m. The last term is the price of working in the concentrations a lab reports, where the equilibria are written in activities. A divalent ion costs four times the monovalent correction and a monovalent one costs one, hence the five.

The handbook form, 9.3 + A + B − C − D, is a curve fit to this. Its temperature term is one logarithm standing in for two constants that each bend differently with temperature, and its TDS term is a fixed (log TDS − 1)/10. Here K2K_2 and KspK_{sp} come from Plummer and Busenberg's 1982 measurements, fitted from 0 to 90 °C, and the activity correction is the Davies equation with a Debye–Hückel constant that itself moves with temperature. For an ordinary water at 25 °C with 240 mg/L of calcium hardness, 180 of bicarbonate alkalinity and 400 of TDS, this page gives 7.14 where the shortcut gives 7.31. That is 0.17 of a pH unit, and it goes straight into any index built on top.

Where people get it wrong. The alkalinity here is bicarbonate alkalinity. Below about pH 8.3 a titrated total alkalinity is bicarbonate to within a percent and the distinction is academic; at cooling-tower pH it is not, and the full-analysis page makes that correction for you. Calcium is calcium hardness as CaCO₃, never total hardness: magnesium does not precipitate as calcite. And temperature means the temperature at the surface you care about. Calcite is one of the few common salts that is less soluble hot, so the same water that is comfortable in a basin is supersaturated at a heat-exchanger skin twenty degrees warmer.

What this page deliberately does not do is ion pairing. In real water a few percent of the calcium is bound up as CaHCO₃⁺, CaCO₃° and, where sulphate is high, CaSO₄°, and none of that calcium is free to precipitate. Speciation software subtracts it; a single formula cannot, because finding those species means solving a dozen equilibria at once. The practical effect is that this reads slightly more scale-forming than ion-association models on high-sulphate or high-TDS water. Past a TDS of roughly 20,000 mg/L the Davies correction itself gives out, and brines want the Stiff–Davis approach instead.

Saturation pH (pHs), Rigorous — from the Carbonate Equilibria formula

pHs=pK2pKsp+p[Ca2+]+p[HCO3]+5pfm\mathrm{pH_s} = \mathrm{p}K_2 - \mathrm{p}K_{sp} + \mathrm{p[Ca^{2+}]} + \mathrm{p[HCO_3^-]} + 5\,\mathrm{p}f_m
Where
  • pHs\mathrm{pH_s}= Saturation pH
  • TT= Water temperature (°C)
  • Ca\mathrm{Ca}= Calcium hardness as CaCO₃ (mg/L)
  • Alk\mathrm{Alk}= Bicarbonate alkalinity as CaCO₃ (mg/L)
  • TDS\mathrm{TDS}= Total dissolved solids (mg/L)