How do I read the chart?
The chart shows the recent observed river height differential (the black line) and a 10-day probabilistic
forecast (the blue spaghetti). Each thin blue line is one possible future trajectory driven by a different
rainfall ensemble member; the bold purple line is the ensemble mean and is the single most likely outcome.
Horizontal bands shade the flag colours, daily rainfall is shown as bars on the right axis, and the dashed
red line marks "now". For Isis and Godstow, the stacked chart underneath shows the probability that the river
will be in each flag colour at each point in the next 10 days.
How reliable is the summary sentence?
The summary sentence is simply a short description of the forecast, without any human intervention. The certainty
bounds are just based off the spread of the forecast. Importantly, the summary sentence is based off the change
from the first (+2h) prediction, so it doesn't take into account the initial jump at t=0. This summary sentence
is meant to give a general idea of the forecast, which is probably more reliable than the prediction chart itself.
Where does the data come from?
Historical river levels and rainfall come from the Environment Agency's flood-monitoring and hydrology APIs.
Rainfall forecasts come from the ECMWF AI Forecasting System (ECMWF-AIFS) via Open-Meteo. The model is an
LSTM trained on years of upstream rainfall paired with differentials at each lock.
Why hasn't the forecast updated recently?
Usually it's just a temporary glitch in an Environment Agency sensor going briefly offline; the page will
fall back to the latest successful forecast. If a sensor has been offline for more than four hours the page
flags the forecast as
stale. Updates are also scheduled hourly via GitHub Actions and sometimes
queue up, so refreshes may not land exactly on the hour.
Is the forecast reliable?
Please treat this as
experimental. The model is not perfect — in particular it can sometimes
display an unusual jump at the very start of the forecast. Issues and improvements get written up on the
substack; bug reports
and ideas are very welcome on
GitHub.