Technical Knowledge Base•Theory, Standards & FAQs

Platform FAQ & Scientific Methodology

What each platform model does, where its numbers come from, and what it does not do. Background chemistry that the software does not model is labelled as such.

Platform Module 01

Command Centre: Inspection Rule Engine & Decision Support

Rule-based risk scoring with placeholder thresholds, Sentinel-2 NDCI screening, and draft inspection memos for human review.

Command Centre
Governing Frameworks:Sentinel-2 L2A (NDCI, NDTI)Open-Meteo WeatherPlaceholder Rule ThresholdsGemini Draft Memos (Human Review)

Four independent rules add points to a score capped at 100. All thresholds and points are unverified placeholders in the parameter registry:

  • Rule 1 — Heavy rain (+40): forecast daily rain above 45 mm (Open-Meteo).
  • Rule 2 — Thermal stratification (+30): a surface-to-bottom temperature difference above 1.5°C together with forecast air temperature above 28°C. Currently inactive: no depth-profile observations are ingested, so the gradient is always empty.
  • Rule 3 — Low water clarity (+15): an observed Secchi depth below 1.2 m. Only stored, non-synthetic observations count; there is no default value.
  • Rule 4 — Satellite anomaly (+35): a stored Sentinel-2 NDCI (chlorophyll proxy) above 0.12.

An inspection is flagged only at a score of 60 or more (an unverified placeholder). The intent is that one signal alone, such as a satellite reading affected by cloud shadow or glint, does not trigger a field visit; the value itself has not been tuned against any record of past events.

A satellite anomaly alone scores 35, so the status stays SYSTEM RESILIENT while the trigger is still listed. Combinations that reach 60 include satellite + heavy rain (75). The stratification rule is inactive until depth-profile data exist.

At 60 or more, the platform drafts an inspection briefing (with the Gemini API if a key is configured, otherwise a template) for a person to review. It does not dispatch anyone.

Sentinel-2 Level-2A surface reflectance bands B4 (red) and B3 (green) give the Normalized Difference Turbidity Index:

NDTI = (B4 − B3) / (B4 + B3)

It is then converted with uncalibrated placeholder formulas:

  • Turbidity (NTU) = 12.5 × exp(3.0 × NDTI)
  • TSS (mg/L) = 1.8 × Turbidity

These coefficients are unverified placeholders, not fitted to any water samples. Treat the outputs as relative indicators only. Only stored observations computed with the current NDTI formula are used.

Lake records are defined in code (data/ontario_lakes.py, data/bc_lakes.py, data/us_lakes.py). They include Otty Lake, Farren Lake, Big Rideau Lake, Lake Muskoka, Lake Simcoe and other Ontario lakes, one British Columbia lake and three California lakes. Only Otty Lake and Lake Simcoe have a delineated watershed (inflow and outflow reaches); Otty Lake is the only lake with owner-verified inputs, and many other lake values are placeholders.

Adding a lake currently means:

  1. Lake and watershed records: add the lake (area, depth, volume, baselines) and, if needed, its reaches with flow direction checked against official hydrography (such as the Ontario Hydro Network). Outflows are never counted as lake inflow. Each new number goes into the parameter registry with its source and status.
  2. Bathymetry (optional): upload a depth-sounding CSV to build a 3D depth mesh. Lake volume in the models comes from the lake record, not from the mesh.
  3. Observations: water quality readings arrive through the harvesters (DataStream with an API key, USGS NWIS and the Water Quality Portal for US lakes, Sentinel-2) or field logging. No automatic anomaly baselines are built from them.

What each source is used for today (see the Data Sources table for full citations):

DomainSourceHow it is used
HydrographyOntario Hydro Network (OHN)Reference for flow direction; not ingested. Reach directions are set in data/watersheds.py.
Otty land cover & TP baselineRVCA (2017) catchment reportReport values: 2014 land cover (Table 14) and deep-point TP mean (Table 3). Not a data feed.
BathymetryUser-uploaded sounding CSVs3D depth meshes only (Ontario GeoHub CSV format supported).
SatelliteCopernicus Sentinel-2 L2ANDCI and NDTI via the harvester at one open-water point per lake (400 m window), not a whole-lake average; non-synthetic stored observations only; uncalibrated.
WeatherOpen-Meteo7-day forecast; days 8–30 use unsourced monthly climatology placeholders.
Water qualityDataStream (Ontario Lake Partner Program, Living Lakes Canada Lake Blitz, Big Rideau Lake Association; full citations); USGS NWIS & Water Quality Portal (US lakes)Harvested observations (DataStream only with an API key). Lake Partner Program spring total phosphorus and Secchi baselines are cited through RVCA (2017, Table 3); Lake Partner observations are also harvested through DataStream.

