Post-Tropical Cyclone Melissa Model Accuracy: GFS vs GEFS mean vs Canadian GEM
Final advisory
NHC issued its final advisory at 8:00 AM ET Fri, Oct 31; Melissa is now a post-tropical cyclone.
Post-Tropical Cyclone Melissa has 49 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 45 miles across 36 forecasts. At 48 hours, the official wind forecast averaged 103 mph and where the storm actually went averaged 104 mph. Stored model tracks on these forecast tracks: GFS, GEFS mean, Canadian GEM, UKMET, HAFS-A, HAFS-B, HWRF, HMON.
AL132025 · 2025 · Oct 21–Nov 1, 2025. 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.
This score uses the archived NHC b-deck and a-deck for this storm. The post-season HURDAT2 file is not loaded.
Google DeepMind, WeatherNext 3, ECMWF AIFS, ECMWF HRES, ECMWF ENS mean, AI GFS, NAVGEM: 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 | NHC official | 1 | 1 | 1 |
| 2 | HAFS-A | 2 | 2 | 2 |
| 3 | HAFS-B | 3.5 | 4 | 3 |
| 4 | GEFS mean | 5 | 3 | 7 |
| 4 | HMON | 5 | 6 | 4 |
| 6 | Canadian GEM | 6.5 | 5 | 8 |
| 6 | HWRF | 6.5 | 8 | 5 |
| 8 | GFS | 7.5 | 9 | 6 |
| 9 | UKMET | 8 | 7 | 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 | NHC official | 12 h | 41 | 24 mi | — | 7 mph | — |
| 1 | NHC official | 24 h | 40 | 32 mi | — | 10 mph | — |
| 1 | NHC official | 36 h | 38 | 39 mi | — | 10 mph | — |
| 1 | NHC official | 48 h | 36 | 45 mi | — | 12 mph | — |
| 1 | NHC official | 60 h | 34 | 58 mi | — | 12 mph | — |
| 1 | NHC official | 72 h | 32 | 75 mi | — | 13 mph | — |
| 1 | NHC official | 96 h | 28 | 104 mi | — | 18 mph | — |
| 1 | NHC official | 120 h | 24 | 145 mi | — | 26 mph | — |
| 2 | HAFS-A | 12 h | 43 | 34 mi | Behind the official forecast by 38% | 11 mph | Behind the official forecast by 49% |
| 2 | HAFS-A | 24 h | 45 | 52 mi | Behind the official forecast by 42% | 11 mph | Behind the official forecast by 16% |
| 2 | HAFS-A | 36 h | 45 | 66 mi | Behind the official forecast by 36% | 12 mph | Behind the official forecast by 11% |
| 2 | HAFS-A | 48 h | 44 | 78 mi | Behind the official forecast by 41% | 16 mph | Behind the official forecast by 37% |
| 2 | HAFS-A | 60 h | 43 | 88 mi | Behind the official forecast by 36% | 19 mph | Behind the official forecast by 54% |
| 2 | HAFS-A | 72 h | 41 | 115 mi | Behind the official forecast by 33% | 22 mph | Behind the official forecast by 77% |
| 2 | HAFS-A | 96 h | 37 | 149 mi | Behind the official forecast by 42% | 23 mph | Behind the official forecast by 33% |
| 2 | HAFS-A | 120 h | 33 | 190 mi | Behind the official forecast by 45% | 21 mph | Beats the official forecast by 21% |
| 3 | HAFS-B | 12 h | 43 | 38 mi | Behind the official forecast by 53% | 13 mph | Behind the official forecast by 77% |
| 3 | HAFS-B | 24 h | 45 | 52 mi | Behind the official forecast by 46% | 13 mph | Behind the official forecast by 28% |
| 3 | HAFS-B | 36 h | 45 | 67 mi | Behind the official forecast by 55% | 15 mph | Behind the official forecast by 49% |
| 3 | HAFS-B | 48 h | 45 | 76 mi | Behind the official forecast by 52% | 17 mph | Behind the official forecast by 41% |
| 3 | HAFS-B | 60 h | 44 | 91 mi | Behind the official forecast by 43% | 18 mph | Behind the official forecast by 62% |
| 3 | HAFS-B | 72 h | 42 | 116 mi | Behind the official forecast by 45% | 24 mph | Behind the official forecast by 102% |
| 3 | HAFS-B | 96 h | 38 | 137 mi | Behind the official forecast by 36% | 24 mph | Behind the official forecast by 51% |
| 3 | HAFS-B | 120 h | 34 | 183 mi | Behind the official forecast by 43% | 20 mph | Beats the official forecast by 18% |
| 4 | HMON | 12 h | 43 | 33 mi | Behind the official forecast by 37% | 12 mph | Behind the official forecast by 65% |
| 4 | HMON | 24 h | 44 | 45 mi | Behind the official forecast by 32% | 12 mph | Behind the official forecast by 25% |
| 4 | HMON | 36 h | 42 | 55 mi | Behind the official forecast by 36% | 17 mph | Behind the official forecast by 74% |
| 4 | HMON | 48 h | 40 | 64 mi | Behind the official forecast by 39% | 21 mph | Behind the official forecast by 98% |
| 4 | HMON | 60 h | 40 | 84 mi | Behind the official forecast by 55% | 29 mph | Behind the official forecast by 175% |
| 4 | HMON | 72 h | 38 | 116 mi | Behind the official forecast by 68% | 28 mph | Behind the official forecast by 145% |
| 4 | HMON | 96 h | 34 | 197 mi | Behind the official forecast by 106% | 27 mph | Behind the official forecast by 72% |
| 4 | HMON | 120 h | 30 | 314 mi | Behind the official forecast by 143% | 25 mph | Beats the official forecast by 9% |
| 4 | GEFS mean | 12 h | 44 | 25 mi | Behind the official forecast by 9% | 36 mph | Behind the official forecast by 413% |
| 4 | GEFS mean | 24 h | 45 | 34 mi | Behind the official forecast by 2% | 33 mph | Behind the official forecast by 261% |
| 4 | GEFS mean | 36 h | 45 | 46 mi | Behind the official forecast by 2% | 33 mph | Behind the official forecast by 261% |
| 4 | GEFS mean | 48 h | 43 | 57 mi | Behind the official forecast by 11% | 34 mph | Behind the official forecast by 234% |
| 4 | GEFS mean | 60 h | 41 | 76 mi | Behind the official forecast by 23% | 36 mph | Behind the official forecast by 252% |
| 4 | GEFS mean | 72 h | 39 | 104 mi | Behind the official forecast by 31% | 39 mph | Behind the official forecast by 246% |
| 4 | GEFS mean | 96 h | 35 | 179 mi | Behind the official forecast by 62% | 44 mph | Behind the official forecast by 200% |
| 4 | GEFS mean | 120 h | 31 | 247 mi | Behind the official forecast by 67% | 51 mph | Behind the official forecast by 118% |
| 6 | Canadian GEM | 12 h | 22 | 32 mi | Behind the official forecast by 15% | 40 mph | Behind the official forecast by 399% |
| 6 | Canadian GEM | 24 h | 22 | 57 mi | Behind the official forecast by 68% | 41 mph | Behind the official forecast by 361% |
| 6 | Canadian GEM | 36 h | 22 | 80 mi | Behind the official forecast by 87% | 41 mph | Behind the official forecast by 321% |
| 6 | Canadian GEM | 48 h | 21 | 99 mi | Behind the official forecast by 106% | 41 mph | Behind the official forecast by 274% |
| 6 | Canadian GEM | 60 h | 21 | 116 mi | Behind the official forecast by 98% | 41 mph | Behind the official forecast by 257% |
| 6 | Canadian GEM | 72 h | 21 | 136 mi | Behind the official forecast by 86% | 39 mph | Behind the official forecast by 252% |
| 6 | Canadian GEM | 96 h | 19 | 181 mi | Behind the official forecast by 79% | 44 mph | Behind the official forecast by 183% |
| 6 | Canadian GEM | 120 h | 17 | 224 mi | Behind the official forecast by 30% | 50 mph | Behind the official forecast by 98% |
| 6 | HWRF | 12 h | 43 | 28 mi | Behind the official forecast by 20% | 11 mph | Behind the official forecast by 53% |
| 6 | HWRF | 24 h | 45 | 46 mi | Behind the official forecast by 33% | 12 mph | Behind the official forecast by 30% |
| 6 | HWRF | 36 h | 45 | 63 mi | Behind the official forecast by 42% | 18 mph | Behind the official forecast by 101% |
| 6 | HWRF | 48 h | 45 | 84 mi | Behind the official forecast by 57% | 23 mph | Behind the official forecast by 111% |
| 6 | HWRF | 60 h | 45 | 119 mi | Behind the official forecast by 77% | 25 mph | Behind the official forecast by 121% |
| 6 | HWRF | 72 h | 43 | 158 mi | Behind the official forecast by 94% | 25 mph | Behind the official forecast by 100% |
| 6 | HWRF | 96 h | 39 | 256 mi | Behind the official forecast by 154% | 22 mph | Behind the official forecast by 33% |
| 6 | HWRF | 120 h | 35 | 402 mi | Behind the official forecast by 213% | 29 mph | Behind the official forecast by 31% |
| 8 | GFS | 12 h | 44 | 42 mi | Behind the official forecast by 77% | 28 mph | Behind the official forecast by 297% |
| 8 | GFS | 24 h | 45 | 62 mi | Behind the official forecast by 82% | 24 mph | Behind the official forecast by 160% |
| 8 | GFS | 36 h | 45 | 85 mi | Behind the official forecast by 101% | 23 mph | Behind the official forecast by 153% |
| 8 | GFS | 48 h | 43 | 111 mi | Behind the official forecast by 132% | 26 mph | Behind the official forecast by 146% |
| 8 | GFS | 60 h | 41 | 149 mi | Behind the official forecast by 149% | 29 mph | Behind the official forecast by 152% |
| 8 | GFS | 72 h | 39 | 197 mi | Behind the official forecast by 152% | 33 mph | Behind the official forecast by 163% |
| 8 | GFS | 96 h | 35 | 337 mi | Behind the official forecast by 212% | 40 mph | Behind the official forecast by 162% |
| 8 | GFS | 120 h | 31 | 513 mi | Behind the official forecast by 262% | 45 mph | Behind the official forecast by 87% |
| 9 | UKMET | 12 h | 22 | 32 mi | Behind the official forecast by 16% | 40 mph | Behind the official forecast by 393% |
| 9 | UKMET | 24 h | 22 | 50 mi | Behind the official forecast by 44% | 42 mph | Behind the official forecast by 360% |
| 9 | UKMET | 36 h | 22 | 62 mi | Behind the official forecast by 46% | 45 mph | Behind the official forecast by 351% |
| 9 | UKMET | 48 h | 22 | 79 mi | Behind the official forecast by 60% | 47 mph | Behind the official forecast by 329% |
| 9 | UKMET | 60 h | 22 | 98 mi | Behind the official forecast by 48% | 50 mph | Behind the official forecast by 334% |
| 9 | UKMET | 72 h | 21 | 128 mi | Behind the official forecast by 52% | 55 mph | Behind the official forecast by 363% |
| 9 | UKMET | 96 h | 19 | 227 mi | Behind the official forecast by 103% | 63 mph | Behind the official forecast by 297% |
| 9 | UKMET | 120 h | 17 | 403 mi | Behind the official forecast by 161% | 71 mph | Behind the official forecast by 180% |
Google DeepMind, WeatherNext 3, ECMWF AIFS, ECMWF HRES, ECMWF ENS mean, AI GFS, NAVGEM: 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 (49 positions)
- NHC official Oct 21, 12:00 UTC
- NHC official Oct 24, 18:00 UTC
- NHC official Oct 28, 06:00 UTC
- NHC official Oct 31, 12:00 UTC
- GFS
- GEFS mean
- Canadian GEM
- UKMET
- HAFS-A
- HAFS-B
- HWRF
- HMON
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 | 41 | 24 mi | 7 mph | 100 mph | 97 mph |
| 24 h | 40 | 32 mi | 10 mph | 101 mph | 99 mph |
| 36 h | 38 | 39 mi | 10 mph | 102 mph | 101 mph |
| 48 h | 36 | 45 mi | 12 mph | 103 mph | 104 mph |
| 60 h | 34 | 58 mi | 12 mph | 104 mph | 108 mph |
| 72 h | 32 | 75 mi | 13 mph | 104 mph | 112 mph |
| 96 h | 28 | 104 mi | 18 mph | 106 mph | 119 mph |
| 120 h | 24 | 145 mi | 26 mph | 105 mph | 123 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.