All posts

The potato blight warning that's always on

Does the blight warning tell a potato grower which week to worry about? The one Britain issues is the Hutton Criteria: two days running with a minimum of 10°C and six hours at 90% humidity, and a red dot on the map. I took every outbreak the Fight Against Blight scouts have reported since 2006, put the rule back together from weather station records at every postcode district, and scored it the way it has never been scored, against the days when nothing followed.

The problem

Late blight is the disease that took Ireland’s potato crop in the 1840s, and it hasn’t gone anywhere. Given a warm wet week it can turn a green field brown in ten days, so British growers don’t wait for it: a crop gets a protective fungicide every seven days or so from June until the haulm comes off, whatever the forecast says. What the warning is for is the decisions inside that programme, whether to tighten the interval to five days this week, switch to a dearer product, or walk the field for the first lesions, and since 2023 the strains arriving in Britain resist two of the main fungicide groups, so a spray at the wrong moment costs more than money.

The rule behind the warning has a good pedigree. Smith fitted it to English weather and outbreak records in the 1950s, and Hutton’s researchers relaxed it in 2017 when they found the modern strains infect after six humid hours rather than eleven. Both times the test was the same: for each outbreak, was there an alert in the four weeks before? The Hutton version passed 96% of the time, and that number is what the service still rests on. What the test can’t say is how often the alert was on when nothing followed, and that decides whether a red dot means “this week” or just “it’s July”.

So this is what I set out to do, in order.

1. Score the warning properlyRebuild the rule at every postcode district from station weather, reproduce the published 96%, then score every district-day, including the ones where nothing followed.
2. Try to build a sharper oneSame public data, same catch rate, fewer alert days. Start with the things the rule ignores (what week it is, what the scouts have already reported nearby) and add better weather on top.
3. Find out where the signal isWhich of those parts does the work, and does the rule earn its keep anywhere, in any month or region? That decides what a grower should read into the red dot.

The setup

Smith Period1956. Two consecutive days with a minimum of 10°C and at least eleven hours at 90% humidity or more.
Hutton Criteria2017. The same, with six humid hours instead of eleven, because the modern strains infect faster. This is what BlightSpy and Fight Against Blight issue.
What the test leaves outBoth rules were validated by asking whether an alert came in the 28 days before each outbreak, which says nothing about the days when no outbreak came. The published figures count an alert only on the day it is declared.

One summer under the rule

Pick a district and a year. The orange line is the night’s minimum temperature, the bars are hours at 90% humidity, purple bars are days meeting the rule, the shading is the alert being on, and the triangles along the top are the scouts’ reports. Then bend the rule and watch the shading.

This is Angus in 2012, the worst blight year in the record; switch to 2018 for the driest. In both the shading covers most of July and August, and the demo shows why. Once summer arrives the orange line sits above the 10° mark nearly every night, because a British night in July is rarely colder than that, and six hours at 90% humidity is just a night with dew on the grass, so the bars clear the 6 h mark most days too. Both halves of the rule are met by ordinary summer weather, two such days in a row come along every week, and each one keeps the alert on for a fortnight. The reports land inside the shading, and so does everything else. The rule only bites at the edges of the season, in May when the nights are still cold and in late September when they turn cold again, which is where you can see the shading break up.

One choice sits under every number on this page: how long a Hutton period keeps the alert on. I count a district as under alert for the 14 days after a period, because infection takes a week or two to show and the published validation itself looks back 28 days, but the published figures count an alert only on the day a period is declared, which is how the same rule gives Skelsey 31% of alert days and me 61%. Drag the “alert held for” slider and watch the shading, the share of days and the catch all move while the last number, the published test, doesn’t.

Share of district-days under alert and share of outbreak-weeks caught, against how many days a Hutton period keeps the alert on; the published test does not move 0 25 50 75 100 1 7 14 21 28 days the alert is held after a Hutton period percent
district-days under alertoutbreak-weeks caughtreports with a period in the 28 days before (the published test)
The full run at every hold from one day to 28. Held for 7 days the alert covers 45% of district-days and catches 68% of outbreak-weeks; on the declared day alone, 16% and 27%. The published test sits at 94 to 95% throughout, because it can't see any of this.

