Tropical Depression Boris Model Accuracy: DeepMind vs GFS vs WeatherNext 3
Final advisory
NHC issued its final advisory at 8:00 AM ET Tue, Jun 9.
Tropical Depression Boris has 16 positions on the best track, which is where the storm actually went, from the operational NHC file. 4 official forecast tracks are drawn. At 12 hours, the average track miss is 59 miles across 7 forecasts. At 12 hours, the official wind forecast averaged 41 mph and where the storm actually went averaged 41 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.
EP022026 · 2026 · Jun 5-9, 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 AIFS, 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 | HMON | 2.5 | 4 | 1 |
| 1 | WeatherNext 3 | 2.5 | 1 | 4 |
| 3 | Google DeepMind | 4 | 6 | 2 |
| 4 | GEFS mean | 4.5 | 2 | 7 |
| 5 | NHC official | 5.5 | 8 | 3 |
| 6 | GFS | 6.5 | 5 | 8 |
| 7 | HAFS-A | 7 | 9 | 5 |
| 7 | UKMET | 7 | 3 | 11 |
| 9 | HAFS-B | 8.5 | 11 | 6 |
| 9 | HWRF | 8.5 | 7 | 10 |
| 11 | NAVGEM | 9.5 | 10 | 9 |
| — | Canadian GEM | Not enough forecasts yet | — | — |
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 | 6 | 25 mi | Beats the official forecast by 63% | 5 mph | Behind the official forecast by 25% |
| 1 | WeatherNext 3 | 24 h | 4 | 54 mi | Beats the official forecast by 52% | 5 mph | Behind the official forecast by 27% |
| 1 | WeatherNext 3 | 36 h | 2 | 110 mi | Beats the official forecast by 33% | 6 mph | Beats the official forecast by 45% |
| 1 | HMON | 12 h | 11 | 55 mi | Beats the official forecast by 2% | 7 mph | Behind the official forecast by 133% |
| 1 | HMON | 24 h | 9 | 66 mi | Beats the official forecast by 20% | 5 mph | Behind the official forecast by 20% |
| 1 | HMON | 36 h | 6 | 102 mi | Behind the official forecast by 19% | 13 mph | Behind the official forecast by 100% |
| 1 | HMON | 48 h | 3 | 213 mi | — | 14 mph | — |
| 1 | HMON | 60 h | 2 | 180 mi | — | 11 mph | — |
| 3 | Google DeepMind | 12 h | 7 | 35 mi | Beats the official forecast by 41% | 7 mph | Behind the official forecast by 115% |
| 3 | Google DeepMind | 24 h | 5 | 89 mi | Beats the official forecast by 21% | 4 mph | Beats the official forecast by 20% |
| 3 | Google DeepMind | 36 h | 3 | 160 mi | Behind the official forecast by 2% | 2 mph | Beats the official forecast by 76% |
| 4 | GEFS mean | 12 h | 14 | 36 mi | Beats the official forecast by 48% | 4 mph | Behind the official forecast by 75% |
| 4 | GEFS mean | 24 h | 11 | 50 mi | Beats the official forecast by 46% | 7 mph | Behind the official forecast by 90% |
| 4 | GEFS mean | 36 h | 9 | 75 mi | Beats the official forecast by 13% | 8 mph | Behind the official forecast by 40% |
| 4 | GEFS mean | 48 h | 7 | 121 mi | — | 10 mph | — |
| 4 | GEFS mean | 60 h | 5 | 135 mi | — | 8 mph | — |
| 4 | GEFS mean | 72 h | 2 | 151 mi | — | 4 mph | — |
| 5 | NHC official | 12 h | 7 | 59 mi | — | 3 mph | — |
| 5 | NHC official | 24 h | 5 | 113 mi | — | 5 mph | — |
| 5 | NHC official | 36 h | 3 | 156 mi | — | 10 mph | — |
| 6 | GFS | 12 h | 13 | 59 mi | Beats the official forecast by 28% | 5 mph | Behind the official forecast by 45% |
| 6 | GFS | 24 h | 11 | 81 mi | Beats the official forecast by 26% | 6 mph | Behind the official forecast by 100% |
| 6 | GFS | 36 h | 9 | 106 mi | Beats the official forecast by 8% | 10 mph | Behind the official forecast by 88% |
| 6 | GFS | 48 h | 7 | 178 mi | — | 10 mph | — |
| 6 | GFS | 60 h | 5 | 210 mi | — | 15 mph | — |
| 6 | GFS | 72 h | 3 | 188 mi | — | 12 mph | — |
| 6 | GFS | 96 h | 1 | 192 mi | — | 6 mph | — |
| 7 | UKMET | 12 h | 7 | 85 mi | Beats the official forecast by 7% | 7 mph | Behind the official forecast by 190% |
| 7 | UKMET | 24 h | 7 | 96 mi | Beats the official forecast by 33% | 7 mph | Behind the official forecast by 210% |
| 7 | UKMET | 36 h | 6 | 114 mi | Beats the official forecast by 31% | 10 mph | Behind the official forecast by 47% |
| 7 | UKMET | 48 h | 5 | 133 mi | — | 13 mph | — |
| 7 | UKMET | 60 h | 4 | 180 mi | — | 11 mph | — |
| 7 | UKMET | 72 h | 3 | 211 mi | — | 12 mph | — |
| 7 | UKMET | 96 h | 1 | 177 mi | — | 6 mph | — |
| 7 | HAFS-A | 12 h | 13 | 81 mi | Behind the official forecast by 26% | 9 mph | Behind the official forecast by 205% |
| 7 | HAFS-A | 24 h | 11 | 82 mi | Behind the official forecast by 17% | 6 mph | Behind the official forecast by 45% |
| 7 | HAFS-A | 36 h | 9 | 112 mi | Behind the official forecast by 35% | 3 mph | Beats the official forecast by 32% |
| 7 | HAFS-A | 48 h | 7 | 164 mi | — | 6 mph | — |
| 7 | HAFS-A | 60 h | 5 | 220 mi | — | 8 mph | — |
| 7 | HAFS-A | 72 h | 3 | 254 mi | — | 9 mph | — |
| 9 | HAFS-B | 12 h | 13 | 90 mi | Behind the official forecast by 28% | 11 mph | Behind the official forecast by 255% |
| 9 | HAFS-B | 24 h | 11 | 104 mi | Behind the official forecast by 36% | 6 mph | Behind the official forecast by 60% |
| 9 | HAFS-B | 36 h | 9 | 151 mi | Behind the official forecast by 111% | 9 mph | Behind the official forecast by 12% |
| 9 | HAFS-B | 48 h | 7 | 167 mi | — | 10 mph | — |
| 9 | HAFS-B | 60 h | 5 | 199 mi | — | 11 mph | — |
| 9 | HAFS-B | 72 h | 3 | 169 mi | — | 9 mph | — |
| 9 | HWRF | 12 h | 13 | 82 mi | Behind the official forecast by 30% | 9 mph | Behind the official forecast by 175% |
| 9 | HWRF | 24 h | 11 | 71 mi | Beats the official forecast by 12% | 11 mph | Behind the official forecast by 130% |
| 9 | HWRF | 36 h | 9 | 70 mi | Beats the official forecast by 31% | 15 mph | Behind the official forecast by 20% |
| 9 | HWRF | 48 h | 7 | 141 mi | — | 14 mph | — |
| 9 | HWRF | 60 h | 5 | 200 mi | — | 10 mph | — |
| 9 | HWRF | 72 h | 3 | 210 mi | — | 11 mph | — |
| 11 | NAVGEM | 12 h | 13 | 56 mi | Behind the official forecast by 30% | 6 mph | Behind the official forecast by 125% |
| 11 | NAVGEM | 24 h | 11 | 94 mi | Behind the official forecast by 20% | 7 mph | Behind the official forecast by 105% |
| 11 | NAVGEM | 36 h | 8 | 111 mi | Beats the official forecast by 6% | 7 mph | Beats the official forecast by 20% |
| 11 | NAVGEM | 48 h | 6 | 101 mi | — | 11 mph | — |
| 11 | NAVGEM | 60 h | 2 | 188 mi | — | 7 mph | — |
| — | Canadian GEM | 12 h | 7 | 48 mi | Beats the official forecast by 3% | 7 mph | Behind the official forecast by 200% |
| — | Canadian GEM | 24 h | 6 | 75 mi | Beats the official forecast by 4% | 6 mph | Behind the official forecast by 240% |
| — | Canadian GEM | 36 h | 5 | 49 mi | Beats the official forecast by 80% | 9 mph | Behind the official forecast by 90% |
| — | Canadian GEM | 48 h | 4 | 44 mi | — | 8 mph | — |
| — | Canadian GEM | 60 h | 4 | 162 mi | — | 7 mph | — |
| — | Canadian GEM | 72 h | 3 | 269 mi | — | 11 mph | — |
| — | Canadian GEM | 96 h | 1 | 339 mi | — | 8 mph | — |
ECMWF AIFS, 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 (16 positions)
- NHC official Jun 7, 12:00 UTC
- NHC official Jun 8, 06:00 UTC
- NHC official Jun 8, 18:00 UTC
- NHC official Jun 9, 12:00 UTC
- GFS
- GEFS mean
- Canadian GEM
- UKMET
- HAFS-A
- HAFS-B
- HWRF
- HMON
- NAVGEM
- Google DeepMind
- WeatherNext 3
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 | 7 | 59 mi | 3 mph | 41 mph | 41 mph |
| 24 h | 5 | 113 mi | 5 mph | 40 mph | 43 mph |
| 36 h | 3 | 156 mi | 10 mph | 31 mph | 40 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.