Ham and Teddington: two stations, one method, and now both have a score
The Environment Agency samples river invertebrates at Teddington and again about 1.7 kilometres
downstream at Ham. Both stations sit in the same tidal water body, and both are worked with the
same three-minute pond net. The public download carries biological indices for Teddington and
none for Ham. On 13 October 2026 the EA’s marine team ran its BIOSYS database for both
stations and generated BMWP and ASPT for every pond-net sample: 105 at Ham, from 2006 to
September 2026. This page charts those values and states their limits. The public download
still has no index for Ham.
EA BIOSYS extract, 13 Oct 2026Teddington · Ham · tidal reachWFD body GB530603911403RAW-PULL · DERIVED
Source: Environment Agency, BIOSYS extract 13 October 2026, supplied by M. Davison.
Open Government Licence.
Download the raw CSV
(513 KB, unchanged from the file the EA supplied; SHA-256
72c94a18…9d264f5).
Each BMWP and ASPT value is the EA’s own calculation, passed on unchanged
RAW-PULL. Counts, medians and ranges are ours
DERIVED. The EA has not published these metrics, so nothing on this
page is tagged PUBLISHED.
Updated and corrected 14 October 2026
The version of this page published on 31 August 2026 said three things that are no longer
right.
“No index exists for the Ham series.” The page said that not one
index value existed across the Ham samples, and asked for one. That is still true of the
public download. It is no longer true of the station: the EA has now generated BMWP and
ASPT for every Ham pond-net sample from its live BIOSYS database. The charts below show them. We
thank Mark Davison of the Environment Agency’s marine team, who ran the extract.
“Our label, unconfirmed.” The page called the stations
“Ham” and “Teddington” as our own reading of the grid references, and
would not treat the names as official. The EA has since confirmed both names twice. The first
confirmation was by email on 4 September 2026, with the BIOSYS sites register, which lists
142308 as Ham and 98142 as Teddington (Tidal Site). The second was the
BIOSYS report header of 13 October 2026, which names the same IDs HAM and
TEDDINGTON (TIDAL SITE). The names on this page are now the EA’s.
Correction: the distance between the stations. The page said Ham was
“four kilometres” downstream of Teddington. That was wrong. The two
grid references (TQ 16783 71477 and TQ 16981 73208) are about 1.7 km apart
in a straight line DERIVED. The error was ours. We found it in
our own review when we rebuilt this page.
The headline figures
105
EA-calculated BMWP and ASPT values for Ham, one for each primary pond-net sample from 14 June 2006 to 14 September 2026. Before 13 October we held none.
BIOSYS extract B4R1855R RAW-PULL count DERIVED
0
index values for Ham in the public download, still. The marine benthic file ships taxa only. The EA generated the index for us on request, but it has not published it.
TC_BENT_OPEN_DATA_TAXA, reach extract PROVEN GAP
120
Teddington samples from 2005 onward in the same extract. Fifteen more, from 1989, are left off the chart because the sampling method changed in between (see the method note).
BIOSYS extract B4R1855R DERIVED
21 yrs
at Ham with at least one sample, every year from 2006 to 2026 and none missing. Samples per year range from 2 to 9.
Sample dates DERIVED from RAW-PULL
The EA-generated series, 2005 onward
Each station has its own panel, and both panels share one vertical scale. Every dot is one
sample, scored by BIOSYS. The short dark bars show each year’s median, which we
calculated. The medians are not joined into a line, because the number of samples and the
season they were taken in vary from year to year. These charts show what the record holds.
They are not a trend analysis.
Average Score Per Taxon (ASPT): Teddington and Ham
ASPT is a measure of pollution sensitivity. It is less affected by how many families a sample happens to catch than the BMWP total. The vertical axis starts at 2.5, not zero. ASPT is a bounded score in which small differences matter, but starting above zero makes them look larger. Hover over a dot for that sample’s date and values.
Source: Environment Agency, BIOSYS extract 13 October 2026, supplied by M. Davison.
Sample values RAW-PULL; annual medians DERIVED.
Primary laboratory analyses only. 45 QC re-analyses in the extract are not plotted.
BMWP score: Teddington and Ham
BMWP adds up a score for each scoring family found, so it rises when a sample catches more families. Read it together with ASPT. The vertical axis starts at zero.
Source: as above. Sample values RAW-PULL; annual medians DERIVED.
Show the annual figures as a table
Annual minimum, median and maximum, primary analyses only, 2005 onward. Provenance: DERIVED from RAW-PULL sample values.
Station
Year
Samples
BMWP min
BMWP median
BMWP max
ASPT min
ASPT median
ASPT max
Teddington
2005
9
33
58
77
3.75
4.29
5.54
Teddington
2006
12
34
75.5
108
3.78
4.795
5.2
Teddington
2007
5
65
85
105
4.61
5
5.25
Teddington
2008
3
50
74
76
4.55
4.93
5.07
Teddington
2009
3
98
105
144
4.9
5.25
5.54
Teddington
2010
7
85
88
118
4.72
4.89
5.62
Teddington
2011
8
65
91
122
4.24
4.71
5.29
Teddington
2012
8
50
68
92
3.92
4.67
4.86
Teddington
2013
4
43
68.5
84
4.14
4.715
4.94
Teddington
2014
4
63
80.5
101
5
5.06
5.25
Teddington
2015
3
70
78
96
4.88
5
5.65
Teddington
2016
3
51
64
75
4.92
5
5.1
Teddington
2017
6
28
60.5
94
4
4.325
4.93
Teddington
2018
8
39
65.5
79
3.9
4.63
5.1
Teddington
2019
4
37
47.5
64
4.11
4.355
4.63
Teddington
2020
3
27
75
77
3
4.69
4.81
Teddington
2021
3
41
82
97
4.1
5.11
5.13
Teddington
2022
9
26
55
65
3.25
4.92
5.5
Teddington
2023
2
23
43
63
4.5
4.55
4.6
Teddington
2024
3
60
78
80
5
5.2
5.45
Teddington
2025
8
48
57.5
75
4.33
4.985
5.58
Teddington
2026
5
30
41
70
4.22
4.56
5.3
Ham
2006
6
30
50.5
65
3.33
4.06
4.58
Ham
2007
3
61
66
79
4.13
4.36
4.94
Ham
2008
3
31
61
81
3.88
4.69
4.76
Ham
2009
4
74
83.5
91
4.72
4.805
4.93
Ham
2010
6
58
81.5
123
4.14
4.82
5.13
Ham
2011
8
41
63
80
3.73
4.41
4.77
Ham
2012
8
27
46
85
3
4.165
4.65
Ham
2013
4
47
49.5
105
3.62
3.96
4.77
Ham
2014
4
53
65.5
92
4.42
4.795
4.93
Ham
2015
3
56
70
102
4.31
5
5.1
Ham
2016
2
24
45.5
67
3
3.735
4.47
Ham
2017
7
23
32
70
3
3.33
4.67
Ham
2018
8
21
37.5
83
3
3.52
4.61
Ham
2019
4
24
36
41
3
3.515
3.9
Ham
2020
3
31
35
42
3.44
4.2
4.38
Ham
2021
3
52
80
85
3.71
5.31
5.33
Ham
2022
9
15
36
85
3
4.29
5
Ham
2023
4
37
43.5
49
4.18
4.505
4.63
Ham
2024
3
53
75
94
4.82
5
5.22
Ham
2025
8
32
64.5
104
4
4.81
5.47
Ham
2026
5
28
59
107
4
4.92
5.13
Method boundary: why the chart starts in 2005. The extract also holds 15
Teddington samples from 1989 (4 July to 6 November). Nothing from 1990 to 2004 is in the
extract, at any station. The 1989 samples carry the same method label as the later ones, but
a matching label does not show that the methods matched. Mark Davison’s 2000 methods
review of the Thames Benthic Programme gives a different net mesh size for 1989–95 from
the 500 µm mesh used from 1995 (M. Davison, Environment Agency, methods review 2000;
supplied to the programme 4 September 2026). The two periods are therefore treated as separate
populations: they are not drawn on the same chart, not joined, and not compared here. We will
ask the EA to confirm the 1989 mesh and protocol.
Downstream context: four more stations from the same programme
The same extract covers the other four stations of the EA’s Teddington Low Flow
programme, which run downstream to Battersea. They are shown here for context. They are
not a finding, and nothing on this page claims that the river gets worse
downstream.
Teddington Low Flow stations, upstream to downstream. Pond-net samples from 2005 onward,
primary analyses only. Station names and grid references are the EA’s own
RAW-PULL. Counts, medians and ranges are ours
DERIVED. The two headline stations are shaded.
Station (EA name)
Site ID
Grid ref
Samples
First – last
BMWP median (range)
ASPT median (range)
TEDDINGTON (TIDAL SITE)
98142
TQ-16783-71477
120
15 Mar 2005 – 14 Sep 2026
68 (23–144)
4.785 (3–5.65)
HAM
142308
TQ-16981-73208
105
14 Jun 2006 – 14 Sep 2026
56 (15–123)
4.4 (3–5.47)
ISLEWORTH
141814
TQ-16878-76025
120
15 Mar 2005 – 14 Sep 2026
38.5 (13–109)
3.57 (3–5.19)
KEW ST (2)
137942
TQ-19100-77900
113
25 May 2005 – 14 Sep 2026
37 (13–72)
3.6 (3–4.79)
BARNES
141813
TQ-21579-76670
120
15 Mar 2005 – 14 Sep 2026
33 (10–60)
3.5 (2.4–4.29)
BATTERSEA
141812
TQ-26725-76836
116
15 Mar 2005 – 14 Sep 2026
17.5 (3–44)
3.5 (2–6)
Why lower scores downstream are expected, and what this table cannot show
Salinity rises downstream, and BMWP is a freshwater tool. The EA’s
marine ecologist explained to us on 3 August 2026 that salinity in this stretch rises from
about 0 PSU at Teddington to about 6 PSU at Battersea in summer. Freshwater insect
families drop out along that gradient, and several estuarine animals carry no BMWP
score at all. So a lower BMWP downstream would be expected from salinity alone. On
its own it is not evidence of pollution, and this table cannot tell the two apart.
Isleworth is near the Mogden sewage works outfall. Nothing in this table
separates any effect of discharges from the salinity gradient, and we draw no conclusion
about Mogden from it. Correlation is not causation.
Small samples make some values fragile. ASPT is BMWP divided by the
number of scoring families. When only one or two families score, a single family moves it a
long way. Seven of the 116 Battersea samples are like that, which is why Battersea’s
ASPT range reaches 6.0.
Two single-sample IDs are kept apart. The extract also holds one sample
each from IDs 98148 (Isleworth, 20 March 2006) and 98145 (Battersea, 15 December 2008), a few
tens of metres from the main stations. They are not in the table. We will ask the EA
whether they are relocations or duplicates.
Water bodies. Teddington and Ham are in GB530603911403
(THAMES UPPER). We have not checked which water-body polygon each downstream station falls in.
Battersea in particular is near the boundary with THAMES MIDDLE. TODO: check each grid
reference against the Catchment Data Explorer polygons.
Why the public download still has no index for Ham
The EA can calculate the index for Ham, and has now done so. But the record a member of the
public can download still holds none. That was the data-architecture finding on this page in
August, and it still stands.
The freshwater family (INV_OPEN_DATA) ships three files: SITE,
METRICS and TAXA. The marine benthic family
(TC_BENT_OPEN_DATA_TAXA) ships one, the taxa. Teddington 98142 is
in the freshwater family and arrives with 35 populated index columns. Ham 142308 is in the
marine benthic family and arrives with none. In the public files, the Ham samples were taken
mostly with the freshwater 3-minute pond net: 2,191 of its rows are coded S3PO,
against 17 rows of marine kick sampling. In the BIOSYS extract, every Ham sample is typed
FRESHWATER: INVERTEBRATE. So the same method, in the same water body, gives a
published index at one station and not at the other. Which field decides the download family
is a question we will put to the EA.
Public download, 31 August 2026: the five stations in the Teddington–Battersea reach
with substantive series, ranked by record length within each family. Names now from the
EA’s BIOSYS register and extract. The downloads themselves still carry no names.
Sample counts and years are for the public files and differ from the pond-net-only
BIOSYS extract above. Provenance: RAW-PULL.
Site ID
EA name
Download family
Samples
Years
Method
Indices in download?
98142
TEDDINGTON (TIDAL SITE)
Freshwater
134
1983–2026
3-min pond net
YES
142308
HAM
Marine benthic
102
2006–2026
3-min pond net
NO
137942
KEW ST (2)
Marine benthic
243
1989–2026
pond net + marine kick
NO
137962
TEDDINGTON ST (1)
Marine benthic
48
1989–1993
marine kick
NO
141814
ISLEWORTH
Marine benthic
117
2008–2026
pond net
NO
Two different Teddington stations appear in the EA’s records: 98142 TEDDINGTON (TIDAL
SITE) and 137962 TEDDINGTON ST (1). They are not the same station, and this page
does not combine them.
The ask, now narrower
Part of what this page asked for in August has been answered: the EA can generate an index for
Ham, and it did so for us. What is left is about the public record.
Publish what can already be generated. A metrics file for the marine
benthic family, or for the pond-net stations within it, would make public what the EA has
just shown it can produce.
Station names in the downloads. The names exist in BIOSYS. The TraC fish
download carries SITE_NAME; the invertebrate downloads still carry none.
A note on the family boundary, saying which stations are filed where and
on what basis, so that anyone joining the two files does not lose half the reach without
noticing.
We will also put questions about the extract itself to the EA. They cover the two single-sample
IDs, how QC re-analyses appear in the public taxa file, a Ham sample from 14 July 2006 that is
in the public file but not in the extract, and the 1989 mesh size. This page will record the
answers.
How to read this
Caveats a regulator would press, stated up front
These are EA-generated values, not EA-published ones. BIOSYS calculated
every BMWP and ASPT value shown. They were supplied to the programme on request, and the EA
has not published them. We pass them on unchanged.
The charts are not a trend. Samples per station per year range from 1 to
15, and the season mix differs from year to year. We have run no trend test, and none is
implied.
Freshwater indices under-score brackish water. Both headline stations are
tidal. BMWP and ASPT are freshwater tools, so a value here is not directly comparable with one
from a non-tidal river, and it is not a WFD classification. The reach’s WFD invertebrate
status uses estuarine tools: see WFD status.
Only pond-net samples are included. The EA’s query was filtered on
the 3-minute pond net, so samples taken any other way are left out by design. BIOSYS does not
calculate IQI, the WFD index for grab samples above 18 PSU, so none appears here.
QC re-analyses are excluded. 45 rows in the raw file are laboratory
quality-control or external-audit re-analyses of samples that already have a primary result.
They stay in the downloadable file and are left out of every chart and count here.
Nothing here says the Ham reach is in poor condition, or that it is in
good condition. The page shows what the EA’s own scores are, and how far they can be
read.
Sources & provenance
Environment Agency, BIOSYS extract 13 October 2026, supplied by M. Davison.
Open Government Licence. BIOSYS Analysis Report B4R1855R, live database, produced
13 October 2026, filtered to the 3-minute pond net, 1989–2026. It contains 756 sample
columns from 8 site IDs: 711 primary analyses, 43 laboratory AQC and 2 external audit.
Raw CSV,
byte-for-byte as supplied (renamed only); SHA-256
72c94a189b6de113516ef19d086e05a42a5cd9c3d5fb028c30cce70949d264f5.
RAW-PULL
EA BIOSYS sites reference list (2006 register, supplied by the EA marine
team 4 September 2026): the station names and the Teddington Low Flow programme membership.
RAW-PULL
M. Davison, Thames Benthic Programme methods review (2000), supplied 4
September 2026: the mesh-size change behind the method boundary.
Environment Agency Ecology & Fish Data Explorer bulk downloads,
retrieved 31 August 2026, server Last-Modified 10 August 2026. Open Government
Licence v3.0. Files: INV_OPEN_DATA (SITE, METRICS, TAXA) and
TC_BENT_OPEN_DATA_TAXA. RAW-PULL
Water body GB530603911403 (THAMES UPPER) for Teddington and Ham, confirmed
against the EA Catchment Data Explorer polygons and, separately, against Mogden’s EDM
annual returns 2021–2025. RAW-PULL