Score it yourself

Every rule in the family lands somewhere on this chart. Across the axes are how much of the season it spends switched on and how many of the outbreak-weeks it catches while on. The curves are what the full run found for other kinds of signal on all 525 districts, and the white dot is the Hutton rule as issued. Your rule is scored live on the seven demo districts and twenty seasons.

model: calendar, nearby reports, place and weatherreports within 100 km in the last 28 daysweek of the year aloneHutton days in the last 14 days

Sweep the hours and the rule traces its own curve, and the whole family sits under the calendar. Sweep the hold and it traces the same curve from the other end, so the 14 days is a choice of where to sit on it, not a way off it. Moving the temperature or the days running moves it along that curve too. The published test (the share of reports with a period in the 28 days before) barely moves either, because it can’t tell a rule that is nearly always on from one that is right.

A season on the map

Play a season. Purple districts are under a Hutton alert that day, orange rings are the reports as they arrive, fading over three weeks.

By July the map is purple from Cornwall to Aberdeenshire and stays that way, while the reports come in clusters: Kent and Suffolk one fortnight, Angus and Fife the next. The alert has no way of knowing which cluster is next because it doesn’t look at the reports at all.

Inside a sharper warning

This is the model from step two, fitted only on seasons before the one shown. It doesn’t replace the weather rule, it adds three things the rule ignores: what week it is, what has been reported nearby (weighted by distance and how recent), and how often this district has reported before. Scrub through a season and watch what it’s reading.

The purple line is the model’s chance of a report in this district in the coming week, the blue line is a model given weather alone. In a bad year the purple line climbs a fortnight before the first local report, on the strength of reports arriving thirty miles away, and the weather line goes up and down with the humidity as it has all summer.

So, is it a better model?

Most of the scores from here on are AUC, which works like this: pick one district-day that was followed by a report and one that wasn’t, and AUC is the chance that the signal scores the first one higher. A coin toss gets 0.5, a perfect ranking gets 1, and unlike the catch rate it doesn’t depend on where you draw the line, which is why it is the fairest single number for a warning that is on most of the time.

Yes: a sharper warning Fitted only on earlier seasons and scored on each season in turn, the full model catches the outbreak-weeks the Hutton alert catches while being on for 30% of days instead of 61%, and it ranks days at 0.86 AUC against 0.62. It wins on all four ways of asking the question, in every region, and in every one of the fourteen seasons.
No: not a better weather rule Given weather alone, the best model I could build reaches 0.75, which is real but modest, and once the model also knows the week and what has been reported nearby, that weather adds a single point. Most of the sharpness comes from information the rule ignores, not from reading humidity better than Smith did in 1956.

The research model scores the day it is on, where BlightSpy looks eight days ahead, and its nearby-reports term leans on scouts being where the blight is. What it shows is that the two ingredients that sharpen the warning most, the calendar and the outbreak map, are already published by the same people who issue the red dot, so the obvious next step was to run it.

This week, live

Every morning a small job pulls this season’s reports from the Fight Against Blight API, pulls a fortnight back and eight days ahead of hourly weather for all 525 districts from Open-Meteo, builds the same features as the research panel, and scores every district for today and the week ahead with the model fitted on 2006 to 2025. Pick a day. It is an experiment on public data, not spray advice.

The map is the same as the earlier one with the model’s view painted over it: the Hutton ring is on nearly everywhere, and the model’s colour is concentrated where reports have been arriving. Once the outlook has loaded, the first and fourth demos gain a “so far (live)” entry in their year lists, so you can see this season’s Angus under the rule, and what the model is reading there today. The weather it runs on is Open-Meteo’s analysis and forecast rather than the station records the model was fitted on, so its Hutton flag will disagree with BlightSpy’s on some days; the model’s probability moves little, because most of it comes from the calendar and the reports.

The numbers

First the trade-off every signal makes, then when in the season the alert works.

