Carbonate Chemistry Calculator
Solve the seawater carbonate system: pH, pCO2, bicarbonate, carbonate and calcite saturation from temperature, salinity and two measured parameters.
🧪 What is Carbonate Chemistry?
Seawater carbonate chemistry describes how carbon dioxide dissolved in the ocean is split among four linked forms: dissolved CO2 gas, carbonic acid, bicarbonate (HCO3-) and carbonate (CO3 2-). Dissolved CO2 and carbonic acid cannot be told apart by routine chemistry, so they are lumped together as CO2*. The balance among the three measurable forms is set by two equilibrium constants, K1 and K2, which depend on temperature and salinity, and by the hydrogen ion concentration, which is what pH measures. In ordinary surface seawater about 89 percent of the carbon is bicarbonate, about 11 percent is carbonate, and only about half a percent is CO2*.
The system has four measurable quantities: total dissolved inorganic carbon (DIC), total alkalinity (TA), pH and the CO2 pressure (pCO2). Knowing any two, plus temperature and salinity, fixes the other two and all the species. Oceanographers use this to turn shipboard DIC and alkalinity measurements into pH and pCO2, to check sensor data, to compute the calcite saturation state that governs whether shells and carbonate sediments dissolve, and to follow how absorbing fossil CO2 acidifies the ocean. This page offers the two most common pairs: DIC with alkalinity, and pH with alkalinity.
Several points are easy to get wrong. Alkalinity is not pH: it is a conserved quantity, the excess of proton acceptors over proton donors, and it does not change when CO2 simply dissolves. Borate, though a minor ion, supplies about 4 percent of alkalinity, so ignoring it gives badly wrong pH. The pCO2 reported here is really CO2* divided by the solubility K0, a fugacity-like quantity about 0.3 percent below the partial pressure. And the constants used are for one atmosphere of pressure, so deep-water results are only indicative.
A chart accompanies each mode, a Bjerrum plot, because the speciation changes shape with pH: CO2* dominates below pH 5.8, bicarbonate dominates between pH 5.8 and 9, and carbonate takes over above pH 9. Seawater sits in the bicarbonate region, near the edge where carbonate begins to fall as pH drops. For the related question of how much extra CO2 the ocean can take up, see the ocean carbon uptake calculator.
📐 Formula
📖 How to Use This Calculator
Steps
💡 Example Calculations
Example 1 — Warm Tropical Surface Water
25 °C, S = 35, DIC = 2000 µmol/kg, TA = 2300 µmol/kg
Example 2 — Cool Temperate Surface Water
10 °C, S = 34.5, DIC = 2150 µmol/kg, TA = 2320 µmol/kg
Example 3 — Cold, Carbon-Rich Water
2 °C, S = 34.8, DIC = 2300 µmol/kg, TA = 2350 µmol/kg (surface pressure)
Example 4 — From a Measured pH
25 °C, S = 35, pH = 8.05 (total scale), TA = 2300 µmol/kg
Example 5 — A Higher pH, Lower CO2 Ocean
25 °C, S = 35, pH = 8.18 (total scale), TA = 2300 µmol/kg
❓ Frequently Asked Questions
🔗 Related Calculators
How do you calculate pH from DIC and alkalinity?
Write total alkalinity as bicarbonate plus twice carbonate plus borate, express each term through DIC and the hydrogen ion concentration using K1, K2 and KB, then solve for [H+]. This calculator uses bisection, so no closed form is needed. At 25 C, S = 35, DIC 2000 and TA 2300 umol/kg it gives pH 8.056.
What is the Lueker et al. 2000 carbonate constant set?
It is a fit of the first and second dissociation constants of carbonic acid (K1 and K2) in seawater on the total pH scale, as a function of temperature and salinity. The Guide to Best Practices for Ocean CO2 Measurements recommends it, and it was fitted for 2 to 35 C and salinity 19 to 43.
What is total alkalinity in seawater?
Total alkalinity is the excess of proton acceptors over proton donors in a kilogram of seawater. In the open ocean it is dominated by bicarbonate and carbonate, with a smaller contribution from borate. It is conserved when CO2 dissolves or escapes, which makes it a key tracer.
What is the calcite saturation state Omega?
Omega equals [Ca2+] times [CO3 2-] divided by the solubility product Ksp of calcite. Above 1 calcite is supersaturated and tends to be preserved, below 1 it is undersaturated and tends to dissolve. At 25 C, S = 35, DIC 2000 and TA 2300 umol/kg, Omega is about 5.25.
Why does the calculator include borate?
Borate, B(OH)4-, carries about 90 umol/kg of alkalinity in surface seawater, roughly 4 percent of the total. Leaving it out and using carbonate alkalinity alone shifts the pH from 8.06 to 8.23 and cuts pCO2 from 385 to 248 uatm in the default case.
What is the difference between pCO2 and CO2*?
CO2* is the sum of dissolved CO2 and carbonic acid, in umol/kg. pCO2 is the gas pressure that would be in equilibrium with it, found by dividing CO2* by the solubility K0. At 25 C and S = 35, 10.94 umol/kg of CO2* corresponds to about 385 uatm.
What happens to carbonate ion when pCO2 rises?
Carbonate falls. Added CO2 reacts with carbonate and water to form bicarbonate, lowering pH and the saturation state. This is the chemical core of ocean acidification and the reason shell-forming organisms are sensitive to rising CO2.
Does this calculator include pressure effects?
No. All constants are for surface pressure (one atmosphere). In the deep ocean, pressure raises the dissociation constants and the calcite solubility product, so the true in situ pH is lower and the true saturation state is lower than shown. Use it for surface and shallow samples.
Which pH scale does the calculator use?
The total hydrogen ion scale, which includes the bound sulfate ion. It is the scale recommended for seawater work and the one the Lueker et al. constants and the Dickson boric acid constant are defined on. Free and seawater scale values differ slightly.
How accurate are the results?
Within the constants' stated range the pH is typically good to a few thousandths when DIC and alkalinity are accurate to about 2 umol/kg. Real uncertainty is dominated by measurement error, minor alkalinity contributions that are ignored, and cold-water constant errors below 8 C.
Can I use it for estuaries and fresh water?
Not reliably. Salinity is limited to 5 to 45 here, and the constants were fitted for salinity 19 to 43. Estuaries often have organic alkalinity, a different boron to salinity ratio and different ionic composition, all of which this model ignores.