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.
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 row | Min / Ideal / Max | Why it ships this way | Source |
|---|---|---|---|
| Free Chlorine (FC) — Pools | 1 / 2 / 3 ppm | Floor 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 Tubs | 3 / 4 / 5 ppm | A 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 Pools | 2 / 3 / 4 ppm | Public 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. |
| pH | 7.2 / 7.5 / 7.8 | The 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 / Tablets | 80 / 100 / 120 ppm | Buffers pH so it does not bounce. | Common service band; Hayward AquaRite publishes 80–120 ppm. |
| Total Alkalinity (TA) — Salt Cell Pools | 60 / 70 / 80 ppm | A 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 Pools | 30 / 40 / 50 ppm | Tablets already carry stabilizer, so the usual job is keeping it from climbing. | Common outdoor-pool service band. |
| Cyanuric Acid (CYA) — Salt Cell Pools | 60 / 70 / 80 ppm | A 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 Pools | 20 / 30 / 50 ppm | An 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 Tubs | 0 / 0 / 30 ppm | Ideal 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 Pools | 200 / 300 / 400 ppm | Enough calcium that plaster is not the thing dissolving. | Common plaster band; Hayward prints 200–400 ppm. |
| Calcium Hardness (CH) — Vinyl / Fiberglass Pools | 175 / 225 / 275 ppm | Those shells have no plaster to protect, so they run a little softer. | Service-chart split by surface. |
| Salt | 2,700 / 3,050 / 3,400 ppm | The cell's generating window. | Hayward AquaRite — 2,700–3,400 ppm. Ideal is the midpoint of that band. |
| ORP Setpoint | 650 / 700 / 750 mV | A 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. |
| Phosphates | 0 / 0 / 100 ppb | Phosphate 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).
Why the Recommended Chlorine Is Not Always 1–3 ppm
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:
| System | Ratio of CYA | Example |
|---|---|---|
| Liquid / tablet | min 7.5%, ideal 9%, max 12% | CYA 40 → about 3.0–4.8 ppm, aiming at 3.6 |
| Salt cell | min 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
| Term | What it is | How OpsVara computes it |
|---|---|---|
| pH | Measured pH | As entered. |
| TF | Temperature factor | Interpolated from the Taylor / APSP °F table (32 °F = 0.0 … 105 °F = 0.9). |
| CF | Calcium factor | log10(calcium hardness) − 0.4. |
| AF | Alkalinity factor | log10(carbonate alkalinity). Carbonate alkalinity is total alkalinity minus the cyanurate share. |
| TDSF | Dissolved-solids factor | 12.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 LSI | Status | What the visit does |
|---|---|---|
| Within ±0.3 | Balanced | No saturation dose. |
| 0.3 to 0.5 | Attention | Dose toward 0, but it is not the headline. |
| Beyond ±0.5 | Critical 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 gal | Cap per 10,000 gal | Secondary effects the plan already counts |
|---|---|---|---|
| Liquid chlorine 12.5% | 10.7 fl oz per 1 ppm FC | 128 (256 on a shock) | Slight pH rise |
| Cal-hypo 73% | 2 oz per 1 ppm FC | 16 (32 on a shock) | ~0.8 ppm calcium per 1 ppm FC |
| Dichlor 56% | 2.5 oz per 1 ppm FC | 16 (32 on a shock) | ~0.9 ppm CYA per 1 ppm FC |
| Trichlor 90% | 1.6 oz per 1 ppm FC | 12 (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) | 64 | Also strips alkalinity (~10 ppm TA per quart) |
| Soda ash | 6 oz per 0.1 pH | 32 | Lifts TA hard (~7 ppm per 0.1 pH) |
| Sodium bicarbonate | 0.15 lb per 1 ppm TA | 4 | Tiny pH rise |
| Calcium chloride 77% | 1/9 lb per 1 ppm CH | 3 | — |
| Cyanuric acid | 1.3 oz per 1 ppm CYA | 26 | — |
| Pool salt | 5.9/70 lb per 1 ppm salt | 40 | — |
| Phosphate remover | 0.004 fl oz per 1 ppb | 32 | Clouds 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.
| Field | Default | Why |
|---|---|---|
| Baseline chlorine loss | 1.0 ppm/day | Bottom 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 interval | 7 days | Used only when the pool has no next visit and no contract interval. |
| Maximum carry-over | 14 days | Never size one dose past this, however far off the next visit is. |
| Fill water calcium | 100 ppm | Local tap, for drain calculations. |
| Winter threshold | 60 °F | Below 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
- Open SettingsWater Chemistry. Rows you have not edited read Default and match the table above.
- 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.
- 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
- Water Chemistry and Treatment Protocols FAQStraight answers on target ranges, why the chlorine target moves with cyanuric acid, what a Treatment Protocol does, and what actually has to be set up before the Dose Plan sizes chemicals.
- Dosing Rules and Application RatesAttach the default dosing rule or application rate to the products we recognise, see what your shelf can dose, and fix the ones a stock unit is blocking.
- Bill a monthly pool plan, plus chemicals usedSet up a fixed monthly maintenance plan that also bills the chemicals your techs actually applied, from the first quote through a paid invoice.
- Complete a VisitClock in if required, open today's job, work Arrive through Complete, or skip the visit for today with a reason.