Channel specificity and interference in a 43-sensor fluorescence array: a four-analyte challenge-spike experiment
Forty-three Lume fluorescence sensors and three In-Situ AquaTroll 500 sondes, held in a common 167.71 L de-ionised water barrel, were dosed with four challenge solutions in sequential cumulative ladders over 4.3 h on 2026-09-01: quinine sulfate to 148.56 ppb, rhodamine to 103.51 ppb, tryptophan to 50 ppb and turbidity to 7.23 NTU. The FDOM, TLF, Burn-in TLF channels each responded to the analyte it exists to measure. The Chl-a channel did not return a resolvable response to its target under this design. Cross-talk between fluorophores is material: the worst case is quinine sulfate on the Burn-in TLF channel at 0.15 of that channel’s response to its own analyte. Turbidity moved every fluorescence channel and is the dominant interferent, reaching 12.4× the own-analyte response per unit on the FDOM channel. Dosing tryptophan last, onto a barrel already carrying the other three analytes, left the tryptophan slope at 109% to 137% of its clean-water value while the baseline had risen to 2.65×: the interferents act as an offset, not a gain change. The turbidity-to-ToF scale remains unresolved, with three candidate anchors spanning 2.6×. Of 43 sensors in the barrel, 13 never reported into the window and 5 more were held out on measured grounds, leaving 25 in the statistics; all are listed individually.
1Motivation
The Lume sensor infers faecal contamination from tryptophan-like fluorescence. That inference rests on an assumption which the programme had never tested directly: that the channel responds to the analyte it is named for, and not appreciably to the other things dissolved or suspended in real water. Field deployments had produced correlations against culture-based references, but a correlation in a river cannot separate a genuine tryptophan response from a response to whatever else co-varies with contamination — coloured dissolved organic matter, algal pigments, or particles.
Three further gaps motivated this experiment. The chlorophyll-a and FDOM variants of the sensor had never been challenged with anything at all. The fleet had no formazin anchor, so its turbidity proxy was reported in raw scatter counts rather than NTU. And nothing was known about how the channels behave when several interferents are present together, which is the ordinary condition of a real water body rather than the exception.
The design question was therefore not “does the sensor work” but the sharper one: for each channel, what does it answer to, how much does it answer to everything else, and does the presence of the everything-else change what it reports about its own analyte?
2Materials and methods
2.1 Barrel and fleet
A 55 US gallon drum was filled to the line with de-ionised water. The instruments standing in it displace 40.82 L — 38.6 L for the sensors as bounding cylinders and 2.25 L for the sondes — which is 19.6 % of the drum, so the working water volume is 167.71 L and not the nominal 208.2 L. Dosing against the drum rating rather than the water would have put every concentration about 24 % over target.
The barrel held 43 Lume sensors across four batches and three In-Situ AquaTroll 500 sondes. Water temperature was actively cycled by a recirculating chiller throughout, which is deliberate and is discussed in §2.5.
2.2 Analytes and ladders
Four challenge solutions were dosed as sequential cumulative ladders, 14 rungs in total over 4.3 h, each rung held 20 min:
- Quinine sulfate, 5 rungs to 148.56 ppb. The conventional FDOM standard: the QSU scale on which FDOM sensors are calibrated is defined on quinine sulfate in dilute sulfuric acid, so this is the FDOM channel’s own analyte.
- Rhodamine, 3 rungs to 103.51 ppb. A strong fluorophore well to the red of the other two, serving both as a specificity probe and as the only liveness check available to the chlorophyll-a batch, since commercial fluorometers use one red solid secondary standard for chlorophyll and rhodamine channels alike.
- Tryptophan, 3 rungs to 50 ppb, straddling the 7.9 ppb that corresponds to the 126 CFU/100 mL criterion.
- Turbidity, 3 rungs to 7.23 NTU, the first rung from 800 NTU StablCal and the remainder from 1000 NTU AMCO Clear.
Order was an experimental choice, not a convenience. The barrel was never drained, so each analyte is measured on a background containing all the earlier ones and the clean background is a finite resource. It was spent on the channels with no prior data — quinine first, then rhodamine — while tryptophan was deliberately dosed third. Its clean-water response was already characterised, so placing it late converts that rung from a repeat calibration into an interference test, which is the question the existing data could not answer. Turbidity ran last because scattering perturbs every optical channel at once and cannot be undone.
2.3 Signal
The reported signal is the two-way log-model amplitude from the canonical bias-response module, the current
S-TLF lineage, and never the raw mon2 reading. Fleet gain spans roughly 250× and low-gain
units pedestal-pin, so a raw-mon2 judgement would classify working channels as dead. Each
sensor’s amplitude is then expressed relative to its own corrected pre-dose level, so a slope means the
same thing on a high-gain and a low-gain unit.
2.4 Corrections
Temperature and drift are removed with the programme’s canonical correction module, fitted per sensor on its own SiPM temperature over the 78.2 h of undosed barrel that precede the first dose, and then applied forward. Nothing is fitted through a dose, because a model fitted across a dose absorbs the response it exists to reveal. Measured on that pre-dose window, the coefficient of variation falls from 4.56 % raw to 0.65 % with temperature alone and 0.29 % with temperature and drift; the drift term was retained on 30 of 30 sensors.
2.5 Estimator and statistics
Because the analytes were dosed in sequential blocks, only one concentration moves inside any block, and each analyte’s slope is identified from its own block alone: the settled window immediately before the block supplies that block’s zero, and each rung window supplies a point. No multiple regression across collinear predictors is attempted. Slopes are ordinary least squares of relative amplitude on concentration, fitted per sensor and then summarised by the batch median, with the count of sensors, the median R² and the number agreeing in sign reported alongside every estimate.
Temperature cycling was left running throughout and its setpoint never moved. Over the pre-dose window temperature is close to orthogonal to the dosing clock, so a temperature effect cannot masquerade as a dose response; and every 20 min rung contains a wide temperature sweep, which is what allows the quench to be fitted rather than assumed. The cost is that uncorrected traces are dominated by the chiller, so all results below are read on the corrected series.
The three sondes are put through the identical block estimator on their own channels, each relative to its own pre-dose level. No Lume correction is imposed on them, since they are separately compensated instruments. Fluorescence channels reported in RFU are treated as relative; turbidity and conductivity are absolute physical units and are never divided by a baseline.
2.6 Sensor hold-out
Sensors are held out of the group statistics only on measured properties of their own record — no usable amplitude, too few windows, or a correction model the module itself refused to fit — and never because they fitted a dose response badly. Held-out sensors remain in the underlying data and are listed individually in Table 4.
3Results
3.1 Does each channel answer to its own analyte?
FDOM against quinine sulfate. The channel responds, at +0.00647 of its clean-water level per ppb (R² 1.000; 10 sensors, 10/10 agreeing in sign). Over the ladder to 148.56 ppb that is a total excursion of about 0.96× the clean-water level.
Chl-a against rhodamine. No sensor in this batch could be fitted over that block, so the question is unanswered rather than answered in the negative.
TLF (variant batch) against tryptophan. The channel responds, at +0.02165 of its clean-water level per ppb (R² 0.997; 3 sensors, 3/3 agreeing in sign). Over the ladder to 50.00 ppb that is a total excursion of about 1.08× the clean-water level.
TLF (burn-in fleet) against tryptophan. The channel responds, at +0.01724 of its clean-water level per ppb (R² 0.999; 12 sensors, 12/12 agreeing in sign). Over the ladder to 50.00 ppb that is a total excursion of about 0.86× the clean-water level.
| quinine sulfate per ppb | rhodamine per ppb | tryptophan per ppb | turbidity per NTU | |
|---|---|---|---|---|
| FDOM | +0.00647n 10 · R² 1.000 · 10/10 | +0.00091n 10 · R² 0.690 · 10/10 | +0.00059n 10 · R² 0.677 · 9/10 | +0.08042n 10 · R² 0.959 · 10/10 |
| Chl-a | not fitted | not fitted | not fitted | not fitted |
| TLF (variant batch) | +0.00301n 3 · R² 0.999 · 3/3 | +0.00069n 3 · R² 0.334 · 3/3 | +0.02165n 3 · R² 0.997 · 3/3 | +0.20797n 3 · R² 0.983 · 3/3 |
| TLF (burn-in fleet) | +0.00257n 12 · R² 0.999 · 12/12 | +0.00018n 12 · R² 0.587 · 11/12 | +0.01724n 12 · R² 0.999 · 12/12 | +0.11447n 12 · R² 0.938 · 12/12 |
3.2 Cross-talk between fluorophores
Expressed as a fraction of each batch’s response to its own analyte:
- FDOM: rhodamine +0.141 (material); tryptophan +0.092 (material).
- TLF: quinine sulfate +0.139 (material); rhodamine +0.032 (slight).
- Burn-in TLF: quinine sulfate +0.149 (material); rhodamine +0.010 (negligible).
3.3 Turbidity
Turbidity moved every fluorescence channel that could be fitted. Expressed against each batch’s own analyte, the per-unit response to turbidity runs 12.4× on FDOM, 9.6× on TLF, 6.6× on Burn-in TLF. On this evidence turbidity is the dominant interferent in the set, not the fluorophores.
On the ToF scatter channel the fleet slope is +0.7574 counts per nominal NTU, i.e. 1.32 NTU per sps. That is the first turbidity anchor this fleet has had. It is not settled: the candidate bases disagree by a factor of about 2.6. Only 1 of 3 sondes fit turbidity at R² ≥ 0.90, and that one measures 0.388 NTU per nominal NTU, so the nominal ladder overstates what was in the water by +158 %.
| basis | NTU per sps |
|---|---|
| nominal ladder | 1.32 |
| 2025-12-15 formazin bench | 1.59 |
| sonde-measured NTU | 3.40 |
3.4 Stacking
Because the barrel was never drained, each block was dosed onto everything before it. By the final block the batches were sitting at TLF 2.65×, Burn-in TLF 2.25×, FDOM 2.10× their clean-water levels.
The decisive comparison is the tryptophan slope, because tryptophan was dosed last and the clean-water scale for that channel is independently known from the 2026-07-16 serial dilution (0.01582 of baseline per ppb). Measured on the loaded barrel it came to 137% on TLF, 109% on Burn-in TLF of that value, i.e. mixed. The interferents therefore act predominantly as an offset rather than a change of gain, which is the difference between a correctable baseline and a model that has to be refitted in the presence of coloured dissolved matter.
| block | batch | level entering | slope in block | vs clean scale |
|---|---|---|---|---|
| quinine sulfate | FDOM | 1.000 | +0.00647 | |
| quinine sulfate | TLF | 1.000 | +0.00301 | |
| quinine sulfate | Burn-in TLF | 1.000 | +0.00257 | |
| rhodamine | FDOM | 1.958 | +0.00091 | |
| rhodamine | TLF | 1.441 | +0.00069 | |
| rhodamine | Burn-in TLF | 1.368 | +0.00018 | |
| tryptophan | FDOM | 2.069 | +0.00059 | |
| tryptophan | TLF | 1.625 | +0.02165 | 137% of clean |
| tryptophan | Burn-in TLF | 1.390 | +0.01724 | 109% of clean |
| turbidity | FDOM | 2.103 | +0.08042 | |
| turbidity | TLF | 2.651 | +0.20797 | |
| turbidity | Burn-in TLF | 2.247 | +0.11447 |
3.5 Comparison with the reference sondes
FDOM channel. The sonde reads +0.00172 per ppb relative to its own baseline on 3 sondes, against the Lume’s +0.00647, a ratio of 0.27. The two instruments disagree.
The sonde is not a clean reference in this experiment. 2 of 3 sondes fail to fit the turbidity ladder at R² ≥ 0.90 at all. Sonde agreement is therefore treated here as supporting evidence where it exists, and as uninformative where it does not; it is never read as a refutation of a Lume response.
3.6 Sensor failures
Of the 43 sensors in the barrel, 13 never reported into the experiment window at all and 5 more were held out of the group statistics, leaving 25. Every hold-out was flagged on a measured property of its own record, never on how well it fitted a dose response, and none was removed from the underlying data.
Chl-a: 4 held out. This is most of the batch, so any statement about this channel rests on the minority that survived and should be read as indicative. Reasons are listed in Table 4.
TLF (burn-in fleet): 1 held out. Reasons are listed in Table 4.
| sensor | batch | measured reason for hold-out |
|---|---|---|
| 500134 | Chl-a | no usable amplitude in any window |
| 500151 | Chl-a | no usable amplitude in any window |
| 500210 | Chl-a | no usable amplitude in any window |
| 50081 | Chl-a | only 1 of 15 windows carry an amplitude; training temperature range is 2.0 °C, below the degree-3 floor of 4 °C |
| 500105 | Burn-in TLF | no usable amplitude in any window |
4Discussion
The result with the clearest operational consequence is the separation of offset from gain. Stacked interferents raised the fluorescence baseline substantially, yet the tryptophan slope measured on that loaded barrel stayed close to its independently known clean-water value. An offset is what a baseline correction is for; a gain change would have meant that any field model calibrated in clean conditions is systematically wrong in the presence of coloured dissolved matter. On this evidence the first is what happens and the second is not.
Against that, cross-talk is not negligible and it is not symmetric. Each fluorescence channel sees the other fluorophores at a fraction of its own analyte, and the fraction grows with concentration rather than staying fixed, so a single subtractive correction fitted at one level will not hold across a range. More consequentially, turbidity moves every channel far more strongly per unit than any of the fluorophores do, which makes a turbidity term a requirement rather than a refinement in any model built on these channels.
The chlorophyll-a batch is the clearest negative result of the experiment, and it is a hardware result rather than a specificity one. Most of that batch produced no usable amplitude anywhere in the run, in water that a working chlorophyll channel on the reference sonde read well above its floor. A channel that cannot produce a signal has not been shown to be specific; it has been shown not to be measuring.
Finally, the reference instrumentation underperformed the array it was there to check. The sonde FDOM channel did not respond to the analyte on which its own scale is defined, and most of the sondes could not fit the turbidity ladder. This is why the turbidity anchor remains open: the experiment produced a usable relationship between scatter counts and dosed turbidity, but no trustworthy independent measurement of what the dosed turbidity actually was.
5Limitations
- Clean-water matrix. Every response reported here is to a dose in cold de-ionised water. This is not a matrix-effect measurement, and real water carries competing fluorophores, ions and particles that this barrel did not.
- Not a traceable calibration. The ladders give slopes in real concentration units, but they are single-point-per-rung ladders in one water at one temperature regime.
- The turbidity rungs were not a pure scattering challenge. The first turbidity rung took specific conductivity from 8.9 to 44.6 µS/cm, a fivefold jump, so a fluorescence response to that rung cannot be attributed to scattering alone.
- No chlorophyll-a analyte was dosed. Rhodamine is a liveness check on the same optical region, not a concentration standard for chlorophyll.
- No handling null. The planned sham addition was not performed, so the smallest rungs have no measured baseline for the act of pouring to sit above.
- Sensors that never reported. 13 units were already silent before the window opened and contribute nothing; their absence is not evidence about their channels.
6Conclusions
- The FDOM channel answers to quinine sulfate at +0.00647 per ppb, 10 sensors, 10/10 agreeing in sign.
- The TLF (variant batch) channel answers to tryptophan at +0.02165 per ppb, 3 sensors, 3/3 agreeing in sign.
- The TLF (burn-in fleet) channel answers to tryptophan at +0.01724 per ppb, 12 sensors, 12/12 agreeing in sign.
- The Chl-a channel returned unmeasurable to rhodamine under this design. No sensor could be fitted.
- Fluorophore cross-talk is material at worst: quinine sulfate reads 0.15 of the Burn-in TLF channel’s own analyte.
- Turbidity is the dominant interferent and moves every channel, so a turbidity term is not optional in any field model built on these channels.
- Stacked interferents act as an offset and leave the gain close to intact, so a baseline correction is the right response and a refit is not indicated by this run.
- The NTU scale is unresolved across 2.6× and needs a turbidity reference this barrel did not have.
7Data availability and reproduction
The dataset is locked at the closing instant of the experiment: the cohort definition carries a hard stop, so re-running the extraction reproduces this window and cannot extend it. The full interactive figures, the dose log and the per-rung record are at the spike test page, and the derivation of every pour is at the dosing record.
This report is generated, not written by hand. Every number and every verdict in it is composed from
data/spike_analysis.json at build time, so re-running the analysis rewrites the prose rather than
leaving it to disagree with the data:
node scripts/spike_corrections.mjs && python3 scripts/spike_analysis.py --json &&
python3 scripts/build_spike_report.py