Welcome. This tool sizes a full chlorination system — gas (cylinders / tonne drums) or sodium hypochlorite — from storage and withdrawal through dosing equipment to the contact tank and CT disinfection check.
Start on this tab by setting the plant flow and the chlorine dose you apply. The design mass feed computed here is the number that drives every later tab: container counts, withdrawal limits, ejector water, metering-pump duty and the CT calculation.
The model opens clean, with no numbers entered. To see how it all works, flick on Show worked example below — it fills every tab with a realistic set of values you can explore, then switch it off to start on your own plant. Model basis and references live behind the i button (top right); tunable coefficients live behind the gear.
| Scenario | Flow (L/s) | Dose (mg/L) | Feed (kg/day) | Feed (lb/day) |
|---|
Liquefied chlorine gas is drawn off as vapour, and the latent heat of vaporisation is pulled from the liquid and the container wall — so the container cools as you draw. Dependable continuous withdrawal is limited by how fast room air can put that heat back.
Set your container type, room temperature and how many containers run at once. The tool tells you the dependable withdrawal rate, whether your duty containers cover the design feed, and how much chlorine you are holding on site. Frost on a container marks where the wall has reached the air dew/frost point — the chlorine itself is not frozen (Cl₂ freezes at −102 °C).
The withdrawal-rate model (rated rate, temperature sensitivity, cut-off) lives under the gear so you can tune it to your supplier's data.
Vacuum gas dosing in three parts: a vacuum regulator on the container holds the line under vacuum, a variable-area rotameter (with a V-notch metering orifice) sets the gas rate, and an ejector uses motive water to entrain the gas into solution. The ejector's vacuum is what pulls gas through the whole train.
This tab sizes the rotameter full scale for your design feed, checks the turndown reaches your minimum feed, works out the minimum motive water for the ejector, and confirms the ejector has enough net operating pressure. Design limits (rotameter band, maximum solution strength, minimum net pressure) sit under the gear.
Sodium hypochlorite slowly decomposes two ways at once: to chlorate (3 OCl⁻ → ClO₃⁻ + 2 Cl⁻) and to oxygen (2 OCl⁻ → 2 Cl⁻ + O₂). Available-chlorine loss is roughly second-order in strength, so stronger product decays faster, and the rate is strongly temperature-driven — roughly doubling every ~5 °C.
Enter your delivered strength, density, storage temperature and how long you hold product. The tool shows the strength and chlorate you can expect at the end of that period, the half-life, and how it all shifts with temperature. Because real decay depends heavily on trace metals and stabiliser, the rate constants are tunable under the gear — and there's a one-click calibration there to back-solve them from a measured decay point.
| Temp (°C) | Strength (g/L) | Loss (%) | Half-life (d) | Chlorate (g/L) |
|---|
As hypochlorite decomposes by the oxygen route it releases O₂. Those bubbles collect in suction lines and pump heads and break the prime of diaphragm metering pumps — "vapour lock". This tab estimates the off-gas rate and suggests a vent size, then sizes the metering pump.
The key sizing move: because product weakens with age, the pump is sized on the weakest (aged) strength so it can still deliver the dose, and we check the fresh-strength rate stays within turndown. The mitigation checklist below covers flooded suction, degassing heads and the other practical steps that keep a hypochlorite pump primed.
A serpentine baffled contact tank gets closer to ideal plug flow as its flow-path length-to-width ratio rises. The baffling factor BF = t₁₀/T (the 10th-percentile residence time over the theoretical) is the fraction of contact time you can credit, and CT credit = free chlorine residual × t₁₀.
Enter the tank geometry, the free chlorine residual, temperature and pH, and your target Giardia and virus log credits. The tool returns the volume, theoretical and credited contact time, the CT achieved versus what's required, and the log removal you actually earn. The aim is to push BF toward 1 with high L:W, good inlet distribution and an outlet weir — then confirm the credited BF by a tracer test.
Everything you need to take your work away lives here — and only here. Choose which tabs to include, then export a clean PDF report, download the inputs and results as CSV, or save the whole session as a JSON file you can reload later.
Tip for the PDF: in your browser's print dialog turn Headers and footers off for the cleanest result. The report is laid out to keep result blocks together across page breaks and shows every value as text.
PDF and CSV cover the tabs ticked on the left. JSON always saves the whole session.
This tool sizes chlorine gas and sodium hypochlorite storage, withdrawal and dosing systems, and checks contact-tank CT disinfection. It is a design aid: confirm every credited value against current standards, manufacturer data and your regulator's compliance schedule before relying on it.
Applied dose is the total chlorine added (immediate demand + decay allowance + target free residual at the far point), not the residual leaving the contact tank. Size storage and feed equipment on the most credible sustained peak, then confirm turndown covers the average condition.
feed (kg/day) = Q (L/s) × dose (mg/L) × 86400 / 1e6
Dependable continuous gas withdrawal is treated as linear with room temperature, per the Chlorine Institute / industry convention: about 1 lb/day/°F for a 68–75 kg cylinder and about 8 lb/day/°F for a tonne drum, anchored near 18 kg/day (cylinder) and 180 kg/day (tonne) at 21 °C, falling to zero as the room approaches the cut-off.
rate(T) = max(0, rated + slope × (T − T_ref)), 0 at T ≤ cut-off
Manifolded containers must sit at the same temperature or a warmer/colder unit will try to feed the whole demand and frost. Provide standby equal to duty for vacuum auto-switchover. Liquid withdrawal to an evaporator removes the per-container gas-rate limit; never manifold containers feeding an evaporator. Short-burst cylinder capacity (~16 kg in the first half-hour) far exceeds the sustained rate but frosts out quickly.
Minimum motive water follows from the maximum allowable solution strength:
water (L/min) = feed (kg/day) × 1e6 / soln (mg/L) / 1440
The ejector must develop vacuum at this flow against the back pressure; net operating pressure (inlet − back pressure) must exceed the manufacturer minimum for the chosen capacity. V-notch rotameters give roughly 20:1 turndown; keep the minimum feed above ~5% of full scale. Cylinders use direct yoke-mount regulators; tonne drums use header/manifold-mounted regulators off the top gas valve.
Available-chlorine loss is integrated as second-order in [OCl⁻]:
1/C − 1/C₀ = k₂·t (C in mol/L as OCl⁻, MW 71)
Temperature dependence is Arrhenius:
k₂(T) = k₂,25 · exp[(E₀/R)(1/298.15 − 1/T)]
Chlorate formed = (1/3) × (OCl⁻ lost by disproportionation), reported as ClO₃⁻ (MW 83.45). The k₂ and E₀ defaults are engineering estimates only — real decay depends heavily on transition-metal content (Ni, Cu, Fe, Co accelerate the O₂ route), excess caustic, ionic strength, pH and light. Use the calibration in Settings to fit k₂ to a measured decay point for your product.
O₂ release is derived from the instantaneous second-order decomposition rate at the storage condition, with the (1−fchlorate) oxygen-route fraction giving 1 mol O₂ per 2 mol OCl⁻, converted to gas volume at temperature (ideal gas). Pump product rate = Cl₂ mass / strength; size on the weakest (aged) strength so the pump still delivers the dose, and confirm the fresh-strength rate sits within turndown. Vent diameter is a coarse natural-venting guide — size the real vent and any scrubber to the relevant standard with margin.
The baffle-factor estimate maps serpentine flow-path L:W to the USEPA categories (unbaffled 0.1, poor 0.3, average 0.5, superior 0.7, plug-flow 1.0), rising smoothly and approaching ~0.7 near L:W 40:1 with good inlet/outlet detailing. This is an estimate — the credited BF must be confirmed by a step or pulse tracer test.
Giardia CT uses the Smith et al. (1995) regression from the USEPA Disinfection Profiling & Benchmarking Guidance Manual (EPA 815-R-99-013, App. E):
CT = 0.353·L·[12.006 + e^(2.46 − 0.073T + 0.125C + 0.389pH)]
Valid ~0.5–25 °C, pH 6–9, C 0.4–3.0 mg/L; it runs slightly conservative versus the tables. Virus CT uses the SWTR free-chlorine 4-log table (12/8/6/4/3/2 mg·min/L at 0.5/5/10/15/20/25 °C, pH 6–9), interpolated on temperature and scaled linearly with log.
The gas-withdrawal slope and rated capacity are editable defaults — confirm against your supplier's container data. The hypochlorite k₂,25 default is approximate; calibrate it before relying on aged-strength pump sizing. Required CT values must be checked against the current USEPA tables and your Taumata Arowai / DWQAR compliance schedule. The credited baffle factor is a design estimate until proven by tracer test. The Giardia regression is only valid within the range noted above.
USEPA, Disinfection Profiling and Benchmarking Guidance Manual (EPA 815-R-99-013), incl. Smith et al. (1995) Giardia CT regression, Appendix E.
USEPA, Surface Water Treatment Rule (SWTR) Guidance Manual — free-chlorine CT tables and baffling-factor categories.
The Chlorine Institute — chlorine gas withdrawal-rate convention and container handling.
Tunable model coefficients and design limits. Defaults are sensible starting points — adjust to your suppliers, products and standards. Changes apply immediately and are saved with your session.
Clears saved inputs and reloads the tool to its clean state.