Learn

Nowcast or weather forecast?

One watches the rain that exists. The other computes the weather that will form. Each is better at a different time ahead.

Two ways to see ahead

A weather forecast comes from a numerical weather model: a simulation of the atmosphere’s physics on a grid, started from observations of the whole atmosphere. The German weather service’s ICON-EU model, for example, covers Europe on a grid of about 7 km. A model can create rain that does not exist yet, which is why it can look days ahead. But it takes time to run, its first hours are still settling, and it often puts a shower in roughly the right region at roughly the right time rather than over your street at 14:20.

A nowcast starts from the rain radar sees right now and moves it forward. It knows exactly where the rain is at the start, so its first hour is far sharper than a model’s. But it can only move and change rain that already exists: as time goes on, new showers that form out of clear air are missed, and its skill fades. See what is nowcasting.

NowcastWeather forecast
Starts fromThe latest radar imagesObservations of the whole atmosphere
MethodMoves and evolves the rain it seesSimulates the atmosphere’s physics
UpdatedEvery few minutes (Nimbo: every 10)Every few hours (ICON-EU: every 3)
Best forThe next minutes to hoursFrom a few hours to days ahead
Weak atRain that has not formed yetExact timing and place of showers

Heavy rain fades first

How long a nowcast stays useful depends on what you ask of it. “Will it rain at all?” keeps an answer for hours. “Will it pour?” does not, because the heavy cores of a rain area are small, and they grow and collapse within an hour or so, while the light rain around them lasts.

nimbo = radar.query("zone == 'EUROPE' and method == 'product'")
nimbo.pivot(index="lead_min", columns="threshold", values="csi").plot()
Line chart of Nimbo’s hit score against time ahead for three rain thresholds. At 0.2 mm/h it falls from 0.64 to 0.31 over 3 hours, at 1 mm/h from 0.52 to 0.20, at 5 mm/h from 0.31 to 0.05. Line chart of Nimbo’s hit score against time ahead for three rain thresholds. At 0.2 mm/h it falls from 0.64 to 0.31 over 3 hours, at 1 mm/h from 0.52 to 0.20, at 5 mm/h from 0.31 to 0.05.
Figure 1. Nimbo’s hit score against radar on the scoreboard’s 39 rainy days, for any rain (0.2 mm/h), rain (1 mm/h) and heavy rain (5 mm/h). radar is the table loaded in figure 3 of “What is nowcasting?”. Shaded: the 90 % range when the days are resampled.

Over three hours the score for any rain halves, from 0.64 to 0.31. The score for 5 mm/h falls to a sixth, from 0.31 to 0.05: by then the forecast knows roughly where it rains, but no longer where it pours.

The weather decides where the two cross

With a broad rain band moving steadily across the country, radar extrapolation stays good for hours: the rain that will fall later is already on the radar, upstream. With summer showers popping up in the afternoon heat, it fades faster: the showers of the third hour have not formed yet. Figure 2 splits rainy days by the kind of rain they had.

fss = lambda g: 1 - g.fss10_num.sum() / g.fss10_den.sum()
days = pd.read_parquet("pysteps_40_days.parquet").query("threshold == 0.2")
days.groupby(["regime", "lead_min"]).apply(fss).unstack(0).plot()
Line chart of pySTEPS’s near-miss score against time ahead, to 4 hours, on two kinds of days. Days of widespread rain start at 0.86 and keep 0.39 at 4 hours; days of showers and storms start at 0.81 and fall to 0.29. The gap between them widens with time. Line chart of pySTEPS’s near-miss score against time ahead, to 4 hours, on two kinds of days. Days of widespread rain start at 0.86 and keep 0.39 at 4 hours; days of showers and storms start at 0.81 and fall to 0.29. The gap between them widens with time.
Figure 2. A plain extrapolation nowcast (pySTEPS) on 40 rainy days in Spain and Portugal, 8 forecasts a day, sorted into days of widespread rain and days of showers and storms. Score: the near-miss score (FSS) for any rain within 10 km, explained in how to measure a rain forecast. Shaded: the 90 % range when the days are resampled.

The gap is small at first and grows with time: 0.05 after 15 minutes, 0.10 after four hours. On showery days, the point where a weather model does better comes sooner. Many services blend the two: the nowcast first, sliding to the model over a few hours.

Nimbo is a nowcast only, to three hours ahead, and does not fill gaps with model data. Its scores at each time ahead are public on the scoreboard, so you can choose where to hand over to a model in your own product.

“Minute by minute” is not always radar

Many weather APIs sell minute-by-minute rain. Some of it is a radar nowcast; much of it is a weather model’s hourly forecast cut into minutes, which looks precise but carries a model’s timing. If the next 30 minutes matter to your users, ask a provider where its minutes come from.

Next: How to measure a rain forecast