Insights › Cooling Water Chemistry
Cooling Water Chemistry Cooling Tower Carbonate Balance Cycles of Concentration Independent · No Chemistry Sold

Alkalinity is not pH — and your tower is why

Two towers on the same makeup water, at the same cycles, can sit a full pH unit apart. The pH in an open recirculating tower is not set by your alkalinity number — it is set by how much dissolved CO₂ the tower holds onto, and that depends as much on the hardware as on the water. Here is the carbonate balance behind it, what else rides in your alkalinity, and how fill, airflow, and cycles set how far the tower drives CO₂ toward the ambient endpoint — the kinetically limited steady-state pH that governs scaling and corrosion.

By Jim Green · Industrial Water Advisory · September 22, 2026
Two cooling towers on the same water — splash fill vs film fill — reaching different steady-state pH

Two towers, one water supply, two different pH readings

Here is a scenario every multi-tower site eventually sees. Two cooling towers draw from the same makeup header. Both run the same cycles of concentration. The lab reports the same alkalinity on both. Yet one tower sits at pH 8.4 and the other floats at 9.0 — and neither operator added a drop of caustic or acid to make it happen.

The instinct is to hunt for a chemistry difference. There usually isn’t one. The difference is the tower itself. To see why, you have to stop treating alkalinity and pH as the same measurement moving on a single dial — and understand the three things that actually set the pH of an open recirculating loop: what is dissolved in the water, how the carbonate system responds to it, and how hard the tower degasses. This article walks through all three, with the numbers, because the practical decisions — acid setpoints, cycle limits, scaling risk — all fall out of getting them right.

Alkalinity and pH measure two different things

pH is intensity — how acidic the water is at this instant, the activity of hydrogen ion on a log scale. Alkalinity is capacity — how much strong acid the water can absorb before its pH collapses. One is a state; the other is a reserve. You can have high alkalinity at moderate pH, or modest alkalinity at high pH. They move together only when nothing else in the system is changing — and in an open tower, something else is always changing.

In cooling water, alkalinity is carried mostly by bicarbonate (HCO₃⁻), with carbonate (CO₃²⁻) taking over a growing share as pH climbs past about 8.3, and hydroxide (OH⁻) appearing only above pH 10 or so. Total (M) alkalinity, expressed as ppm CaCO₃, is the sum of those three. They are related to pH, but they are not locked to it, and the reason is the one species most mental models leave out entirely: dissolved CO₂ — carbonic acid — which is not counted in alkalinity at all.

The carbonate balance, with the ratio that actually sets pH

The carbonate system is a chain of coupled equilibria:

CO₂ + H₂O ↔ H₂CO₃ ↔ HCO₃⁻ + H⁺ ↔ CO₃²⁻ + 2H⁺

The single most useful thing to carry in your head is the first dissociation, written as the Henderson–Hasselbalch form:

pH ≈ pK₁ + log₁₀( [HCO₃⁻] / [CO₂] )

where pK₁ is roughly 6.35 near ambient temperature. Read that carefully: pH is set by the ratio of bicarbonate to dissolved CO₂ — not by alkalinity alone. If you strip CO₂ out of the water, the denominator drops, the ratio climbs, and pH rises — even though the alkalinity number never moved. Nothing was added. A volatile acid simply left through the top of the tower.

Put numbers on it. Take a loop holding bicarbonate at about 200 ppm as CaCO₃ (roughly 2.4 mmol/L of HCO₃⁻). If the water is in balance with dissolved CO₂ at about 0.24 mmol/L, the ratio is 10:1, log₁₀ of that is 1, and pH lands near 7.35. Now let the tower strip CO₂ down to 0.024 mmol/L — a tenfold reduction — and the ratio becomes 100:1, the log term becomes 2, and pH climbs a full unit to about 8.35. Same alkalinity the entire time. That one worked example is the whole article in miniature: pH followed the CO₂, not the alkalinity.

How the lab measures it — and why the P/M split matters

The alkalinity numbers you act on come from a two-endpoint titration. Titrating with standard acid to the phenolphthalein endpoint (pH ~8.3) gives P-alkalinity — it captures hydroxide plus half the carbonate. Continuing to the methyl-orange endpoint (pH ~4.5) gives total or M-alkalinity — the full bicarbonate, carbonate, and hydroxide inventory. The relationship between P and M is a fast field diagnostic:

The critical point that never appears on the bench sheet: dissolved CO₂ is not part of alkalinity. The titration starts at the sample’s own pH and adds acid; it never sees the free CO₂ that is actually holding pH down. So the very species that governs pH is invisible to the measurement most operators use to predict pH. That is the structural reason the “alkalinity tells me my pH” shortcut fails.

Why waters cycle differently — reason one: alkalinity is not only carbonate

The methyl-orange titration measures everything that neutralizes acid down to pH 4.5. In clean makeup that is bicarbonate and carbonate. But depending on the source water and the treatment program, the titration can also pick up species that have nothing to do with the carbonate system:

This is why two makeups can report the same total alkalinity and cycle to completely different pH and scaling behavior. If a meaningful fraction of one water’s alkalinity is borate or silicate, its carbonate inventory — the part that actually couples to CO₂ and to calcium — is smaller than the number suggests. Feed acid to that water on the assumption it is all bicarbonate and you will overshoot. The corollary is a program trap worth stating plainly: raising orthophosphate or running silicate-bearing makeup moves the alkalinity number without moving the carbonate system that governs pH. Before you trust an alkalinity reading to predict pH or scaling, know what is actually in it. Run the P and M split; if the numbers will not reconcile with a straight carbonate/bicarbonate balance at the measured pH, the difference is your non-carbonate alkalinity, and you should account for it explicitly.

Why waters cycle differently — reason two: the tower sets how far CO₂ strips toward equilibrium

An open recirculating tower is, in effect, a large countercurrent air stripper that happens to reject heat as its day job. It cascades water over fill and pulls air through it continuously, and that intimate air–water contact drives dissolved CO₂ toward equilibrium with the ambient air — where the partial pressure of CO₂ is only about 0.04% (roughly 400 ppm by volume, and climbing year over year, but still very low). That ambient level is the thermodynamic endpoint and the direction the mass transfer always points. Henry’s law fixes how much CO₂ the water would hold if it ever got there: very little, which through the ratio above would mean a high pH on the same alkalinity.

But the tower never actually gets there. This is the part that is easy to state loosely and worth stating carefully. The residence time and interfacial area over a single pass are not enough for the gas–liquid transfer to complete, so the water leaves the fill still supersaturated in CO₂ relative to the atmosphere — sitting at some fractional approach to the endpoint, not at the endpoint itself. Field and modeling work bears this out: outlet water typically behaves as if it were in equilibrium with a gas around 800 ppm CO₂, not the ~400 ppm in air, and the extent of stripping is genuinely kinetically limited. So the pH a tower actually runs at is a kinetically set steady-state pH, not a thermodynamic equilibrium. The distinction matters in practice: a carbon balance on the loop cannot credit all the available CO₂ off-gassing per pass — it has to apply a stripping efficiency, an approach-to-equilibrium fraction, so only part of the thermodynamically available CO₂ leaves each circuit.

The makeup water arriving at the tower is frequently supersaturated with CO₂ relative to the atmosphere — groundwater especially can carry many times the atmospheric-equilibrium level. The tower’s first act on that water is to blow the excess CO₂ off, and pH rises accordingly. How large an approach fraction it achieves — how hard it strips — is a function of the hardware and how it is run, not of the chemistry:

So the film-fill, high-airflow tower achieves a larger approach fraction, strips CO₂ aggressively, and floats up to pH 9.0. The older splash-fill unit beside it achieves a smaller approach, holds more CO₂, and settles at 8.4. Note what this is not: it is not two different equilibria. Both towers share the same driving force toward the same ambient endpoint — the difference is how far along that path each one gets before the water leaves the fill. Same endpoint, different approach, because the hardware sets the kinetics. If both truly reached ambient equilibrium, they would land at the same pH; the fact that they don’t is the proof that neither is at equilibrium. The two-tower diagram above lays that side by side; the figure below shows the underlying relationships quantitatively.

Left: steady-state pH rising with alkalinity and cycles for low, moderate, and high air contact. Right: CO2 removal rising and dissolved pCO2 falling as air-to-water ratio increases from splash to film fill.
Left: steady-state pH climbs as alkalinity concentrates with cycles — and the whole curve shifts up the harder the tower strips CO₂ (a larger approach to the ambient endpoint, low → high air contact). Right: as air-to-water contact (L/G) rises from splash to film fill, the fraction of CO₂ removed rises and the dissolved CO₂ partial pressure remaining falls — which is what pulls pH up at constant alkalinity. Illustrative carbonate-behavior for an open recirculating tower; the curves show approach to equilibrium, not a reached equilibrium.

