Why Pool Chemistry Defaults Are Set This Way

Where the shipped target ranges, chlorine-to-stabilizer rule, dose rates, and Langelier Saturation Index come from, with the public sources behind each number.

Pool Maintenance

Updated September 18, 2026

Every pool account starts with the same target ranges, dose rates, and saturation-index math. This page is the "why" behind those numbers — the public sources, the stoichiometry, and the few places that are a documented judgment call — so a customer, a health inspector, or a new chemist can see what we based the engine on.

How to change a row, what Custom vs Default means, and how the Dose Plan uses volume live in Water Chemistry and Treatment Protocols FAQ. How to attach a rate to a jug is in Dosing Rules and Application Rates.

Your permit and the product label win

These are starting points, not a health-code filing. A commercial or public pool must follow its operating permit. A residential company can set any band it wants. The Free Chlorine (FC) — Commercial & Public Pools row is the CDC Model Aquatic Health Code floor; lowering it is a local-code question, not an OpsVara one.

Open the live numbers on SettingsWater Chemistry. Every row you have not edited reads Default.

Target Ranges

Setting rowMin / Ideal / MaxWhy it ships this waySource
Free Chlorine (FC) — Pools1 / 2 / 3 ppmFloor and ceiling for a backyard pool. The working target is scaled to stabilizer (next section), never below 1 ppm and never above 10 ppm.CDC Healthy Swimming — at least 1 ppm in pools (2 ppm when cyanuric acid is used).
Free Chlorine (FC) — Spas & Hot Tubs3 / 4 / 5 ppmA spa is hotter and more crowded per gallon, so it burns chlorine faster. Its own row, so editing the pool band never moves a spa.CDC — at least 3 ppm in hot tubs, and not to soak above 10 ppm.
Free Chlorine (FC) — Commercial & Public Pools2 / 3 / 4 ppmPublic water starts higher than a backyard. Applies when Pool Kind on the site is a commercial pool.CDC Model Aquatic Health Code — 2 ppm floor when stabilizer is in use. Check the local permit before lowering.
pH7.2 / 7.5 / 7.8The professional service band. Below ~7.2 the water is hard on plaster and eyes; above ~7.8 chlorine works poorly and scale risk rises.CDC home-pool band is 7.0–7.8. We ship the tighter 7.2 floor used in most service charts.
Total Alkalinity (TA) — Liquid Chlorine / Tablets80 / 100 / 120 ppmBuffers pH so it does not bounce.Common service band; Hayward AquaRite publishes 80–120 ppm.
Total Alkalinity (TA) — Salt Cell Pools60 / 70 / 80 ppmA cell pushes pH up all day. A high alkalinity gives it more to push against, so these pools are run lower. Not copied from the manufacturer TA table (Hayward still prints 80–120) — it is the salt-cell chemistry, not the salt number.Industry practice for SWG pH control. Detection is Salt (SWG), a recorded cell model, or a salt feature on the Pool Profile.
Cyanuric Acid (CYA) — Liquid Chlorine / Tablet Pools30 / 40 / 50 ppmTablets already carry stabilizer, so the usual job is keeping it from climbing.Common outdoor-pool service band.
Cyanuric Acid (CYA) — Salt Cell Pools60 / 70 / 80 ppmA cell makes unstabilized chlorine that sunlight strips within hours, so it needs more shielding, not less.Hayward AquaRite — stabilizer 60–80 ppm. Pentair IntelliChlor outdoor-pool manuals typically call for 50–80 ppm; we use the overlapping Hayward band.
Cyanuric Acid (CYA) — Controller-Run Pools20 / 30 / 50 ppmAn ORP controller doses against millivolts. Stabilizer both depresses that reading and fouls the probe, so the controller under-doses while still reporting it is at setpoint.Controller-vendor practice (often 30 ppm or less for probe life), not a CDC table.
Cyanuric Acid (CYA) — Spas & Hot Tubs0 / 0 / 30 ppmIdeal 0 so nothing is ever dosed toward it. The max only flags an inherited level.CDC advises no stabilizer in a hot tub. MAHC 5.7.3 — cyanuric acid or stabilized chlorine shall not be used in spas.
Calcium Hardness (CH) — Plaster Pools200 / 300 / 400 ppmEnough calcium that plaster is not the thing dissolving.Common plaster band; Hayward prints 200–400 ppm.
Calcium Hardness (CH) — Vinyl / Fiberglass Pools175 / 225 / 275 ppmThose shells have no plaster to protect, so they run a little softer.Service-chart split by surface.
Salt2,700 / 3,050 / 3,400 ppmThe cell's generating window.Hayward AquaRite — 2,700–3,400 ppm. Ideal is the midpoint of that band.
ORP Setpoint650 / 700 / 750 mVA check on the controller, not a chlorine level. ORP does not convert to ppm.Most controllers default near 650 mV. CDC MAHC discusses ORP as an operating window (commonly cited 600–900 mV). WHO 2006, Volume 2 §5.10.4 treats ORP as a monitor and does not map it to parts per million.
Phosphates0 / 0 / 100 ppbPhosphate is algae food. There is no benefit to any amount of it, which is why min and ideal are both 0. Reported in ppb, not ppm.Service practice.