Share of outbreak-weeks caught against share of district-days under alert, every season 2012 to 2025 held out in turn 0 25 50 75 100 0 25 50 75 100 district-days under alert (%) outbreak-weeks caught (%)
the Hutton alert as issuedmodel: calendar, nearby reports, place and weatherreports within 100 km in the last 28 daysweek of the year aloneHutton days in the last 14 days
Every signal traced from "never alert" to "always alert". The higher the curve, the more outbreak-weeks caught for the same number of alert days. The Hutton rule as issued sits below the calendar.
By week of the year: how often the alert is on, and when the outbreaks come 0 25 50 75 100 May Jun Jul Aug Sep Oct percent
district-days under Hutton alertoutbreak-weeks that week, as a share of the busiest week
When the alert is on and when the outbreaks come. The alert climbs to 80% of district-days by July, and the outbreaks peak in the same weeks.
How well each signal ranks the districts within a given week (AUC, 0.5 is a coin toss) 0.5 0.75 1 May Jun Jul Aug Sep Oct AUC within the week
Hutton alertreports within 100 kmmodel: all
Skill inside a single week, with the calendar taken out. Through July and August the Hutton alert scores 0.52 to 0.59, while nearby reports stay above 0.65 and the full model above 0.75.
the Hutton alert district, 7 d0.62district, 7 to 21 d0.6025 km, 7 d0.6125 km, 7 to 21 d0.59 AUC 0.62 on the district week, 61% of days for the Hutton catch rate On or off, as issued.
Hutton days in 14 district, 7 d0.69district, 7 to 21 d0.6525 km, 7 d0.6725 km, 7 to 21 d0.64 AUC 0.69 on the district week, 58% of days for the Hutton catch rate Counting qualifying days instead of the on/off flag helps a bit.
the Smith Period district, 7 d0.61district, 7 to 21 d0.5825 km, 7 d0.5825 km, 7 to 21 d0.56 AUC 0.61 on the district week, 80% of days for the Hutton catch rate The 1956 rule it replaced. It would need 80% of days to catch what Hutton catches.
week of the year district, 7 d0.70district, 7 to 21 d0.7025 km, 7 d0.6925 km, 7 to 21 d0.68 AUC 0.70 on the district week, 51% of days for the Hutton catch rate The calendar alone, learned from earlier seasons, beats the alert on every outcome.
nearby reports district, 7 d0.79district, 7 to 21 d0.7125 km, 7 d0.8025 km, 7 to 21 d0.72 AUC 0.79 on the district week, 44% of days for the Hutton catch rate Reports nearby, weighted by distance and how recent they are. The best single signal.
district history district, 7 d0.72district, 7 to 21 d0.7125 km, 7 d0.5925 km, 7 to 21 d0.59 AUC 0.72 on the district week, 66% of days for the Hutton catch rate How often this district reported in earlier seasons.
weather model district, 7 d0.75district, 7 to 21 d0.7425 km, 7 d0.7325 km, 7 to 21 d0.72 AUC 0.75 on the district week, 46% of days for the Hutton catch rate A model given only weather, with humid hours split by temperature and runs of humid nights.
everything district, 7 d0.86district, 7 to 21 d0.8425 km, 7 d0.8325 km, 7 to 21 d0.81 AUC 0.86 on the district week, 30% of days for the Hutton catch rate Calendar, nearby reports, place and weather together.
Four ways of asking the questionAUC for each signal when the outcome is a report in the district within 7 days, in the district 7 to 21 days ahead (allowing for the delay between infection and report), within 25 km within 7 days, and within 25 km 7 to 21 days ahead.open
signal or modeldistrict, 7 ddistrict, 7 to 21 d25 km, 7 d25 km, 7 to 21 d
Hutton alert as issued0.620.600.610.59
Hutton days in the last 14 days0.690.650.670.64
Smith periods in the last 28 days0.610.580.580.56
week of the year0.700.700.690.68
nearby reports0.790.710.800.72
district history0.720.710.590.59
weather model, basic features0.680.640.670.64
weather model, rich features0.750.740.730.72
calendar and nearby reports0.800.760.800.75
calendar, reports and place0.850.830.830.80
everything0.860.840.830.81
By region and by seasonWhere and when the alert does its job. Wales spends three days in four under alert; 2022 and 2024 were the seasons it caught least.open
regionoutbreak-weeksalert oncatchalert AUCmodel AUCdays for the same catch
England7,54961%81%0.600.8528%
Scotland3,48454%86%0.660.8730%
Wales1,32675%93%0.590.8561%
seasonoutbreak-weeksalert oncatchalert AUCmodel AUC
20121,82362%96%0.670.87
201337866%94%0.640.85
20141,40370%77%0.540.83
201535742%64%0.610.86
20161,03568%84%0.580.82
201796176%89%0.570.82
201836954%74%0.600.83
20191,18859%87%0.650.87
202047156%78%0.610.83
20211,20272%98%0.630.89
202243449%58%0.550.80
202399870%92%0.610.89
20241,39265%69%0.520.87
202538345%71%0.630.90