Where this bites: scaling, corrosion, and the LSI you rely on

None of this would matter if pH were just a number on a log sheet. It matters because pH is a first-order driver of both calcium carbonate scaling and mild-steel corrosion, and because the indices most programs lean on — Langelier (LSI), Ryznar, calcite saturation — take pH as a direct input.

Calcium carbonate solubility falls as pH rises, because higher pH shifts the carbonate system toward CO₃²⁻, the ion that pairs with calcium to precipitate CaCO₃. A tower that strips hard and floats to pH 9.0 is therefore sitting at a materially higher scaling driving force than its splash-fill neighbor at 8.4 — on the same water, at the same calcium. If you calculate LSI for both using a single assumed pH, you have already mis-stated the risk on at least one of them. The pH you feed the index has to be the steady-state pH that tower actually runs at, which comes from the tower’s stripping behavior, not from the makeup analysis or a rule of thumb.

The same logic runs the other direction on the mild-steel side. Let pH drift low — a cold-weather loop holding more CO₂, or an aggressive acid setpoint — and you trade scaling risk for general and CO₂-driven corrosion. The operating window between “scales” and “corrodes” is exactly the pH band the tower’s CO₂ stripping is constantly trying to move you around in. Managing that window is the job; assuming alkalinity pins pH is how programs lose control of it.

Why it matters for your program

Your steady-state pH — and therefore your scaling and corrosion risk — is a property of the tower and the water, not the water alone. That has several practical consequences worth acting on:

  1. pH can move with no chemistry change. Swap fill, add or retune a fan VFD, bring a cell back online, change basin level, or push cycles, and you have moved your steady-state pH without touching a chemical — because you changed the approach-to-equilibrium fraction, not the water. When pH drifts and nothing in the treatment changed, look first at what changed mechanically or seasonally.
  2. The same acid setpoint does not fit every tower. Because each tower strips CO₂ differently, the acid feed that holds one unit in a scaling-safe window can overshoot or undershoot the tower right next to it — even on shared makeup and shared chemistry. Setpoints belong to towers, not to sites.
  3. Season is a variable, not a constant. Expect the steady-state pH of a given tower to shift with temperature and heat load through the year. Revisit acid and pH setpoints on a seasonal basis rather than setting and forgetting.
  4. Know what is in your alkalinity before you trust it. Run the P/M split routinely. When non-carbonate alkalinity is present — borate, silicate, phosphate, organics — back it out before using alkalinity to reason about pH or to feed a saturation index.
  5. Alkalinity alone will not tell you where pH lands. You need both the water’s carbonate inventory and the specific tower’s degassing behavior. That is a property you can measure and model — not guess from a makeup analysis.

A field diagnostic: is your pH doing what your chemistry predicts?

When pH and alkalinity seem to disagree, work it in this order before you touch a chemical:

  1. Confirm the measurement. Calibrate the pH probe and re-run the P/M titration. A fouled or drifting pH electrode is the most common false alarm.
  2. Back out non-carbonate alkalinity. Reconcile P and M against the measured pH. If they will not close on a carbonate-only balance, quantify the borate/silicate/phosphate/organic contribution and set it aside.
  3. Check what changed mechanically. Fill, fan speed/VFD schedule, cells in service, basin level, load, and season. Any of these moves CO₂ stripping, and therefore pH, at constant alkalinity.
  4. Compare against a sister tower. Two towers on the same header are a built-in experiment. If they diverge, the difference is almost always degassing, not chemistry.
  5. Then, and only then, adjust chemistry. Once you know the carbonate inventory and the tower’s degassing behavior, an acid or pH-control change is a calculated move rather than a guess.

The takeaway is simple to state and easy to miss on a busy site: control alkalinity and pH as two separate levers, because the tower treats them separately. If your pH reads high while alkalinity is dropping, that is not a contradiction — it is a degassing tower doing exactly what its mechanics dictate. Understand the CO₂ the tower holds, and the pH stops being a mystery and becomes something you can predict.

Not sure where your tower’s pH will actually land?

Independent, vendor-neutral cooling water modeling. We take your full water analysis, cycles, and tower mechanics — fill, airflow, and all — and predict where steady-state pH and scaling risk actually sit, before you touch an acid setpoint. No chemistry sold.

← Back to Insights