Three readings are captured on a visit and have no range row: Total Chlorine (to compute combined chloramine), Water Temp (LSI and seasonal chlorine), and TDS (LSI).

Cyanuric acid protects chlorine from the sun and also binds it. A flat 1–3 ppm band ignores that, which is how a salt pool held at the recommended CYA 70 used to be dosed chlorine on every visit and then flagged High.

So the working target is a fraction of the stabilizer reading taken that day, then clamped by the Free Chlorine row:

SystemRatio of CYAExample
Liquid / tabletmin 7.5%, ideal 9%, max 12%CYA 40 → about 3.0–4.8 ppm, aiming at 3.6
Salt cellmin 5%, ideal 6.5%, max 10%CYA 70 → about 3.5–7.0 ppm, aiming at 4.6

The engine takes the larger of the flat band and the CYA-derived value at each of min / ideal / max, then never targets below 1 ppm or above 10 ppm. A spa still gets its 3 ppm floor at low CYA. An explicit Custom Free Chlorine row is a hard clamp.

That ratio is industry practice, not a CDC table. CDC still publishes the 1 ppm (2 ppm with stabilizer) and 3 ppm spa floors we use as floors. The 7.5% rule is what keeps a stabilized pool sanitary without fighting its own High badge.

If cyanuric acid was not tested, the chlorine target cannot be scaled and LSI is computed as if stabilizer were 0, which reads less corrosive than reality. The Dose Plan says so.

Langelier Saturation Index

LSI answers a different question from the target bands: will this water dissolve the shell and the heater, or drop scale in them?

LSI = pH + TF + CF + AF − TDSF

TermWhat it isHow OpsVara computes it
pHMeasured pHAs entered.
TFTemperature factorInterpolated from the Taylor / APSP °F table (32 °F = 0.0 … 105 °F = 0.9).
CFCalcium factorlog10(calcium hardness) − 0.4.
AFAlkalinity factorlog10(carbonate alkalinity). Carbonate alkalinity is total alkalinity minus the cyanurate share.
TDSFDissolved-solids factor12.1 below 1,000 ppm TDS, 12.2 at or above. If TDS was not tested but salt is ≥ 1,000 ppm, the high factor is used — a salt pool cannot have low TDS. No fake TDS number is written.

The cyanurate share of alkalinity follows the Wojtowicz curve (the trade rule of thumb is one-third of CYA at pH 7.5; the curve is shallower at low pH so a sour pool is not over-called corrosive).

Worked anchor, pinned in tests: pH 7.5, TA 100, CH 300, CYA 40, 80 °F, TDS 500 → LSI ≈ 0.06.

Absolute LSIStatusWhat the visit does
Within ±0.3BalancedNo saturation dose.
0.3 to 0.5AttentionDose toward 0, but it is not the headline.
Beyond ±0.5Critical on plaster (scaling always; corrosive on plaster). Vinyl and fiberglass corrosive stays Attention — those shells have no calcium to strip. Scaling is critical on every surface, because scale fouls heaters and salt cells regardless.

Taylor Technologies publishes the same ±0.3 balanced band and ±0.5 action threshold. Taylor's Watergram write-up is the field form of the same formula.

How the Dose Plan Balances LSI

The index is not a badge only. planLsiBalance solves pH, then alkalinity, then calcium against the real LSI function (bisection, because pH enters twice). Target LSI is 0.

  • Scaling (LSI > 0.3) — lower pH first, then alkalinity. Calcium is never raised, even if calcium sits below its own band. Adding calcium to already-scaling water is how heaters and cells fail.
  • Corrosive (LSI < −0.3) — raise pH, then alkalinity, then calcium. In winter (below the Winter threshold, default 60 °F) calcium may be carried above its normal band, on purpose, to hold the index.

Where a band and the index disagree, the index wins, because the water is actively etching or scaling. The FAQ lists the on-plan wording.

Default Dose Rates

Rates are "amount per 10,000 gallons to move the reading by one unit." One unit is 1 ppm everywhere except pH, whose unit is 0.1 pH, matching how acid and soda-ash charts are always printed. Per-visit caps are safety limits, not bugs; a capped line names how much of the reading is still short.

10,000 gallons of water weighs about 83,450 lb. The chlorine rates below were checked against that mass and the product's available chlorine; liquid chlorine's 10.7 fl oz (vs a stoichiometric ~10.2) leaves a little room for a jug that has sat in the sun.