Three-Tier Data Labels

  • [Sensor (Live)]: automated instrument readings. No live sensor feeds are connected at present.
  • [Observed (Field Sample)]: grab samples, Secchi readings or harvested monitoring records.
  • [Modeled (Simulation)]: any model output, including the forecast and saturation index.
Parameter Registry

Where did the Otty Lake watershed numbers come from?

Each value has a status in the parameter registry: verified (checked by the owner against the source), derived (calculated from a cited source), assumed, or unverified placeholder.

1. Reaches and Areas
  • Burgess Bay inflow: 17.0 km² (unverified placeholder).
  • McLaren's Bay inflow: 8.0 km² (unverified placeholder).
  • Lake surface: 6.4 km² (verified).
  • Jebbs Creek outlet: an outflow to the Tay River, carrying the same-day sum of inflows; never counted as inflow loading. The outlet reach uses 31.1 km² (unverified placeholder); the lake record's catchment area is 49.2 km² (assumed).
2. Land Cover (derived)

From RVCA (2017) Table 14, 2014 land cover, with open water removed: forest 47.2%, agriculture 15.3%, urban 9.5% (settlement + transportation), residual 28.0% (wetland and meadow-thicket). The same shares are applied to both inflow reaches because the report gives no sub-catchment split.

3. Runoff Coefficients (assumed)
  • Forest 0.10, with a 15 mm initial abstraction
  • Agriculture 0.45 (Ia 2 mm)
  • Urban 0.70 (Ia 1 mm)
  • Residual 0.15 (Ia 2 mm)
4. Phosphorus and Decay
  • P leaching (kg/ha/yr): forest 0.05 (assumed); agriculture 0.098 (derived from a provincial handbook pasture value, 9.8 mg/m²/yr); urban 1.2 and residual 0.05 (placeholders).
  • Wetland P retention: Kadlec (2016) P-k-C* model with assumed k, C* and N; wetland area placeholder.
  • Lake TP baseline: 0.013 mg/L verified (RVCA 2017, Table 3); the model keeps a retained 0.012 mg/L until recalibration.
  • E. coli decay: k₂₀, θ and UV α are placeholders.
Platform Module 02

Forecast & Analytics: 30-Day Screening Forecast

Open-Meteo weather (days 1–7) and climatology placeholders (days 8–30) drive a lumped runoff model, a Kadlec wetland P model, a one-box lake phosphorus balance with Monte Carlo breach risk, and a hydroxyapatite saturation index. Uncalibrated.

Launch Forecast
Governing Frameworks:Open-Meteo Weather (Days 1–7)Kadlec (2016) Wetland P-k-C*Interim PWQO TP 0.020 mg/LStumm-Morgan (1996) Aquatic ChemistryMonte Carlo TP Breach Risk (10,000 Default)Forest Initial Abstraction 15 mm (Assumed)

The 30-day forecast feeds weather inputs into a simple daily catchment model:

Weather Inputs

Precipitation (mm): daily rainfall depth (1 mm = 1 L/m²).

Air Temp (°C): 2 m air temperature. The model uses it as a water-temperature proxy, max(0, air).

