Tropical Depression Trudy Model Accuracy: DeepMind vs ECMWF vs GFS
Final advisory
NHC issued its final advisory at 8:00 PM ET Mon, Oct 19.
Tropical Depression Trudy has 36 positions on the best track, which is where the storm actually went, from the operational NHC file. 4 official forecast tracks are drawn. At 48 hours, the average track miss is 58 miles across 19 forecasts. At 48 hours, the official wind forecast averaged 107 mph and where the storm actually went averaged 87 mph. Stored model tracks on these forecast tracks: GFS, GEFS mean, Canadian GEM, UKMET, HAFS-A, HAFS-B, HWRF, HMON, NAVGEM, Google DeepMind, WeatherNext 3, ECMWF AIFS.
EP212026 · 2026 · Oct 11-20, 2026. Score table. Damage reports.
How to read this. The solid line is where the storm went. A dashed line is where the official forecast said it would go. A smaller path miss is closer. Distances are statute miles. Wind speeds are miles per hour.
The technical details
Path miss on this page is the great-circle distance in statute miles, the same miles as the home card and the score table. The Earth radius is 3,958.7613 miles. The file also keeps that distance in nautical miles. One nautical mile is 1,852 meters, about 1.15 statute miles. A case counts when that forecast and the best track (BEST, lead 0) share the same valid time. Positions are not interpolated. A model track counts even when that cycle has no official forecast yet. Skill against the official forecast (OFCL) still requires the official forecast from the same issue time and lead.
Shown leads are 12, 24, 36, 48, 60, 72, 96, and 120 hours, once a paired fix exists. Sample size is the number of paired cases at that lead. Overall rank still uses 24, 48, 72, and 120 hours. The 96-hour lead is drawn when the deck has a paired fix, and it is not in that rank.
Wind on this page is miles per hour. The file stores maximum wind in knots. One knot is about 1.15 miles per hour. An advisory wind is rounded to the nearest 5 mph. A mean on this page is rounded to the nearest mile per hour. Wind miss is the absolute difference on the paired cases. There is no confidence interval on this map. The daily board’s interval is a 95% percentile bootstrap.
Overall rank is the average of the path rank and the wind rank on this storm. Each rank uses the graded leads at 24, 48, 72, and 120 hours, and each of those leads counts once, however many forecasts it holds. A lower miss is the better rank. A tie shares the average of the places those forecasts occupy. A source is ranked only with at least 3 graded forecasts for path and 3 for wind. Fewer than that says Not enough forecasts yet. A source with no graded path, or no graded wind, is left out of both ranks, and overall shows —.
The best track is the operational NHC b-deck. It is preliminary and revised after the season. HURDAT2 is not loaded. Model lines come from the public a-deck for the same forecast tracks, and only when that file stores them. Google DeepMind is the Weather Lab operational ensemble mean. WeatherNext 3 is that model’s ensemble mean from the same download. ECMWF AIFS, ECMWF HRES, and the ECMWF ENS mean are tropical-cyclone tracks from ECMWF open data. The ECMWF ENS mean is the average of the member centers in the IFS ensemble track file. AI GFS is NOAA’s AIGFS tracker when that file is still posted. The methodology page names the aids that are scored.
The methodology page is the full reference. How we grade says the same rules in plain English.
The best track is the operational NHC b-deck. It is preliminary and is revised after the season. The post-season HURDAT2 track is not loaded.
ECMWF HRES, ECMWF ENS mean, AI GFS: No graded forecasts yet.
Overall rank
Overall averages each forecast's rank on path and on wind strength. See the separate scores below.
| Place on this list. 1 was closest to the weather that happened. A tie shares this number, and the next place skips ahead. Early read until the longer day count, then proven. | The forecast source this row scores. | Path and wind ranksOverall averages each forecast's rank on path and on wind strength. See the separate scores below. | Track rankPlace on path miss. 1 was closest. On one storm this is that place. Across storms it is the average of those places. Each graded lead counts once. A tie shares the average place. | Intensity rankPlace on wind miss. 1 was closest. On one storm this is that place. Across storms it is the average of those places. Each graded lead counts once. A tie shares the average place. |
|---|---|---|---|---|
| 1 | WeatherNext 3 | 1.5 | 2 | 1 |
| 2 | Google DeepMind | 3 | 4 | 2 |
| 3 | NHC official | 5 | 5 | 5 |
| 4 | HMON | 5.5 | 7 | 4 |
| 5 | HWRF | 6 | 9 | 3 |
| 5 | UKMET | 6 | 1 | 11 |
| 7 | ECMWF AIFS | 8 | 3 | 13 |
| 8 | GEFS mean | 9 | 8 | 10 |
| 8 | Canadian GEM | 9 | 6 | 12 |
| 8 | HAFS-B | 9 | 12 | 6 |
| 8 | NAVGEM | 9 | 10 | 8 |
| 12 | GFS | 10 | 13 | 7 |
| 12 | HAFS-A | 10 | 11 | 9 |
Track and intensity by model
Each row is one source at one lead that has already verified, including 12, 24, 36, and 48 hours. The count is how many forecasts shared a time with where the storm went. Path miss is statute miles. Wind miss is miles per hour. The rank number is that source's place in the table above, and it still uses 24, 48, 72, and 120 hours.
| Place on this list. 1 was closest to the weather that happened. A tie shares this number, and the next place skips ahead. Early read until the longer day count, then proven. | The forecast source this row scores. | LeadHow many hours ahead this forecast was made. Scored leads are 24, 48, 72, and 120. The technical name is lead. | CasesHow many past forecasts went into this average. A forecast counts only when the best track has a fix at that exact time. The technical name is cases. | Track errorAverage how far the predicted storm path was from where it actually went, in miles. Lower is better. The technical name is track error. | Track skillHow that path miss compares with the official hurricane forecast. Positive means better than the official forecast. Negative means worse. The technical name is track skill. | Intensity errorAverage how far off the predicted wind speed was, in miles per hour. The file stores knots. Lower is better. The technical name is intensity error. | Intensity skillHow that wind miss compares with the official hurricane forecast. Positive means better. Negative means worse. The technical name is intensity skill. |
|---|---|---|---|---|---|---|---|
| 1 | WeatherNext 3 | 12 h | 25 | 17 mi | Beats the official forecast by 48% | 9 mph | Beats the official forecast by 13% |
| 1 | WeatherNext 3 | 24 h | 23 | 29 mi | Beats the official forecast by 25% | 9 mph | Beats the official forecast by 44% |
| 1 | WeatherNext 3 | 36 h | 21 | 34 mi | Beats the official forecast by 39% | 12 mph | Beats the official forecast by 39% |
| 1 | WeatherNext 3 | 48 h | 19 | 44 mi | Beats the official forecast by 24% | 16 mph | Beats the official forecast by 27% |
| 1 | WeatherNext 3 | 60 h | 17 | 54 mi | Beats the official forecast by 26% | 17 mph | Beats the official forecast by 20% |
| 1 | WeatherNext 3 | 72 h | 15 | 62 mi | Beats the official forecast by 26% | 17 mph | Beats the official forecast by 24% |
| 1 | WeatherNext 3 | 96 h | 11 | 83 mi | Beats the official forecast by 2% | 18 mph | Beats the official forecast by 12% |
| 1 | WeatherNext 3 | 120 h | 6 | 91 mi | Behind the official forecast by 8% | 15 mph | Beats the official forecast by 30% |
| 2 | Google DeepMind | 12 h | 25 | 22 mi | Beats the official forecast by 34% | 15 mph | Behind the official forecast by 54% |
| 2 | Google DeepMind | 24 h | 23 | 33 mi | Beats the official forecast by 15% | 13 mph | Beats the official forecast by 13% |
| 2 | Google DeepMind | 36 h | 21 | 41 mi | Beats the official forecast by 25% | 15 mph | Beats the official forecast by 27% |
| 2 | Google DeepMind | 48 h | 19 | 52 mi | Beats the official forecast by 10% | 14 mph | Beats the official forecast by 33% |
| 2 | Google DeepMind | 60 h | 17 | 65 mi | Beats the official forecast by 10% | 16 mph | Beats the official forecast by 23% |
| 2 | Google DeepMind | 72 h | 15 | 73 mi | Beats the official forecast by 12% | 21 mph | Beats the official forecast by 9% |
| 2 | Google DeepMind | 96 h | 11 | 95 mi | Behind the official forecast by 13% | 14 mph | Beats the official forecast by 31% |
| 2 | Google DeepMind | 120 h | 7 | 85 mi | Behind the official forecast by 2% | 10 mph | Beats the official forecast by 57% |
| 3 | NHC official | 12 h | 25 | 33 mi | — | 10 mph | — |
| 3 | NHC official | 24 h | 23 | 39 mi | — | 15 mph | — |
| 3 | NHC official | 36 h | 21 | 55 mi | — | 20 mph | — |
| 3 | NHC official | 48 h | 19 | 58 mi | — | 22 mph | — |
| 3 | NHC official | 60 h | 17 | 73 mi | — | 21 mph | — |
| 3 | NHC official | 72 h | 15 | 83 mi | — | 23 mph | — |
| 3 | NHC official | 96 h | 11 | 84 mi | — | 20 mph | — |
| 3 | NHC official | 120 h | 7 | 84 mi | — | 23 mph | — |
| 4 | HMON | 12 h | 30 | 41 mi | Behind the official forecast by 10% | 12 mph | Behind the official forecast by 31% |
| 4 | HMON | 24 h | 28 | 50 mi | Behind the official forecast by 18% | 17 mph | Behind the official forecast by 32% |
| 4 | HMON | 36 h | 26 | 59 mi | Beats the official forecast by 5% | 20 mph | Behind the official forecast by 12% |
| 4 | HMON | 48 h | 24 | 71 mi | Behind the official forecast by 9% | 17 mph | Beats the official forecast by 19% |
| 4 | HMON | 60 h | 22 | 82 mi | Behind the official forecast by 3% | 20 mph | Beats the official forecast by 9% |
| 4 | HMON | 72 h | 20 | 97 mi | Behind the official forecast by 6% | 22 mph | Beats the official forecast by 20% |
| 4 | HMON | 96 h | 16 | 116 mi | Behind the official forecast by 27% | 16 mph | Beats the official forecast by 36% |
| 4 | HMON | 120 h | 12 | 129 mi | Behind the official forecast by 43% | 14 mph | Beats the official forecast by 36% |
| 5 | UKMET | 12 h | 15 | 42 mi | Behind the official forecast by 21% | 26 mph | Behind the official forecast by 184% |
| 5 | UKMET | 24 h | 14 | 53 mi | Behind the official forecast by 9% | 30 mph | Behind the official forecast by 124% |
| 5 | UKMET | 36 h | 13 | 63 mi | Beats the official forecast by 12% | 35 mph | Behind the official forecast by 90% |
| 5 | UKMET | 48 h | 12 | 58 mi | Beats the official forecast by 27% | 38 mph | Behind the official forecast by 95% |
| 5 | UKMET | 60 h | 11 | 54 mi | Beats the official forecast by 45% | 42 mph | Behind the official forecast by 85% |
| 5 | UKMET | 72 h | 10 | 67 mi | Beats the official forecast by 39% | 44 mph | Behind the official forecast by 69% |
| 5 | UKMET | 96 h | 8 | 83 mi | Behind the official forecast by 3% | 42 mph | Behind the official forecast by 75% |
| 5 | UKMET | 120 h | 6 | 101 mi | Ties the official forecast | 40 mph | Behind the official forecast by 66% |
| 5 | HWRF | 12 h | 30 | 37 mi | Ties the official forecast | 14 mph | Behind the official forecast by 53% |
| 5 | HWRF | 24 h | 28 | 50 mi | Behind the official forecast by 18% | 16 mph | Behind the official forecast by 23% |
| 5 | HWRF | 36 h | 26 | 67 mi | Behind the official forecast by 4% | 17 mph | Beats the official forecast by 3% |
| 5 | HWRF | 48 h | 24 | 94 mi | Behind the official forecast by 32% | 12 mph | Beats the official forecast by 43% |
| 5 | HWRF | 60 h | 22 | 122 mi | Behind the official forecast by 35% | 19 mph | Beats the official forecast by 14% |
| 5 | HWRF | 72 h | 20 | 147 mi | Behind the official forecast by 36% | 18 mph | Beats the official forecast by 42% |
| 5 | HWRF | 96 h | 16 | 180 mi | Behind the official forecast by 55% | 19 mph | Beats the official forecast by 18% |
| 5 | HWRF | 120 h | 12 | 226 mi | Behind the official forecast by 58% | 23 mph | Beats the official forecast by 9% |
| 7 | ECMWF AIFS | 12 h | 24 | 22 mi | Beats the official forecast by 32% | 42 mph | Behind the official forecast by 312% |
| 7 | ECMWF AIFS | 24 h | 22 | 32 mi | Beats the official forecast by 20% | 45 mph | Behind the official forecast by 184% |
| 7 | ECMWF AIFS | 36 h | 20 | 44 mi | Beats the official forecast by 23% | 47 mph | Behind the official forecast by 124% |
| 7 | ECMWF AIFS | 48 h | 18 | 53 mi | Beats the official forecast by 14% | 47 mph | Behind the official forecast by 107% |
| 7 | ECMWF AIFS | 60 h | 14 | 41 mi | Beats the official forecast by 44% | 49 mph | Behind the official forecast by 127% |
| 7 | ECMWF AIFS | 72 h | 13 | 54 mi | Beats the official forecast by 37% | 46 mph | Behind the official forecast by 102% |
| 7 | ECMWF AIFS | 96 h | 8 | 84 mi | Beats the official forecast by 4% | 61 mph | Behind the official forecast by 270% |
| 7 | ECMWF AIFS | 120 h | 1 | 92 mi | Beats the official forecast by 18% | 75 mph | Behind the official forecast by 333% |
| 8 | Canadian GEM | 12 h | 15 | 28 mi | Beats the official forecast by 13% | 29 mph | Behind the official forecast by 225% |
| 8 | Canadian GEM | 24 h | 14 | 47 mi | Behind the official forecast by 4% | 34 mph | Behind the official forecast by 148% |
| 8 | Canadian GEM | 36 h | 13 | 58 mi | Beats the official forecast by 5% | 36 mph | Behind the official forecast by 93% |
| 8 | Canadian GEM | 48 h | 12 | 70 mi | Behind the official forecast by 2% | 40 mph | Behind the official forecast by 111% |
| 8 | Canadian GEM | 60 h | 11 | 56 mi | Beats the official forecast by 35% | 42 mph | Behind the official forecast by 89% |
| 8 | Canadian GEM | 72 h | 10 | 67 mi | Beats the official forecast by 32% | 43 mph | Behind the official forecast by 69% |
| 8 | Canadian GEM | 96 h | 8 | 107 mi | Behind the official forecast by 33% | 38 mph | Behind the official forecast by 65% |
| 8 | Canadian GEM | 120 h | 6 | 90 mi | Behind the official forecast by 27% | 34 mph | Behind the official forecast by 56% |
| 8 | HAFS-B | 12 h | 30 | 32 mi | Beats the official forecast by 11% | 13 mph | Behind the official forecast by 35% |
| 8 | HAFS-B | 24 h | 28 | 52 mi | Behind the official forecast by 33% | 17 mph | Behind the official forecast by 23% |
| 8 | HAFS-B | 36 h | 26 | 81 mi | Behind the official forecast by 44% | 16 mph | Beats the official forecast by 10% |
| 8 | HAFS-B | 48 h | 24 | 104 mi | Behind the official forecast by 72% | 17 mph | Beats the official forecast by 14% |
| 8 | HAFS-B | 60 h | 22 | 126 mi | Behind the official forecast by 68% | 18 mph | Beats the official forecast by 9% |
| 8 | HAFS-B | 72 h | 20 | 152 mi | Behind the official forecast by 74% | 26 mph | Behind the official forecast by 19% |
| 8 | HAFS-B | 96 h | 16 | 235 mi | Behind the official forecast by 166% | 26 mph | Behind the official forecast by 18% |
| 8 | HAFS-B | 120 h | 12 | 323 mi | Behind the official forecast by 242% | 24 mph | Behind the official forecast by 36% |
| 8 | GEFS mean | 12 h | 30 | 26 mi | Beats the official forecast by 24% | 24 mph | Behind the official forecast by 181% |
| 8 | NAVGEM | 12 h | 30 | 45 mi | Behind the official forecast by 20% | 17 mph | Behind the official forecast by 93% |
| 8 | GEFS mean | 24 h | 28 | 40 mi | Beats the official forecast by 2% | 27 mph | Behind the official forecast by 109% |
| 8 | NAVGEM | 24 h | 28 | 63 mi | Behind the official forecast by 50% | 15 mph | Behind the official forecast by 7% |
| 8 | GEFS mean | 36 h | 26 | 61 mi | Beats the official forecast by 2% | 32 mph | Behind the official forecast by 76% |
| 8 | NAVGEM | 36 h | 26 | 91 mi | Behind the official forecast by 65% | 27 mph | Behind the official forecast by 52% |
| 8 | GEFS mean | 48 h | 24 | 79 mi | Behind the official forecast by 17% | 36 mph | Behind the official forecast by 79% |
| 8 | NAVGEM | 48 h | 22 | 103 mi | Behind the official forecast by 95% | 31 mph | Behind the official forecast by 62% |
| 8 | GEFS mean | 60 h | 22 | 97 mi | Behind the official forecast by 6% | 39 mph | Behind the official forecast by 90% |
| 8 | NAVGEM | 60 h | 18 | 116 mi | Behind the official forecast by 80% | 30 mph | Behind the official forecast by 25% |
| 8 | GEFS mean | 72 h | 20 | 119 mi | Behind the official forecast by 12% | 40 mph | Behind the official forecast by 63% |
| 8 | NAVGEM | 72 h | 15 | 133 mi | Behind the official forecast by 86% | 33 mph | Behind the official forecast by 14% |
| 8 | GEFS mean | 96 h | 16 | 160 mi | Behind the official forecast by 56% | 38 mph | Behind the official forecast by 74% |
| 8 | NAVGEM | 96 h | 10 | 139 mi | Behind the official forecast by 95% | 25 mph | Behind the official forecast by 1% |
| 8 | GEFS mean | 120 h | 12 | 211 mi | Behind the official forecast by 74% | 35 mph | Behind the official forecast by 23% |
| 8 | NAVGEM | 120 h | 8 | 164 mi | Behind the official forecast by 76% | 25 mph | Behind the official forecast by 57% |
| 12 | GFS | 12 h | 30 | 29 mi | Beats the official forecast by 12% | 15 mph | Behind the official forecast by 71% |
| 12 | GFS | 24 h | 28 | 45 mi | Behind the official forecast by 21% | 17 mph | Behind the official forecast by 33% |
| 12 | GFS | 36 h | 26 | 70 mi | Behind the official forecast by 29% | 19 mph | Behind the official forecast by 11% |
| 12 | GFS | 48 h | 24 | 100 mi | Behind the official forecast by 67% | 21 mph | Behind the official forecast by 8% |
| 12 | GFS | 60 h | 22 | 132 mi | Behind the official forecast by 68% | 25 mph | Behind the official forecast by 32% |
| 12 | GFS | 72 h | 20 | 169 mi | Behind the official forecast by 83% | 28 mph | Behind the official forecast by 20% |
| 12 | GFS | 96 h | 16 | 251 mi | Behind the official forecast by 169% | 28 mph | Behind the official forecast by 50% |
| 12 | GFS | 120 h | 11 | 347 mi | Behind the official forecast by 222% | 23 mph | Behind the official forecast by 33% |
| 12 | HAFS-A | 12 h | 30 | 35 mi | Beats the official forecast by 3% | 13 mph | Behind the official forecast by 37% |
| 12 | HAFS-A | 24 h | 28 | 53 mi | Behind the official forecast by 36% | 17 mph | Behind the official forecast by 31% |
| 12 | HAFS-A | 36 h | 26 | 75 mi | Behind the official forecast by 38% | 17 mph | Beats the official forecast by 5% |
| 12 | HAFS-A | 48 h | 24 | 98 mi | Behind the official forecast by 71% | 19 mph | Behind the official forecast by 1% |
| 12 | HAFS-A | 60 h | 22 | 120 mi | Behind the official forecast by 68% | 21 mph | Behind the official forecast by 14% |
| 12 | HAFS-A | 72 h | 20 | 143 mi | Behind the official forecast by 69% | 26 mph | Behind the official forecast by 26% |
| 12 | HAFS-A | 96 h | 16 | 187 mi | Behind the official forecast by 112% | 26 mph | Behind the official forecast by 10% |
| 12 | HAFS-A | 120 h | 12 | 256 mi | Behind the official forecast by 184% | 41 mph | Behind the official forecast by 118% |
ECMWF HRES, ECMWF ENS mean, AI GFS: No graded forecasts yet.
Track map
The solid line is the best track. Dashed lines are official forecast tracks from a few advisories, from the issue position out through the leads stored in that advisory. Thinner lines are model tracks from NHC’s public a-deck for those same advisories, and only when that file actually contains them. Google DeepMind and WeatherNext 3 are ensemble-mean tracks from Weather Lab, drawn on those same advisories. ECMWF AIFS, ECMWF HRES, and the ECMWF ENS mean are open-data cyclone tracks, drawn the same way. AI GFS is NOAA’s AIGFS tracker, drawn when that file is still posted.
- Actual track (36 positions)
- NHC official Oct 13, 12:00 UTC
- NHC official Oct 15, 12:00 UTC
- NHC official Oct 17, 18:00 UTC
- NHC official Oct 19, 18:00 UTC
- GFS
- GEFS mean
- Canadian GEM
- UKMET
- HAFS-A
- HAFS-B
- HWRF
- HMON
- NAVGEM
- Google DeepMind
- WeatherNext 3
- ECMWF AIFS
The chart measures how far the track was off in statute miles, the same miles as the home card. It includes 12, 24, 36, 48, 60, 72, 96, and 120 hours when a paired fix exists. The overall rank uses 24, 48, 72, and 120 hours. Positions are not interpolated.
How far the track was off
| LeadHow many hours ahead this forecast was made. This map shows 12, 24, 36, 48, 60, 72, 96, and 120 when a paired fix exists. Overall rank uses 24, 48, 72, and 120. The technical name is lead. | CasesHow many past forecasts went into this average. A forecast counts only when the best track has a fix at that exact time. The technical name is cases. | Track errorAverage how far the predicted storm path was from where it actually went, in statute miles. Lower is better. The technical name is track error. | Intensity errorAverage how far off the predicted wind speed was, in miles per hour, on this page. Lower is better. The file stores knots. The technical name is intensity error. | Forecast max windAverage top wind in the official forecast, in miles per hour, on the paired cases. The file stores knots. The technical name is forecast maximum wind. | Best-track windAverage top wind where the storm actually went, in miles per hour, at the same times. The file stores knots. The technical name is best-track wind. |
|---|---|---|---|---|---|
| 12 h | 25 | 33 mi | 10 mph | 89 mph | 81 mph |
| 24 h | 23 | 39 mi | 15 mph | 97 mph | 84 mph |
| 36 h | 21 | 55 mi | 20 mph | 103 mph | 86 mph |
| 48 h | 19 | 58 mi | 22 mph | 107 mph | 87 mph |
| 60 h | 17 | 73 mi | 21 mph | 107 mph | 87 mph |
| 72 h | 15 | 83 mi | 23 mph | 106 mph | 83 mph |
| 96 h | 11 | 84 mi | 20 mph | 100 mph | 80 mph |
| 120 h | 7 | 84 mi | 23 mph | 93 mph | 70 mph |
Miles are statute miles. Wind is miles per hour. The National Hurricane Center file stores wind in knots. One knot is about 1.15 miles per hour. Nautical miles are in the technical details.
Top wind
- Official forecast maximum wind
- Best-track maximum wind
Source: National Hurricane Center / NOAA. The operational b-deck and the public a-deck are U.S. government works in the public domain. Google DeepMind and WeatherNext 3 ensemble means are experimental forecasts from Google DeepMind Weather Lab. Forecasts older than 48 hours are used under CC BY 4.0. ECMWF AIFS, ECMWF HRES, and ECMWF ENS tracks are ECMWF open data, used under CC BY 4.0. AI GFS tracks are a NOAA AIGFS product. Forecast Scoreboard is not affiliated with NHC, NOAA, Google, or ECMWF.
Get the storm report card
Leave an email address and the storm report card can go there when it is ready.
We store this address for a future storm report card. We do not sell it. No email is sent yet.