Product (table strength)Rate per 10,000 galCap per 10,000 galSecondary effects the plan already counts
Liquid chlorine 12.5%10.7 fl oz per 1 ppm FC128 (256 on a shock)Slight pH rise
Cal-hypo 73%2 oz per 1 ppm FC16 (32 on a shock)~0.8 ppm calcium per 1 ppm FC
Dichlor 56%2.5 oz per 1 ppm FC16 (32 on a shock)~0.9 ppm CYA per 1 ppm FC
Trichlor 90%1.6 oz per 1 ppm FC12 (24 on a shock)CYA up, alkalinity and pH down
Muriatic acid 31.45%8 fl oz per 0.1 pH at TA 100 (5 at TA 60, 10.5 at TA 140)64Also strips alkalinity (~10 ppm TA per quart)
Soda ash6 oz per 0.1 pH32Lifts TA hard (~7 ppm per 0.1 pH)
Sodium bicarbonate0.15 lb per 1 ppm TA4Tiny pH rise
Calcium chloride 77%1/9 lb per 1 ppm CH3
Cyanuric acid1.3 oz per 1 ppm CYA26
Pool salt5.9/70 lb per 1 ppm salt40
Phosphate remover0.004 fl oz per 1 ppb32Clouds water; cap is tight on purpose

A 10% chlorine is not 12.5%: attaching the default rescales the rate (and the cap) to the strength in the product name. The rule is always stored in the product's own stock unit.

Combined chloramine above 0.5 ppm, or an algae / cloudy / green-water symptom, converts the visit to breakpoint chlorination: free chlorine must reach 10× the combined chloramine (or 10 ppm on an algae chip). A partial shock re-forms chloramines, so the plan does not scale it down.

Acid and bicarbonate are never recommended on the same visit. Cal-hypo is a poor choice on a pool already at the top of its hardness band. Shocking with dichlor is how pools end up stabilizer-locked.

Season and Demand

Account for the season when calculating doses is on by default under Season & Demand. Chlorine demand roughly doubles for every 18 °F of warming, so a weekly pool needs far more chlorine in July than in October. With the setting on, chlorine is sized to still be in range when the tech next visits, using water temperature, sun, bather load, stabilizer UV cover, and the gap to the next visit — not to the band at the moment of the test.

FieldDefaultWhy
Baseline chlorine loss1.0 ppm/dayBottom of the trade's 1–2 ppm/day rule at 80 °F, full sun, light load, adequately stabilized. Temperature then scales it up.
Default visit interval7 daysUsed only when the pool has no next visit and no contract interval.
Maximum carry-over14 daysNever size one dose past this, however far off the next visit is.
Fill water calcium100 ppmLocal tap, for drain calculations.
Winter threshold60 °FBelow this, calcium may be carried above band to hold LSI.

A hot weekly liquid-chlorine pool often cannot hold enough residual to cover seven days. The honest output is the one that matters: the plan doses to the safe ceiling and reports the day the water will fall below minimum, which is the argument for a mid-week visit, a floater, more stabilizer, or more cell output.

Turn the setting off to dose to the band exactly as read.

What Is a Judgment Call

Not every number has a CDC paragraph. These are flagged in the engine as such:

  • Dichlor and trichlor CYA-per-FC factors, taken from published granular charts.
  • Muriatic acid's TA-band rows (60 / 100 / 140) and soda-ash's 6 oz per 0.1 pH, taken from published acid / soda-ash charts.
  • Salt-cell alkalinity 60–80 ppm (manufacturer TA tables are still 80–120).
  • Controller-run CYA 20–50 ppm (probe-life practice).
  • Vinyl / fiberglass calcium sitting below the plaster band.
  • Phosphate action at 100 ppb and the extra chlorine-demand bump above 300 ppb.
  • The 7.5% FC:CYA ratio itself — industry practice layered on CDC floors, not a CDC table.

If your company uses different numbers, type them into the row and save. It reads Custom. Reset to Defaults at the bottom left puts every row back after a confirmation.

Verify it worked

  1. Open SettingsWater Chemistry. Rows you have not edited read Default and match the table above.
  2. Hand this page to anyone who asks "why is chlorine 1–3?" — the short answer is that 1–3 is the floor and ceiling; the working target follows stabilizer, per the ratio table.
  3. On a visit, a water test with pH, TA, calcium, and temperature produces an LSI verdict. Missing temperature leaves LSI blank; missing CYA warns that the index is biased high.

Frequently asked questions

Why does the Dose Plan recommend more chlorine than the Free Chlorine 1–3 ppm row?

The 1–3 ppm row is a floor and a ceiling, not the working target. Cyanuric acid binds chlorine, so the engine scales the target to the stabilizer reading (about 7.5–12% of CYA for a tablet pool, lower for a salt cell). A chlorine pool at CYA 40 therefore aims near 3.6 ppm, not 2.

Are these numbers a health-code requirement?

No. They are shipped starting points. CDC and the Model Aquatic Health Code set floors for public water (1 ppm in pools, 3 ppm in spas, 2 ppm in pools that use stabilizer). Your local permit can require more. Change any row on Settings → Water Chemistry; rows you leave alone stay marked Default.

What does a balanced LSI mean?

Langelier Saturation Index near 0 means the water is neither dissolving plaster and metal nor depositing scale. OpsVara treats ±0.3 as balanced and ±0.5 as the visit headline. The Dose Plan then moves pH first, alkalinity second, and calcium last — and never adds calcium to already-scaling water.

Related guides