engineering · water-wastewater · disinfection

Chlorine CT Contact Time Calculator

Calculates achieved chlorine CT from a minimum residual and direct or process-unit T10, solves the T10 required for a user-entered CT target, or sizes a minimum effective volume from peak flow and a user-entered baffling factor.

Last updated
Formula Focus

Calculator overview

Inputs and outputs

This summary comes from the calculator's published input and output contract.

Inputs

Process units - volume (US gallons), flow (US gal/min) Conditional
About this input

Exactly 12 transport-complete rows are submitted. Set Use row? to Yes for each serial unit to include and No to ignore the other four cells. Shipped unused rows use nonblank neutral values (Unused row, volume 0, flow 1, baffling factor 1) so the current platform can marshal the fixed grid without blank cells. Every Yes row requires a 1-to-80-character non-whitespace label, positive minimum operating volume and peak flow in matching selected units, and a positive user-entered baffling factor no greater than one. Null, empty, ASCII-whitespace-only, tab-only, and nonbreaking-space-only cells are rejected at platform intake. Duplicate labels are allowed and count independently. Contract 0.17 cannot encode per-grid-column types, units, bounds, or dropdown membership, so workbook validation and Model_Status enforce the row selector and active-row relationships.

Default 12 rows
ColumnRange or allowed values
Use row? No, Yes
Unit / process Not declared
Minimum operating volume At least 0
Peak hourly flow per minute At least 0
Baffling factor T10/T 0 to 1
CCT Minimum Chlorine Residual
About this input

Minimum residual C for the modeled segment at the applicable peak-hour condition. Zero is valid only when evaluating achieved CT without a target comparison; every solve or comparison requires a positive value.

Unit mg/L Default 1 Range At least 0
CCT Time Basis Conditional
About this input

Use one directly entered effective T10 or sum effective T10 values calculated from serial process units.

Default Direct T10 Allowed Direct T10, Process-unit grid
CCT Volume Unit Conditional
About this input

Select the common volume unit used for every entered volume and for the numerator of every per-minute flow. Hidden when volume is not used.

Default US gallons Allowed US gallons, Cubic metres, Litres
CCT User Required CT Conditional
About this input

Positive CT target supplied by the user from the applicable approved basis. No target lookup table is included.

Unit mg-min/L Default 1 Range At least 0
CCT Compare To Target Conditional
About this input

Optionally compare achieved CT with a positive user-entered target; the calculator does not choose the target.

Default No Allowed No, Yes
CCT Calculation Mode
About this input

Evaluate CT from an effective contact-time basis, solve the T10 required for a user-entered CT target, or solve the effective minimum volume required at a peak flow and baffling factor.

Default Evaluate achieved CT Allowed Evaluate achieved CT, Solve required T10, Solve required minimum volume
CCT Design Baffling Factor Conditional
About this input

Positive user-authorized ratio of effective T10 to theoretical detention time, no greater than one, used only to solve required volume.

Unit fraction Default 0.4321 Range 0 to 1
CCT Direct T10 Minutes Conditional
About this input

Directly entered effective contact time at the modeled peak-hour/minimum-volume condition; zero is allowed and returns an explicit CHECK.

Unit minutes Default 10 Range At least 0
Design peak flow (US gal/min) Conditional
About this input

Positive peak hourly flow expressed per minute in the selected volume unit, used only to solve required volume.

Unit US gal/min Default 100 Range At least 0

Outputs

CCT Required T10 Minutes Conditional
About this output

User-entered required CT divided by positive minimum residual; shown for solve modes and optional achieved-CT comparisons.

Unit minutes
Required minimum volume (US gal) Conditional
About this output

Minimum effective operating volume required so volume divided by peak flow and multiplied by the entered baffling factor equals the required T10. It excludes freeboard and unusable volume.

Unit US gal
CCT Target Assessment Conditional
About this output

Below, at, or above the user-entered CT target. This is arithmetic screening and does not select or approve the target.

No unit declared
Model Status
About this output

Returns actionable NOT VALID or CHECK text for malformed active inputs, zero achieved CT, a below-target comparison, or a baffling-factor-dependent result; otherwise OK. It is not a compliance determination.

No unit declared
CCT Time Basis Used
About this output

Identifies whether the result uses direct T10, a sum of process-unit T10 values, or algebraic solution from the user-entered target.

No unit declared
CCT Active Process Unit Count Conditional
About this output

Number of complete process-unit rows included in the serial T10 sum. Duplicate labels are counted as separate rows.

Unit count
CCT Achieved CT Conditional
About this output

Minimum chlorine residual multiplied by effective T10 for the modeled disinfection segment.

Unit mg-min/L
CCT Contact Time Margin Conditional
About this output

Achieved effective T10 minus the T10 calculated from the user-entered CT target and residual.

Unit minutes
CCT Effective T10 Minutes Conditional
About this output

