Water readings

Alkalinity and calcium hardness are treated as ppm as CaCO3.

Waiting

Result -

Enter readings to calculate LSI.

Read the LSI guide.

Saturation pH -
Carbonate alkalinity -
CYA alkalinity -
Balance target pH -

How PoolKit calculates saturation index

PoolKit calculates the Langelier Saturation Index (LSI), which pool worksheets often shorten to Saturation Index (SI). To calculate it, PoolKit compares the measured pH to saturation pH (pHs): the pH where the water is at equilibrium with calcium carbonate (CaCO3), so dissolving plaster and forming calcium scale are both unlikely.

PoolKit calculates pHs from total dissolved solids, temperature, calcium hardness, and carbonate alkalinity. Because Cyanuric Acid (CYA) contributes to a total alkalinity test, PoolKit estimates the CYA portion at the measured pH and subtracts it before using alkalinity in the saturation pH equation.

Sources: the EPA operator reference for the continuous LSI equation and the CDC Model Aquatic Health Code Annex for aquatic-venue interpretation and the factor-table method.

CYA-adjusted alkalinity

LSI uses carbonate alkalinity, not raw total alkalinity. Because CYA contributes to a total alkalinity test but does not protect calcium carbonate balance the same way carbonate alkalinity does, PoolKit removes the CYA portion first.

  1. Start with total alkalinity: -.
  2. At this pH, 1 ppm CYA counts as - of alkalinity.
  3. CYA alkalinity: -.
  4. Carbonate alkalinity used for LSI: -.

The MAHC factor method uses CYA-adjusted total alkalinity for the AF lookup and advises deducting 30% of CYA. PoolKit instead estimates the CYA contribution at the measured pH. If a value has already been CYA-adjusted before entry, leave CYA at 0 here to avoid subtracting it twice.

Compared with the MAHC factor table

The MAHC Annex presents LSI = pH + TF + CF + AF - TDSF, with each factor selected from a table. PoolKit calculates the same saturation balance concept with continuous equations instead of table breakpoints.

Continuous equation

It avoids rounding jumps between table rows, shows the CYA correction explicitly, handles edge cases like zero alkalinity, and is easier to link from a logbook with exact readings.

Factor table

It is fast, familiar in operator training, and practical when an operator needs to calculate by hand without a device.

Step Formula Value Used
Input pH measured pH -
Temperature conversion (F - 32) x 5 / 9 -
TDS term A (log10(TDS) - 1) / 10 -
Temperature term B -13.12 x log10(Celsius + 273) + 34.55 -
Calcium term C log10(calcium hardness) - 0.4 -
CYA alkalinity factor estimated from pH and CYA chemistry -
CYA alkalinity CYA x cyanurate alkalinity factor -
Carbonate alkalinity total alkalinity - cyanurate alkalinity -
Alkalinity term D log10(carbonate alkalinity) -
Saturation pH pHs = (9.3 + A + B) - (C + D) -
LSI pH - pHs -

TDS is treated as ppm or mg/L for the saturation pH equation.

If adjusted carbonate alkalinity is below 1 ppm, PoolKit shows the diagnostic work but does not report an LSI.