Days 1–7 come from Open-Meteo; days 8–30 use unsourced monthly climatology placeholders (the month's mean rain every day, no storms).

Watershed Response (Modeled)

Runoff (m³/s): daily runoff from per-land-use runoff coefficients (assumed) with initial abstractions, including a 15 mm forest store that carries over between days (lakes with a delineated watershed). It is not a routed hydrograph and is not calibrated to gauged flow.

Wetland P Retention (%): phosphorus retained by a Kadlec (2016) P-k-C* wetland model; the wetland area (5% of catchment) is a placeholder.

No. The percentage is phosphorus retained, not water.

  • Water: the model has no wetland water storage; all runoff passes through to the lake on the same day.
  • Phosphorus: the retained share comes from a Kadlec (2016) P-k-C* model (rate k 10 m/yr, background C* 0.010 mg/L, N = 4 tanks; assumed values). The wetland area, 5% of the catchment, is a placeholder. Baseflow phosphorus bypasses the wetland.

Read the percentage as modeled nutrient-load capture, not water impoundment. It has not been checked against field measurements.

Solid Emerald Line

Projected DO (mg/L): starts from the median of stored DO readings (or a registered default) and changes daily with the water-temperature proxy through placeholder depletion and recovery constants. No reaeration or oxygen-demand model.

Shaded Emerald Band

Assumed P10–P90 (80%) spread: ±1.28σ of an assumed normal spread whose width grows with temperature. It is not a Monte Carlo result.

Red Dash (5.0 mg/L)

Reference line (unsourced): a display threshold for low oxygen. No source is registered for this value, and the model does not simulate sediment phosphorus release.

None of the lines are measurements. Only air temperature is a forecast input; the two water lines are display estimates derived from it.

LineColor & StyleWhat it is
Air TempOrange dashed2 m air temperature (Open-Meteo days 1–7; climatology placeholders after)
Surface Water TempRed solidDisplay estimate from air temperature (unsourced formula); no stated depth
Bottom TempCyan solidDisplay estimate from the surface line (unsourced formula); no stated depth

Stratification is not modelled. The gap between the two water lines is fixed by the display formula and says nothing about actual layering.

They are computed in the browser for display only, from unsourced formulas:

T_surface = 0.85 · T_air + 2.5°C

Unsourced constants (0.85, 2.5); not a heat-budget model.

T_bottom = max(4.0°C, T_surface − 4.5°C)

Unsourced offset (4.5); floored at 4.0°C, near the temperature of water's maximum density.

The forecast engine does not use these lines. For DO it uses a separate water-temperature proxy: max(0, air temperature). The pathogen model is separate: it takes a water temperature set on the pathogen simulator.

The Saturation Index compares the water's ion activity product with the solubility product of hydroxyapatite [Ca₅(PO₄)₃OH] (log K_sp = −58.0, an assumed value):

  • SI > 0 (supersaturated): precipitation is thermodynamically possible. It says nothing about how fast, or whether, it happens.
  • SI < 0 (undersaturated): hydroxyapatite would tend to dissolve rather than form.

The forecast treats total phosphorus as if it were all dissolved orthophosphate, so the value shown is an upper bound (SI_max). SI is displayed for context; it does not drive the breach risk, and algal response is not modelled.

For each forecast day the engine runs a Monte Carlo on the one-day lake phosphorus balance (MC_ITERATIONS = 10,000 samples by default; the value is configurable):

  • Rainfall: normal noise around the day's rain depth, with an assumed 15% coefficient of variation. Inflow scales with the sampled rain.
  • Phosphorus load: scaled with rain plus an assumed 15% multiplicative noise.
  • Starting TP: assumed lognormal distribution fitted to empirical quantiles, where a lake has a registered spread; otherwise fixed.
  • Breach risk: the share of samples with simulated TP above the interim PWQO of 0.020 mg/L (a single-sample test; the objective itself applies to the ice-free seasonal mean). The current-state breach flag is set when that share exceeds 80%.

No intensity-duration-frequency curves or build-up/wash-off kinetics are used, and the model is not calibrated.

Each inflow reach gets a daily flow: rain minus each land use's initial abstraction, times that land use's runoff coefficient (forest 0.10, agriculture 0.45, urban 0.70, residual 0.15; all assumed), weighted by land-use share, times reach area, spread over the day, plus a placeholder baseflow. There is no channel routing or travel time; an outlet reach carries the sum of same-day inflows.

Reach phosphorus load (kg/day) = Q (m³/s) × reach TP concentration (mg/L, a placeholder) × 86.4.

Provenance: Reach areas, baseflows and TP concentrations are unverified placeholders; Otty land-use shares come from RVCA (2017), Table 14. See Data Provenance ↗.

Forest sponge: forest cover gets a 15 mm initial abstraction (an assumed value); rain below it produces no forest runoff.

LID scenario tool: the development simulator subtracts a pond volume and a permeable-pavement infiltration volume from post-development runoff, and scales phosphorus by exp(−0.04 × buffer width in m). These constants are unsourced and not yet registered; results are illustrative only.

The 15.0 mm forest initial abstraction (I_a) is an assumed value in the parameter registry: about 2.5 mm canopy interception plus about 12.5 mm surface depression storage and early infiltration. No provincial or conservation-authority source has been searched for it yet; a 12.5 mm alternative (without the canopy part) is listed and not selected.

In the model: daily rain up to 15 mm on forest cover produces no forest runoff; rain above it runs off at the forest runoff coefficient (0.10, assumed). Other land uses have their own abstractions (agriculture 2 mm, urban 1 mm, residual 2 mm; assumed). In the 30-day forecast the forest store carries over from day to day: it drains by 2.5 mm/day of evapotranspiration (assumed), then fills with rain, and only rain beyond its free capacity runs off. Single-event routing starts with an empty store. Lakes without a delineated watershed use one lumped unit with no forest share.

The SCS initial-abstraction concept (runoff starts only after an initial loss) is the general idea behind this bucket; the platform does not use the SCS curve-number method.

Inflow E. coli concentration is a land-use-weighted event mean concentration (placeholder values), raised on rain days above a wash-off threshold, and reduced by a placeholder wetland efficiency. First-order decay is applied over the lake's hydraulic residence time:

k = k₂₀ · θ^(T − 20) + α · I   (k₂₀ 0.5 /day, θ 1.07, α 0.002; all placeholders)

The result is a whole-lake mean, not a beach estimate. It is compared with the Health Canada Beach Action Value of 235 E. coli per 100 mL: at or below is “Open”, above is “Advisory”. This is a screening comparison; the guideline applies to individual samples.

Regulatory Context — not modeled in software: other Ontario benchmarks (for example the PWQO for E. coli and the provincial recreational water protocol) are not used by the model.

None of the forecast models is calibrated against observations. Their main limits:

One Fully Mixed Box

The lake is a single well-mixed volume with a daily phosphorus balance (inflow, baseflow, outflow equal to same-day inflow, and assumed settling of 12.4 m/yr). No layers, stratification, circulation, or bays.

No Lake Temperature Model

Water temperature is proxied by max(0, air temperature). The surface and bottom lines on the chart are unsourced display formulas. No accuracy has been measured.

Screening-Level Watershed Inputs

Runoff coefficients and abstractions are assumed; phosphorus export rates range from derived (agriculture) to placeholders (urban, residual); reach areas and baseflows are placeholders. No stream-gauge or tributary-sample data are used.

Forecast Horizon

Days 1–7 use Open-Meteo weather; days 8–30 use monthly climatology placeholders with no storms, so later days show a smooth seasonal drift, not a forecast of events.

The models were set up for Otty Lake, a small inland Ontario lake. Use elsewhere needs lake-specific inputs.

Watershed Routing

Same-day reach flows from land-use runoff coefficients, reach phosphorus loads, and the road-salt scenario model.

Open Watershed Simulator
Platform Module 03

Digital Wet Lab / Coagulation Jar Test

Uncalibrated screening estimates for coagulant dose and phosphorus removal, with general chemistry background.

Launch Simulator
Governing Frameworks:Empirical Dose Formula (Unsourced)Stumm-Morgan (1996) Aquatic ChemistryHydroxyapatite SI (log Ksp −58.0, Assumed)Not a Compliance Tool

The Wet Lab separates inputs into two cards, loosely following the structure of a bench jar test (e.g. ASTM D2035, Standard Practice for Coagulation-Flocculation Jar Test of Water):

  • Card A — Raw Water Baseline & Inflow Event: the untreated water before chemicals are added: Total Phosphorus (TP), Total Suspended Solids (TSS) and Biochemical Oxygen Demand (BOD), the raw pH (recorded for reference), and a storm rainfall depth R (mm), which is used only in the recommended-dose banner.
  • Card B — Chemical Dosing & Operating Conditions: the doses of hydrated lime (Ca(OH)₂), alum (Al₂(SO₄)₃) and ferric salt (FeCl₃), and the target operating pH in the jar.

The simulator does not model mixing or settling steps; removal is an empirical dose–response calculation (see the questions below).

The raw pH (Card A) is recorded for reference only. All removal and dose calculations use the target operating pH (Card B).

Raw Inflow Baseline pH (Card A)

Natural lake pH reflects regional geology: softwater Canadian Shield lakes tend to be near neutral, while limestone basins in southern Ontario tend to be more alkaline. (Typical ranges are not sourced in the platform.)

Target Operating pH (Card B)

The simulator's pH-efficiency curves are illustrative and unsourced: alum peaks at pH 6.5, ferric at pH 7.2, and calcium efficiency rises linearly above pH 6.

The recommended dose displayed in the banner is an empirical screening formula:

Ca Dose (mg/L) = max(5.0, (Initial TP × 220.0 + R × 0.25) × max(1.0, 9.5 - pH) / 1.3)

The constants 220, 0.25, 9.5, 1.3 and the 5.0 floor are unsourced placeholders. The formula does not use hydroxyapatite thermodynamics; separately, the Saturation Index panel uses an assumed log Ksp of −58.0 (unsourced midpoint).

  • Stoichiometry (background): calcium precipitates orthophosphate as hydroxyapatite: 5Ca²⁺ + 3PO₄³⁻ + OH⁻ ⇌ Ca₅(PO₄)₃OH(s), about 2.16 g Ca per g P.
  • The 220× factor: an unsourced placeholder intended to represent calcium lost to carbonate; alkalinity is not modelled.
  • Lakes vs treatment facilities (background): lime is not normally used for in-lake phosphorus inactivation, because raising pH to 9–10.5 would harm aquatic life; in-lake treatment typically uses alum or lanthanum-modified bentonite clay. The dose formula is a screening tool intended for controlled settings (plants, clarifiers, stormwater facilities), not for open lakes.

The simulator models three: hydrated lime, alum and ferric salt. The notes below are general background.

1. Hydrated Lime [Ca(OH)₂]

A precipitant used in plants and stormwater clarifiers at high pH; not used directly in open lakes.

2. Alum [Al₂(SO₄)₃] & Lanthanum-Modified Clay

Used for clarification and in-lake phosphorus inactivation. Limited pH change in well-buffered water; alum consumes alkalinity and can lower pH in softwater lakes.

3. Ferric Chloride / Sulfate [FeCl₃ / Fe₂(SO₄)₃]

Forms ferric phosphate and ferric hydroxide flocs over a broad pH range.

4. Polyaluminum Chlorides (PAC) & Organic Polymers

Pre-hydrolyzed coagulants and polymers that bridge small flocs (not modelled in the simulator).

Domain background (not modelled by the platform).

Neither is modelled mechanistically. The recommended-dose formula adds a simple linear rainfall term; it is not a SWMM buildup/washoff model.

  • The formula adds 0.25 × R inside the bracket, which is then scaled by the pH factor (an unsourced placeholder).
  • R increases only the recommended dose. It does not change the modelled raw water chemistry (TP, TSS, BOD) or the removal results.
  • The term is intended as a rough stand-in for storm-driven coagulant demand (for example the first flush of soil and organic matter), not a model of it.

The watershed and forecast models use one value per land class from the parameter registry (status shown):

Land classRunoff coeff (C)Initial abstractionP leaching (kg/ha/yr)
Forest0.10 (assumed)15 mm canopy store (assumed)0.05 (assumed)
Agriculture0.45 (assumed)2 mm (assumed)0.098 (derived: provincial pasture coefficient)
Urban0.70 (assumed)1 mm (assumed)1.2 (unsourced placeholder)
Residual0.15 (assumed)2 mm (assumed)0.05 (unsourced placeholder)

In the Forecast & Analytics Workbench (/platform/forecast), the Storm Simulator mixes a single-storm runoff volume (lumped catchment, agricultural share only) with lake baseline chemistry using unsourced placeholder runoff concentrations, and passes the mixed TP, TSS and pH into the Jar Test Simulator. Separately, the tributary routing engine estimates kg/day phosphorus export for the configured watersheds.

ASTM D2035 is the “Standard Practice for Coagulation-Flocculation Jar Test of Water”. Typical jar tests use a rapid mix, slow flocculation and a settling period (speeds and times vary by protocol); these steps are not simulated here.

Municipal Regulatory Framing

Municipal treatment operates under provincial approvals (Environmental Compliance Approvals). Software does not replace physical compliance testing.

(Regulatory Context — not modeled in software)

What the platform does today:

  1. Screening (implemented): an empirical dose formula and an empirical dose–response removal model (unsourced constants) plus a hydroxyapatite saturation index (assumed log Ksp −58.0) give an uncalibrated first estimate.
  2. Site-specific fitting (not yet implemented): fitting the jar-test coefficients to local jar-test records is a planned capability. No calibration code exists yet.

Operators could use the screening tool to narrow trial dose ranges before physical jar testing.

Common tools include:

Spreadsheets & Log Sheets

Manual records with static formulas.

USGS PHREEQC / MINTEQ

Established thermodynamic speciation codes; standalone desktop/command-line tools with a steep learning curve.

EnviroSim BioWin

Wastewater process simulator for activated sludge plants; not aimed at lakes or stormwater ponds.

This platform: brings together lake observations, user-uploaded bathymetry point files (Ontario GeoHub CSV format supported), a lumped daily runoff model, and a hydroxyapatite saturation-index check in one web workbench. Its models are screening tools with mostly unsourced or assumed constants (see the parameter registry).

Digital Wet Lab / Chlorine Disinfection Calibrator

Fits Chick-Watson to dose–kill data entered at one contact time (Hom not fitted: m not identifiable).

Launch Calibrator
Governing Frameworks:Hom Model (log₁₀)Chick-Watson Model (log₁₀)Single Contact TimeNo Temperature or pH AdjustmentNot a Compliance Tool

The dose you enter is treated as free chlorine (mg/L); chlorine speciation is not modelled. In water, free chlorine is an equilibrium mixture of hypochlorous acid (HOCl) and hypochlorite ion (OCl⁻):

HOCl ⇌ H⁺ + OCl⁻   (pKₐ = 7.54 at 25°C)

It is commonly supplied as:

  • Sodium Hypochlorite (NaOCl): liquid bleach.
  • Calcium Hypochlorite (Ca(OCl)₂): dry granules or tablets.
  • Chlorine Gas (Cl₂): dissolved via vacuum chlorinators at larger utilities.
HOCl vs. OCl⁻

HOCl is generally reported to be a much stronger disinfectant than OCl⁻. With pKₐ 7.54, about 78% of free chlorine is HOCl at pH 7.0 and under 10% at pH 8.5. (General chemistry; the calibrator does not adjust for pH.)

Domain background (not modelled by the platform).

No. They are different chemical species:

FREE CHLORINE (HOCl / OCl⁻) — Tab 2
  • Role: Oxidizing disinfectant, dosed on purpose.
  • Target: Microbial pathogens.
  • Fate in Water: Reactive; consumed by organic matter and other reductants.
CHLORIDE ANION (Cl⁻) — Tab 3
  • Role: Dissolved ion, e.g. from winter road salt (NaCl, CaCl₂).
  • Fate in Water: Conservative: it does not degrade or volatilize, and leaves a lake mainly through outflow.
  • In this platform: the Biochar Adsorption tab is an experimental sorption calculator (Thomas column model); it is not validated for chloride removal.

Domain background (not modelled by the platform).

Disinfection credit is commonly expressed with the CT concept:

CT = C × t   (mg·min/L)
C = residual free chlorine (mg/L); t = contact time (minutes).

Contact Time (t) is the time the water spends in contact with chlorine before discharge or use. In the calibrator, it is the single contact time at which your dose–kill data were measured.

Illustrative arithmetic (not a regulatory target)
  • 4.5 mg/L × 10 min = 45 mg·min/L
  • 1.5 mg/L × 30 min = 45 mg·min/L

Same CT, different dose. Lower doses generally mean less disinfection by-product formation; by-products are not modelled here.

Domain background (not modelled by the platform).

Required dose depends on water conditions, so a single fixed ratio may not hold across seasons and storms. General factors:

1. Water temperature

Inactivation is generally slower in cold water. The calibrator does not adjust for temperature; fits apply to the conditions of the data entered.

2. Chlorine demand

Organic matter and ammonia consume chlorine before a residual forms. Chlorine demand and decay are not modelled.

3. pH

With pKₐ 7.54, the HOCl share of free chlorine falls from about 69% at pH 7.2 to about 18% at pH 8.2. The calibrator does not adjust for pH.

4. Disinfection by-products (Regulatory Context — not modeled in software)

Chlorine reacts with organic precursors to form trihalomethanes (THMs) and haloacetic acids. Ontario drinking water standards (O. Reg. 169/03) set limits for THMs. The platform does not predict by-product formation.

What the calibrator does: fits the Chick-Watson parameter to dose–kill data you enter, at one contact time (Hom is not fitted; see below). It does not prescribe doses for compliance.

Domain background (not modelled by the platform).

Two empirical inactivation models, written in base-10 logarithms (as in the code); the calibrator fits only the first:

MODEL 1: CHICK-WATSON
log₁₀(N / N₀) = −k · C · t

Log-survival is linear in C·t. Fitted by least squares through the origin.

MODEL 2: HOM
log₁₀(N / N₀) = −k · C · tᵐ

Adds a time exponent m (m > 1: lag or shoulder; m < 1: tailing). Not fitted: it needs data at two or more contact times, and the calibrator reports k and m as unavailable.

Limitation
  • The calibrator takes one contact time for all data points. With a single t, tᵐ is a constant, so k and m cannot be separated; Hom is therefore not fitted, and the illustrative dose uses the Chick-Watson k (log-linear, m = 1).
  • Samples with zero surviving count are scored as log₁₀(N/N₀) = −6 (a code convention, not a detection limit).
  • Temperature and pH are not inputs; fits apply only to the conditions of the data entered.

Biochar Adsorption & Thomas Breakthrough Engine

Experimental: single-component Langmuir batch isotherm and Thomas column breakthrough curves (q₀, k_Th).

Open Adsorption Lab
Platform Module 04

Field Logging: Volunteer Field Observations

Secchi, temperature and pH entry with a single clarity check. Submissions are not stored.

Open Field Logging
Governing Frameworks:Secchi Clarity Check (1.2 m Placeholder)Not PersistedNo Third-Party ExportNo Satellite Matchups YetNo Range or Z-Score Checks

The platform does not enforce a sampling protocol. Follow the procedure of your monitoring program. Common practice:

  • Secchi depth: lower a Secchi disk on the shaded side of the boat, note where it disappears and where it reappears, and record the average.
  • Surface temperature: use a calibrated thermometer or probe just below the surface and let the reading settle.
  • pH: calibrate the meter with standard buffers before use.

Domain background (not modelled by the platform).

Not yet. Field logs are not paired with satellite overpasses, and no satellite coefficients are fitted to field data. The NDTI-to-turbidity and turbidity-to-TSS conversions are uncalibrated placeholders.

In principle, Secchi or turbidity readings taken close in time to a cloud-free overpass could be used to fit those coefficients for a specific lake. That is a possible future capability, not a current one.

One check, and the submission is not stored:

  • Clarity check: the Secchi depth is compared with the 1.2 m placeholder threshold and the response notes whether low clarity is flagged.

There are no range checks, historical z-score comparisons or weather cross-checks. Temperature and pH are accepted as entered.

What the software does today:

  • Not persisted: a submission is processed in memory to return a log ID and the clarity check, and is then discarded. It is not written to the database.
  • No export: there is no pipeline that sends field observations to any third party, provincial program or other organization.
Framing Only

UN Sustainable Development Goals: Alignment and Limits

Which SDG targets the existing tools relate to. All outputs are Modeled (Simulation); none are used for SDG reporting.

No. Nothing in the platform targets or reports against the UN Sustainable Development Goals (SDGs). This section only shows which SDG targets the existing tools relate to.

Every model listed here is labelled Modeled (Simulation). The models are not calibrated or validated against observations, and no output is used for SDG indicator reporting.

Target descriptions below are paraphrased. For the official wording, see the UN SDG indicators list.

TargetWhat it covers (paraphrased)Related toolsData tier and limits
6.3Improve water quality by reducing pollution (indicator 6.3.2: share of water bodies with good ambient water quality)30-day phosphorus screening forecast, road-salt chloride module, E. coli screeningModeled (Simulation). Uncalibrated. No output feeds indicator 6.3.2 or any official water-quality classification.
6.6Protect and restore water-related ecosystems, including lakesWatershed routing, wetland retention, development, low-impact development and forest-clearing simulatorsModeled (Simulation). Placeholder constants. Scenario tools, not monitoring.
6.bSupport local community participation in water and sanitation managementMulti-organisation accounts and rolesNot a model output: an account feature only. No association, municipality or conservation authority uses the platform.
15.1Conserve inland freshwater ecosystemsSame tools as 6.6Modeled (Simulation). Same limits as 6.6.

The platform supports modelled screening relevant to target 6.3 for Ontario lakes. It does not measure any SDG indicator.

  • SDG 14 (Life Below Water) covers oceans, seas and marine resources. The platform models freshwater lakes and their catchments only.
  • SDG 13 (Climate Action) is not listed because the platform has no climate-change scenario or adaptation analysis. Weather forecasts drive the models, but that is not climate analysis.
Platform References

Sources Cited by the Models and Registry

Sources cited in the parameter registry or model code, marked by whether they have been read.

This list is limited to sources cited in the parameter registry or in model code. Sources marked † are cited without a verbatim quote on file (not read in the registry audit); treat values attributed to them as unverified.

Read, with quotes in the parameter registry
  • Rideau Valley Conservation Authority (2017). Otty Lake – Jebbs Creek Catchment Report (Tay River Subwatershed Reports). Used for: Otty land cover (Section 4.1, Table 14) and the deep-point TP mean (Section 2.1.1, Table 3).
  • Otty Lake Association (2007). Report on the State of Otty Lake and its Watershed. Used for: lake volume and depth, including MNR (1975) Lake Survey values as reported there (p. 17).
  • Ontario Ministry of the Environment (2010). Lakeshore Capacity Assessment Handbook: Protecting Water Quality in Inland Lakes on Ontario's Precambrian Shield. Used for: the pasture phosphorus export coefficient (9.8 mg/m²/yr, Section 4.3) and the settling formulation.
  • Kadlec, R. H. (2016). Large Constructed Wetlands for Phosphorus Control: A Review. Water, 8(6), 243. doi:10.3390/w8060243. Used for: the wetland P-k-C* model form.
  • Health Canada (2023). Canadian recreational water quality guidelines – Indicators of fecal contamination: Applying the guidelines. Used for: the E. coli Beach Action Value (235 per 100 mL).
Cited in the registry, not yet read
  • Dillon, P. J., & Kirchner, W. B. (1975). Water Research, 9, 135–148. †
  • Dillon, P. J., & Rigler, F. H. (1975). A simple method for predicting the capacity of a lake for development based on phosphorus loading. Journal of the Fisheries Research Board of Canada, 32(9), 1519–1531. †
  • Paterson, A. M., et al. (2006). Lake and Reservoir Management, 22(1), 7–18. † (searched; paywalled)
  • Kadlec, R. H., & Wallace, S. (2009). Treatment Wetlands (2nd ed.). CRC Press. † (as reported in Kadlec 2016)
  • Lacaux, J. P., et al. (2007). Classification of ponds from high-spatial resolution remote sensing. Remote Sensing of Environment, 106, 66–74. † (NDTI formula)
  • Ontario Ministry of the Environment (2003). Stormwater Management Planning and Design Manual. †
  • USDA Soil Conservation Service (1972). National Engineering Handbook, Section 4 (Hydrology). † (initial-abstraction concept)
  • Thornthwaite, C. W. (1948). An Approach toward a Rational Classification of Climate. † (forest bucket drying rate)
Model forms named in code
  • Stumm, W., & Morgan, J. J. (1996). Aquatic Chemistry: Chemical Equilibria and Rates in Natural Waters (3rd ed.). John Wiley & Sons. † (saturation index approach; the log K_sp −58.0 used is assumed)
  • Chick, H. (1908). An investigation of the laws of disinfection. Journal of Hygiene, 8(1), 92–158. † (Chick-Watson model form)
  • Hom, L. W. (1972). Kinetics of chlorine disinfection in an ecosystem. Journal of the Sanitary Engineering Division, ASCE, 98(1), 183–194. † (Hom model form)
Reference datasets & standards
  • Ontario Ministry of Natural Resources and Forestry. Ontario Hydro Network (OHN) – Watercourse. Land Information Ontario. Reference for flow direction; not ingested.
  • ASTM D2035. Standard Practice for Coagulation-Flocculation Jar Test of Water. ASTM International. Mentioned as context in this FAQ; not used by the models.