Direct entered T10 or the sum of effective contact times from complete process-unit rows at minimum operating volume and peak hourly flow.

Unit minutes
CCT CT Target Ratio Conditional
About this output

Achieved CT divided by the positive user-entered target. Values can exceed 100 percent and do not independently establish regulatory compliance.

Unit fraction

What it is

The Chlorine CT Contact Time Calculator works out the CT a disinfection segment actually delivers - the minimum chlorine residual multiplied by the effective contact time T10 - and can run the same relation backwards to size what you would need.

It has three modes. Evaluate achieved CT takes a residual and a contact time and reports the CT delivered. Solve required T10 takes a CT target you supply and reports the contact time it demands at your residual. Solve required minimum volume takes that same target plus a peak flow and a baffling factor and reports the effective operating volume needed to produce it.

Contact time can be entered directly, or built from up to twelve serial process units, each with its own minimum operating volume, peak hourly flow and baffling factor; their effective times are summed. Volumes and flows can be US gallons, cubic metres or litres.

It is an arithmetic aid for disinfection profiling work. It carries no CT tables: the target you compare against has to come from your primacy agency, and so does every baffling factor you enter.

Methodology

Purpose and model boundary

This calculator evaluates chlorine CT from minimum residual and effective contact time, solves the T10 required for a user-entered CT target, or solves the effective minimum volume required at a peak flow and baffling factor. Achieved CT can use one directly entered T10 or the sum of serial process-unit T10 values.

It is an arithmetic implementation of CT = C x T10, detention time, and baffling-factor relationships. It does not select a regulatory CT target, organism, disinfectant credit, residual sampling point, or baffling factor, and it is not a compliance determination.

Inputs and units

  • Calculation mode selects achieved CT, required T10, or required minimum volume.
  • Minimum chlorine residual, C, is in mg/L at the modeled peak-hour/minimum-volume condition.
  • Direct T10 is in minutes. Alternatively, the process-unit grid accepts up to 12 serial units with a label, minimum operating volume, peak flow per minute, and user-authorized baffling factor.
  • Volume unit is US gallons, cubic metres, or litres. Grid volume and per-minute flow must use the same selected volume unit.
  • User-required CT is a positive mg-min/L value supplied from the applicable approved basis.
  • Design peak flow is in selected volume units per minute, and design baffling factor, BF, is a fraction greater than zero through 1.

The fixed grid always transmits exactly 12 rows. The page's Add and Remove controls change the existing Use row? value between Yes and No; they do not change the number of rows this calculator accepts.

Governing relationships

For each active serial process unit i, theoretical detention time and effective contact time are

T_i = V_i / Q_i

and

T10_i = T_i x BF_i.

The process-grid basis sums serial effective times:

T10_effective = sum(T10_i).

For the direct basis, T10_effective is the entered direct T10. Achieved CT is

CT_achieved = C x T10_effective.

When a target is active:

  • T10_required = CT_required / C;
  • CT target ratio = CT_achieved / CT_required;
  • contact-time margin = T10_effective - T10_required.

Required effective minimum volume is

V_required = T10_required x Q_peak / BF_design.

The chart applies the entered residual to a workbook-authored T10 series and therefore shows the same linear CT relationship; it is not a regulatory CT table.

Calculation sequence

  1. Resolve calculation mode, active time basis, optional comparison, and active volume unit.
  2. Validate the residual and the mode-specific direct time, target, peak flow, and baffling factor.
  3. If the process grid is active, require at least one Yes row and validate all 12 row selectors; each Yes row must have a 1-to-80-character non-whitespace label, positive volume and flow, and 0 < BF <= 1.
  4. Calculate direct or summed effective T10 and achieved CT, or solve required T10 and then required volume.
  5. Calculate target ratio, margin, active-unit count, and interpretation fields when applicable.
  6. Run the finite-numeric gate, build the published CT chart, and evaluate status in the order below.

Outputs and interpretation

Effective T10 and achieved CT describe the entered segment. Required T10 and required minimum volume appear only on their relevant solve paths. Target ratio below 100% and a negative contact-time margin both indicate an entered target has not been reached. Active process-unit count is the number of rows marked Yes; inactive neutral rows contribute nothing.

The target assessment and status describe only arithmetic against the user-entered target. They do not establish whether that target, residual, operating condition, or crediting method is acceptable to a primacy agency.

Validation and status logic

The workbook evaluates status in this order:

