Virridy Home | Lume — Water Quality Sensing Water for Carbon
Field validation

Lume 1.2 – CBT Validation

Field validation of the Lume, a tryptophan-like fluorescence instrument together with its analytics, against the Aquagenx compartment bag test (CBT) in two rural drinking water treatment programs in East Africa: Amazi Meza in Rwanda and DRIP in Kenya. The Lume was used as a grab-and-read instrument, read in the bucket each CBT sample was drawn from. Every number on this page is read from the files that accompany the revised manuscript.

Study context

Sampling took place between May 25 and June 11, 2026, in two programs where carbon credits depend on verified drinking water quality.

Amazi Meza, Rwanda. School-based drinking water filtration program operated by Virridy Rwanda Ltd with the Rwanda Environmental Management Authority and district governments. It serves about 600,000 students in more than 500 schools and is projected to reach 1.5 million students by 2028. Treatment is LifeStraw Community gravity filters at the point of use. Carbon credits are issued under Gold Standard GS12240, and the revenue funds operations.
DRIP, Kenya. The Drought Resilience Impact Platform secures water for about 120,000 people at 200 boreholes in five northern counties (Marsabit, Garissa, Isiolo, Turkana, Wajir), combining in-line chlorination with remote monitoring of system operation. Carbon credit revenue funds continued maintenance.
Source and treated water. Under the Gold Standard methodology Emission Reductions from Safe Drinking Water Supply, a site earns credits where the source water needed treatment and the treated water delivered is safe. Both are sampled: the source to establish the baseline, and the treated water during the crediting period.
Gold Standard dMRV Pilot 14. The Lume is the technology in Gold Standard dMRV Pilot 14, approved in September 2025, which covers Lume estimates of E. coli for SDWS Parameter 18 (microbial drinking water quality). This validation is evidence for FAR 1 (sensor validation and calibration) and FAR 3 (integration of manual and digital sampling).
Loading results…

How the Lume is evaluated

The Lume is evaluated as one method: the instrument's fluorescence, time-of-flight (ToF) and temperature channels together with the corrections and model that turn them into an E. coli estimate. At each sampling point, water was collected in a 4 L bucket and the sensors were submerged in it. With the sensors in the bucket, 100 mL CBT samples were drawn from it. CBT results are MPN/100 mL, and the WHO thresholds of 1 and 10 MPN/100 mL are applied to these MPN estimates.

Pairing

Each CBT record is paired with the readings taken in the bucket it was drawn from. A reading counts as in water only when both ToF and fluorescence are below the unit's own air/water split, since the two windows are separate apertures. Records from one bucket immersion less than 10 min apart are replicates of one sample. The sample is the unit of analysis, and a sample read by two units takes the mean of their predictions.

Corrections

Fluorescence is ln(mon2 − 170), corrected to 20 °C at −2.15% per °C on each unit's own temperature channel, minus the unit's clean-water baseline for the day. ToF enters as the log ratio to the day's baseline ToF. In this study the baseline is the median of the unit's treated-water readings that day, excluding the reading being scored, interpolated from the nearest days on days without treated water.

Model

A Tobit regression of log10(MPN + 1) on four features (fluorescence, ToF, temperature and the fluorescence by temperature interaction), with CBT results at the 100 MPN/100 mL limit treated as right-censored, fitted with a ridge penalty of 0.1. The coefficients are shared by all units. The daily clean-water baseline is each unit's only calibration.

Validation

In the primary scheme the model is trained on the other units' data from the other days and predicts the held-out unit on the held-out day, the situation of a newly deployed unit. The secondary scheme holds out one day for all units. The cutpoint at each threshold is chosen within the training data by leaving out one training day at a time. Confidence intervals (95%) come from 2000 bootstrap resamples of sampling days.

Classification at 1 and 10 MPN/100 mL

A sample is classified at or above a threshold when its held-out prediction reaches the cutpoint chosen in training. All counts are samples. The tiles show 10 MPN/100 mL for a new sensor on a new day.

Held-out predictions

Each point is one sample, predicted for a unit and a day the model had not seen. The gray band is ±0.92 log10 around the 1:1 line, the combined 95% uncertainty of two determinations each with the CBT's ±0.65 log10 single-test precision (Gronewold et al. 2017). Triangles mark samples censored at the CBT's 100 MPN/100 mL limit, plotted at the limit. Dotted lines mark 10 MPN/100 mL.

WHO risk categories

Samples fall into three categories (<10, 10 to 99, and ≥100 MPN/100 mL). A sample is placed at or above 10 by the cutpoint and at or above 100 when its prediction reaches 100. New sensor on a new day.

Reference uncertainty and repeatability

A single CBT is uncertain near a threshold. Expected sensitivity and specificity weight each sample by the probability, from the 95% confidence interval of its result in the Aquagenx MPN table, that its true concentration is at or above 10 MPN/100 mL. The reference-tolerant figure counts a classification as wrong only when the CBT's interval excludes it, and is an upper bound. Repeatability compares CBT results with each other at 10 MPN/100 mL.

Comparison models

Models with unit-specific terms can only be evaluated with the day held out, since a held-out unit has no terms of its own. Balanced accuracy, sensitivity, specificity and positive predictive value (PPV) are at 10 MPN/100 mL; R2 is on log10(MPN + 1) and IA is Willmott's index of agreement.

Chlorination

Free chlorine residual was measured on treated samples in Kenya. Where one system was sampled on one day both as unchlorinated source water and as chlorinated treated water, the table gives the difference in mean predicted log10 concentration between the two.

Agreement between units

Samples read by two units in the same bucket, compared on their held-out predictions.

Limitations

Data and code

The files behind every number on this page and in the revised manuscript.

Paired observations (CSV)

One row per sensor–CBT pair: record and sample identifiers, times, site, water type, CBT result, sensor readings, corrected features, and the held-out predictions under both validation schemes.

Download CSV

Results (JSON)

paper_data.json: the model description, per-sample observed values, predictions and cutpoints, and every performance figure with its confidence interval.

Download JSON

GitHub repository

Raw sensor readings, the CBT records (enumerators coded, coordinates removed), each case decision with its reason, and the pairing, evaluation and figure scripts. Three commands reproduce every number.

View on GitHub

Sensor GPS track since 2026-05-25 00:00 UTC

Every GPS fix reported since 2026-05-25 00:00 UTC by 50045 (Amazi Meza, Rwanda), 50053 (DRIP, Kenya) and 50065. Cell-tower fixes are excluded; positions are deduplicated to about 1 m and connected in time order. Marker size scales with the number of fixes at that spot.

Loading GPS positions…

Sensor time series

CBT results as recorded in mWater (diamonds) over raw fluorescence (mon2), ToF signal per SPAD (kcps) and temperature from 50045 (Amazi Meza, Rwanda), 50053 (DRIP, Kenya) and 50065, from 2026-05-25 00:00 UTC. SiPM rows are the calibrated setting (LED 512, bias near 3000). These are the raw series before pairing and correction.

Loading sensor time series…