Some things this can’t say:

  • The outcome is a scout’s report, not an infection. Reports come one to three weeks after infection and nobody records the lag, so I also scored a 7 to 21 day window and the picture didn’t change.
  • Where there are no scouts there are no reports, so some of what “nearby reports” knows is where the scouts are. The same scouts get the Hutton alerts, so some detection is alert-led, which flatters the rule if anything.
  • Station humidity interpolated to a district centroid isn’t the humidity in a potato canopy. Reanalysis weather gave the same alert on 83% of days and the same story.
  • Nothing here says growers could spray less. British blight programmes are preventive and weekly whatever the alert says, and no one measures unsprayed crops.
  • The live outlook is a hindcast model pointed forwards. Its weather comes from a forecast rather than from stations, its “this season so far” score is on a handful of reports until the season is over, and if the scouts stop reporting the model goes quiet with them.

What I took from it

Hover a bar for the numbers behind it.

61% of season days are under a Hutton alert, so it catches 84% of outbreak-weeks mostly by being on. In Wales it is on three days in four. Scotland54%England61%Wales75%
0.86 AUC for the full model against 0.62 for the alert. The calendar alone and nearby reports alone both beat the alert. Hutton alert0.62week of year0.70nearby reports0.79everything0.86
30% of days under alert is what the full model needs to catch what the Hutton alert catches on 61%. About half the alerts, same catch. Hutton alert61%weather model46%everything30%
+1 points of AUC is all the weather adds once the model knows the week, the nearby reports and the place. Better weather features help a weather-only model a lot, and the full model hardly at all. weather only0.75no weather0.85everything0.86
95% of reports had a Hutton period in the 28 days before, which reproduces the published 96%. It is the test the rule was given, and a rule on 61% of days cannot fail it. Smith68%Hutton95%
0.55 is the alert's average within-week AUC through July and August (0.52 to 0.59), when it is on for 70 to 88% of days. In May and early June, on for a fifth of days, it does better. late May0.61mid July0.59late Aug0.52

I went looking for a better humidity rule and there is one, worth six points of AUC to a weather-only warning, but it isn’t the story. The story is that from late June a warm humid night is the normal state of a British summer, so a rule that fires on warm humid nights fires all the time, and the information that would sharpen it (the week, and what the scouts have already found nearby) is public and sitting on the same website as the alert. Running the model each morning cost an afternoon; whether it earns a place next to the red dot is for the next season to say.

The research behind this is its own repo, blight-forecast: outbreak cleaning, station interpolation, the district-day panel and the season-forward fits. The numbers on this page come from its export through one script on the same code as the demos: experiment script · demo code. The live outlook is blightcast.live run by a daily action, weather from Open-Meteo. The rules: Smith 1956 and the Hutton Criteria (Dancey, Skelsey and Cooke 2017); the only other evaluation is Skelsey 2021. Data: the Fight Against Blight outbreak record (James Hutton Institute), Meteostat station archives, and BlightSpy for what growers see.

Comments