Condition Returned status
A listed mode/unit is not selected; an active scalar violates its domain; no grid row is active; a selector is not Yes/No; or an active row lacks a valid label, positive volume/flow, or 0 < BF <= 1 NOT VALID: choose listed options and correct visible CT fields or used process-unit rows
Inputs pass, but a derived result or chart value exceeds the supported finite numeric range NOT VALID: derived result exceeds the supported calculation range
Achieved-CT mode has zero residual CHECK: zero chlorine residual produces zero CT
Achieved-CT mode has zero effective T10 CHECK: zero effective contact time produces zero CT
An achieved-CT target comparison is active and CT target ratio < 0.999999999999 CHECK: achieved CT is below the user-entered target
A process-unit baffling factor contributes to the result, or required-volume mode uses the design baffling factor CHECK: verify entered baffling factors with the primacy agency
None of the preceding conditions applies OK

The rows are precedence order. A below-target warning therefore takes precedence over the baffling-factor verification warning; invalid and finite-range states precede both.

Assumptions and limitations

Residual, peak flow, minimum operating volume, and contact-time basis must represent the same segment and operating condition. Process units are treated as serial and their effective times are additive. Each baffling factor is assumed authorized and representative of the modeled unit.

The model includes no regulatory CT table, organism/inactivation lookup, temperature or pH adjustment, disinfectant-species correction, decay, demand, tracer-study interpretation, default baffling-factor table, freeboard, unusable volume, standby/redundant volume, short-circuiting beyond the entered factor, or hydraulic sizing. It cannot establish treatment credit or compliance.

Restrictions and non-computing states

Residual and direct T10 may be zero only when evaluating achieved CT without a target that requires division by residual. Solves and comparisons require positive residual and target. Required-volume mode requires positive peak flow and design baffling factor. The grid is exactly 12 rows by 5 columns; unused rows remain sent complete neutral rows marked No.

The current input rules cannot express every per-grid-column constraint, so the workbook enforces the selector, label, active-row, and relational rules. Blank, null, whitespace-only, or misshaped grid entries can also be refused before calculation.

Errors and warnings

Input checking can reject a malformed fixed-grid shape, blank cells, unknown options, or values outside the declared limits. Workbook NOT VALID means the active model state cannot compute; workbook CHECK identifies a computed zero, shortfall, or baffling-factor review. A network or calculation-service failure is not a CT result.

References

The workbook implements the definitional CT relations and reproduces no CT table, no baffling-factor table, and no figure from any publication. Every target and every baffling factor is a user entry.

Required CT values and baffling factors must come from the guidance and the primacy agency having jurisdiction over your system. Nothing shipped here supplies either.

Frequently asked questions

Where do I get the required CT to compare against?
From your primacy agency, using the approved basis for your system - the required CT depends on the target organism, the log inactivation being claimed, the water temperature, the pH and the chlorine concentration, and it is read from published tables. This calculator carries none of those tables and will not look the value up. It takes the target you enter and does the arithmetic around it.
What baffling factor should I use?
Not one this tool suggests, because it suggests none. The baffling factor is a characterisation of how badly a particular basin short-circuits, it is normally taken from agency guidance for the basin type or established by tracer study, and it must be agreed with the authority that will accept your CT credit. Every calculation here that consumes a baffling factor raises a standing CHECK saying exactly that. It is the largest single source of error in a CT calculation: an assumed 0.5 where the agency would accept 0.3 overstates your disinfection by 40 percent.
Why does the tool want minimum volume and peak flow rather than the normal ones?
Because CT credit is claimed at the worst condition the segment sees, not the typical one. The least water in the basin and the most water moving through it give the shortest contact time and therefore the lowest CT the segment ever delivers. Entering average operating values produces a number that is arithmetically correct and operationally meaningless, and nothing in the arithmetic can tell which you gave it.
Does this tell me my log inactivation or whether I am compliant?
No, on both counts. It computes achieved CT and compares it with a target you supply. It does not convert CT into log-inactivation credit, does not sum credit across segments, does not build a disinfection profile or benchmark, and does not make any regulatory determination. The ratio and target assessment outputs are arithmetic screening against your own number.
Can I put my parallel contact basins in the grid?
Not as parallel units. The grid sums effective contact times, which is only correct for units in series within one disinfection segment - water passing through each in turn. Parallel trains, recycle, separate segments, or a residual that changes materially between units all need separate treatment, and the tool cannot detect that it has been handed one of those. Summing parallel basins will overstate contact time substantially.
Why was my grid rejected when I blanked out the rows I am not using?
Because unused rows must carry placeholder values rather than blanks. The grid submits all twelve rows every time, and a null, empty or whitespace-only cell anywhere in it is refused at intake rather than skipped - a cell containing only a space, a tab or a non-breaking space counts as empty too. The way to switch a row off is the Use row selector set to No, leaving its other cells populated with the neutral values they shipped with.
This page is provided by LogicCommons for informational purposes only. Results are analysis outputs computed from the inputs you supply and are not engineering advice, a design, or a substitute for review by a licensed professional under the codes adopted where the work is built. Verify all inputs and results independently.

LogicCommons is in beta. If a result, label, or reference looks wrong, tell us here; we read every message.