Hurricane tracks

Tropical Storm Pena Model Accuracy: DeepMind vs ECMWF vs GFS

Right now

This is National Hurricane Center advisory 22, issued at 10:00 PM ET Wed, Nov 11.

National Hurricane Center advisories usually come every six hours. The next one is due around 4:00 AM ET Thu, Nov 12.

Tropical Storm Pena, maximum winds 45 mph, pressure 1002 mb, moving W at 15 mph. About 480 mi S of Johnston Island. There are no coastal watches or warnings in effect. Advisory 22 at 10:00 PM ET Wed, Nov 11.

Tropical Storm Pena has 39 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 72 miles across 14 forecasts. At 48 hours, the official wind forecast averaged 56 mph and where the storm actually went averaged 44 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, ECMWF HRES, AI GFS.

CP042026 · 2026 · Nov 2, 2026 – ongoing. 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.

This storm has a best-track fix within the last 18 hours. Later fixes can move the line.

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 ENS mean: 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 1 1
2 HAFS-B 5 4 6
3 GFS 6.5 9 4
4 Google DeepMind 7 2 12
5 GEFS mean 7.5 12 3
5 AI GFS 7.5 6 9
5 HAFS-A 7.5 7 8
5 HMON 7.5 10 5
5 HWRF 7.5 8 7
10 NAVGEM 8 14 2
11 NHC official 8.5 3 14
12 ECMWF AIFS 9 5 13
13 UKMET 12 13 11
14 Canadian GEM 12.5 15 10
15 ECMWF HRES 13 11 15

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 20 23 mi Beats the official forecast by 21% 6 mph Behind the official forecast by 48%
1 WeatherNext 3 24 h 18 31 mi Beats the official forecast by 36% 7 mph Beats the official forecast by 12%
1 WeatherNext 3 36 h 16 38 mi Beats the official forecast by 42% 7 mph Beats the official forecast by 45%
1 WeatherNext 3 48 h 14 55 mi Beats the official forecast by 23% 6 mph Beats the official forecast by 60%
1 WeatherNext 3 60 h 11 55 mi Beats the official forecast by 16% 4 mph Beats the official forecast by 76%
1 WeatherNext 3 72 h 8 66 mi Beats the official forecast by 7% 3 mph Beats the official forecast by 85%
1 WeatherNext 3 96 h 6 89 mi Beats the official forecast by 41% 5 mph Beats the official forecast by 81%
1 WeatherNext 3 120 h 2 158 mi Beats the official forecast by 34% 6 mph Beats the official forecast by 71%
2 HAFS-B 12 h 33 59 mi Behind the official forecast by 75% 8 mph Behind the official forecast by 96%
2 HAFS-B 24 h 31 87 mi Behind the official forecast by 59% 9 mph Behind the official forecast by 48%
2 HAFS-B 36 h 28 120 mi Behind the official forecast by 63% 7 mph Beats the official forecast by 48%
2 HAFS-B 48 h 26 154 mi Behind the official forecast by 72% 9 mph Beats the official forecast by 63%
2 HAFS-B 60 h 24 172 mi Behind the official forecast by 101% 9 mph Beats the official forecast by 65%
2 HAFS-B 72 h 21 212 mi Behind the official forecast by 98% 11 mph Beats the official forecast by 57%
2 HAFS-B 96 h 17 327 mi Behind the official forecast by 27% 12 mph Beats the official forecast by 70%
2 HAFS-B 120 h 12 434 mi Beats the official forecast by 55% 9 mph Beats the official forecast by 64%
3 GFS 12 h 33 74 mi Behind the official forecast by 84% 8 mph Behind the official forecast by 32%
3 GFS 24 h 31 95 mi Behind the official forecast by 52% 9 mph Beats the official forecast by 3%
3 GFS 36 h 29 120 mi Behind the official forecast by 25% 10 mph Beats the official forecast by 44%
3 GFS 48 h 26 151 mi Behind the official forecast by 31% 12 mph Beats the official forecast by 51%
3 GFS 60 h 24 197 mi Behind the official forecast by 80% 14 mph Beats the official forecast by 40%
3 GFS 72 h 21 241 mi Behind the official forecast by 66% 13 mph Beats the official forecast by 71%
3 GFS 96 h 15 314 mi Behind the official forecast by 25% 15 mph Beats the official forecast by 71%
3 GFS 120 h 10 460 mi Behind the official forecast by 26% 17 mph Beats the official forecast by 46%
4 Google DeepMind 12 h 20 31 mi Behind the official forecast by 9% 4 mph Beats the official forecast by 1%
4 Google DeepMind 24 h 16 36 mi Beats the official forecast by 25% 7 mph Beats the official forecast by 20%
4 Google DeepMind 36 h 14 43 mi Beats the official forecast by 40% 8 mph Beats the official forecast by 41%
4 Google DeepMind 48 h 12 53 mi Beats the official forecast by 25% 10 mph Beats the official forecast by 37%
4 Google DeepMind 60 h 10 59 mi Ties the official forecast 15 mph Beats the official forecast by 21%
4 Google DeepMind 72 h 8 78 mi Behind the official forecast by 9% 17 mph Beats the official forecast by 24%
4 Google DeepMind 96 h 4 115 mi Behind the official forecast by 10% 21 mph Beats the official forecast by 20%
4 Google DeepMind 120 h 2 190 mi Beats the official forecast by 21% 25 mph Behind the official forecast by 23%
5 AI GFS 12 h 9 64 mi Behind the official forecast by 82% 8 mph Behind the official forecast by 140%
5 AI GFS 24 h 7 90 mi Behind the official forecast by 23% 11 mph Behind the official forecast by 86%
5 AI GFS 36 h 5 102 mi Behind the official forecast by 11% 11 mph Behind the official forecast by 57%
5 AI GFS 48 h 3 128 mi Behind the official forecast by 29% 11 mph Behind the official forecast by 87%
5 AI GFS 60 h 2 165 mi Behind the official forecast by 73% 10 mph Behind the official forecast by 70%
5 AI GFS 72 h 1 159 mi Behind the official forecast by 28% 14 mph Behind the official forecast by 140%
5 HAFS-A 12 h 33 55 mi Behind the official forecast by 65% 6 mph Behind the official forecast by 13%
5 HAFS-A 24 h 30 76 mi Behind the official forecast by 17% 5 mph Beats the official forecast by 34%
5 HAFS-A 36 h 28 103 mi Behind the official forecast by 14% 6 mph Beats the official forecast by 45%
5 HAFS-A 48 h 26 119 mi Behind the official forecast by 24% 8 mph Beats the official forecast by 36%
5 HAFS-A 60 h 22 143 mi Behind the official forecast by 56% 11 mph Beats the official forecast by 33%
5 HAFS-A 72 h 20 193 mi Behind the official forecast by 63% 12 mph Beats the official forecast by 49%
5 HAFS-A 96 h 16 328 mi Behind the official forecast by 29% 14 mph Beats the official forecast by 45%
5 HAFS-A 120 h 11 474 mi Behind the official forecast by 3% 10 mph Beats the official forecast by 20%
5 HWRF 12 h 33 64 mi Behind the official forecast by 75% 5 mph Behind the official forecast by 28%
5 HWRF 24 h 31 106 mi Behind the official forecast by 66% 6 mph Beats the official forecast by 22%
5 HWRF 36 h 29 136 mi Behind the official forecast by 38% 5 mph Beats the official forecast by 70%
5 HWRF 48 h 27 179 mi Behind the official forecast by 73% 8 mph Beats the official forecast by 58%
5 HWRF 60 h 25 223 mi Behind the official forecast by 113% 10 mph Beats the official forecast by 59%
5 HWRF 72 h 23 263 mi Behind the official forecast by 92% 11 mph Beats the official forecast by 71%
5 HWRF 96 h 18 331 mi Behind the official forecast by 28% 11 mph Beats the official forecast by 67%
5 HWRF 120 h 14 463 mi Beats the official forecast by 8% 11 mph Behind the official forecast by 6%
5 HMON 12 h 33 64 mi Behind the official forecast by 90% 5 mph Behind the official forecast by 13%
5 HMON 24 h 30 92 mi Behind the official forecast by 70% 6 mph Beats the official forecast by 23%
5 HMON 36 h 28 115 mi Behind the official forecast by 51% 12 mph Behind the official forecast by 8%
5 HMON 48 h 26 122 mi Behind the official forecast by 36% 12 mph Beats the official forecast by 22%
5 HMON 60 h 24 140 mi Behind the official forecast by 45% 11 mph Beats the official forecast by 55%
5 HMON 72 h 22 206 mi Behind the official forecast by 121% 12 mph Beats the official forecast by 54%
5 HMON 96 h 17 323 mi Behind the official forecast by 95% 11 mph Beats the official forecast by 69%
5 HMON 120 h 13 435 mi Behind the official forecast by 29% 8 mph Beats the official forecast by 71%
5 GEFS mean 12 h 33 59 mi Behind the official forecast by 72% 7 mph Behind the official forecast by 49%
5 GEFS mean 24 h 31 95 mi Behind the official forecast by 73% 8 mph Beats the official forecast by 6%
5 GEFS mean 36 h 28 129 mi Behind the official forecast by 65% 10 mph Beats the official forecast by 37%
5 GEFS mean 48 h 26 159 mi Behind the official forecast by 76% 11 mph Beats the official forecast by 53%
5 GEFS mean 60 h 22 186 mi Behind the official forecast by 112% 10 mph Beats the official forecast by 59%
5 GEFS mean 72 h 19 221 mi Behind the official forecast by 115% 10 mph Beats the official forecast by 69%
5 GEFS mean 96 h 12 288 mi Behind the official forecast by 73% 12 mph Beats the official forecast by 71%
5 GEFS mean 120 h 8 346 mi Behind the official forecast by 42% 14 mph Beats the official forecast by 57%
10 NAVGEM 12 h 31 68 mi Behind the official forecast by 94% 6 mph Behind the official forecast by 44%
10 NAVGEM 24 h 29 118 mi Behind the official forecast by 143% 8 mph Beats the official forecast by 2%
10 NAVGEM 36 h 27 163 mi Behind the official forecast by 153% 9 mph Beats the official forecast by 52%
10 NAVGEM 48 h 25 207 mi Behind the official forecast by 194% 10 mph Beats the official forecast by 47%
10 NAVGEM 60 h 23 245 mi Behind the official forecast by 257% 10 mph Beats the official forecast by 58%
10 NAVGEM 72 h 21 284 mi Behind the official forecast by 272% 9 mph Beats the official forecast by 78%
10 NAVGEM 96 h 17 314 mi Behind the official forecast by 113% 13 mph Beats the official forecast by 62%
10 NAVGEM 120 h 13 344 mi Behind the official forecast by 46% 22 mph Beats the official forecast by 54%
11 NHC official 12 h 20 29 mi — 4 mph —
11 NHC official 24 h 18 48 mi — 8 mph —
11 NHC official 36 h 16 67 mi — 12 mph —
11 NHC official 48 h 14 72 mi — 14 mph —
11 NHC official 60 h 12 67 mi — 16 mph —
11 NHC official 72 h 10 75 mi — 20 mph —
11 NHC official 96 h 6 149 mi — 27 mph —
11 NHC official 120 h 2 241 mi — 20 mph —
12 ECMWF AIFS 12 h 15 33 mi Behind the official forecast by 13% 14 mph Behind the official forecast by 262%
12 ECMWF AIFS 24 h 15 64 mi Behind the official forecast by 32% 15 mph Behind the official forecast by 82%
12 ECMWF AIFS 36 h 14 80 mi Behind the official forecast by 26% 15 mph Behind the official forecast by 21%
12 ECMWF AIFS 48 h 12 103 mi Behind the official forecast by 48% 15 mph Beats the official forecast by 5%
12 ECMWF AIFS 60 h 11 120 mi Behind the official forecast by 90% 15 mph Beats the official forecast by 7%
12 ECMWF AIFS 72 h 7 149 mi Behind the official forecast by 127% 15 mph Beats the official forecast by 30%
12 ECMWF AIFS 96 h 3 187 mi Behind the official forecast by 64% 18 mph Beats the official forecast by 39%
12 ECMWF AIFS 120 h 1 149 mi Beats the official forecast by 40% 16 mph Beats the official forecast by 44%
13 UKMET 12 h 17 64 mi Behind the official forecast by 209% 12 mph Behind the official forecast by 200%
13 UKMET 24 h 16 88 mi Behind the official forecast by 136% 12 mph Behind the official forecast by 98%
13 UKMET 36 h 15 112 mi Behind the official forecast by 113% 13 mph Behind the official forecast by 13%
13 UKMET 48 h 14 149 mi Behind the official forecast by 119% 14 mph Beats the official forecast by 10%
13 UKMET 60 h 13 181 mi Behind the official forecast by 176% 14 mph Beats the official forecast by 24%
13 UKMET 72 h 12 232 mi Behind the official forecast by 174% 16 mph Beats the official forecast by 41%
13 UKMET 96 h 10 317 mi Behind the official forecast by 111% 18 mph Beats the official forecast by 55%
13 UKMET 120 h 8 330 mi Beats the official forecast by 9% 17 mph Beats the official forecast by 60%
14 Canadian GEM 12 h 17 91 mi Behind the official forecast by 305% 10 mph Behind the official forecast by 163%
14 Canadian GEM 24 h 16 116 mi Behind the official forecast by 180% 9 mph Behind the official forecast by 50%
14 Canadian GEM 36 h 15 150 mi Behind the official forecast by 177% 9 mph Beats the official forecast by 1%
14 Canadian GEM 48 h 14 175 mi Behind the official forecast by 175% 12 mph Beats the official forecast by 8%
14 Canadian GEM 60 h 13 186 mi Behind the official forecast by 208% 11 mph Beats the official forecast by 24%
14 Canadian GEM 72 h 12 204 mi Behind the official forecast by 194% 12 mph Beats the official forecast by 33%
14 Canadian GEM 96 h 10 258 mi Behind the official forecast by 102% 11 mph Beats the official forecast by 61%
14 Canadian GEM 120 h 8 318 mi Behind the official forecast by 103% 10 mph Beats the official forecast by 68%
15 ECMWF HRES 12 h 17 38 mi Behind the official forecast by 34% 7 mph Behind the official forecast by 63%
15 ECMWF HRES 24 h 15 59 mi Behind the official forecast by 22% 7 mph Beats the official forecast by 13%
15 ECMWF HRES 36 h 15 88 mi Behind the official forecast by 33% 7 mph Beats the official forecast by 44%
15 ECMWF HRES 48 h 13 126 mi Behind the official forecast by 76% 8 mph Beats the official forecast by 43%
15 ECMWF HRES 60 h 11 153 mi Behind the official forecast by 142% 9 mph Beats the official forecast by 45%
15 ECMWF HRES 72 h 9 180 mi Behind the official forecast by 141% 14 mph Beats the official forecast by 29%
15 ECMWF HRES 96 h 5 313 mi Behind the official forecast by 91% 16 mph Beats the official forecast by 46%
15 ECMWF HRES 120 h 1 297 mi Behind the official forecast by 20% 37 mph Behind the official forecast by 28%

ECMWF ENS mean: 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.

4°N 14°N 24°N 34°N 144°E 176°E 153°W 121°W
Map of Tropical Storm Pena. The best track, where the storm actually went, has 39 positions. 4 official forecast tracks are drawn. Model lines: GFS, GEFS mean, Canadian GEM, UKMET, HAFS-A, HAFS-B, HWRF, HMON, NAVGEM, Google DeepMind, WeatherNext 3, ECMWF AIFS, ECMWF HRES, AI GFS. Latitude and longitude, scaled by the cosine of the mid-latitude so a degree of longitude is not stretched.
  • Actual track (39 positions)
  • NHC official Nov 6, 18:00 UTC
  • NHC official Nov 8, 12:00 UTC
  • NHC official Nov 10, 06:00 UTC
  • NHC official Nov 12, 00:00 UTC
  • GFS
  • GEFS mean
  • Canadian GEM
  • UKMET
  • HAFS-A
  • HAFS-B
  • HWRF
  • HMON
  • NAVGEM
  • Google DeepMind
  • WeatherNext 3
  • ECMWF AIFS
  • ECMWF HRES
  • AI GFS

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

29 mi 12 h 48 mi 24 h 67 mi 36 h 72 mi 48 h 67 mi 60 h 75 mi 72 h 149 mi 96 h 241 mi 120 h
Average official track miss in miles by how far ahead. 12 hours 29 miles over 20 forecasts. 24 hours 48 miles over 18 forecasts. 36 hours 67 miles over 16 forecasts. 48 hours 72 miles over 14 forecasts. 60 hours 67 miles over 12 forecasts. 72 hours 75 miles over 10 forecasts. 96 hours 149 miles over 6 forecasts. 120 hours 241 miles over 2 forecasts.
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 20 29 mi 4 mph 48 mph 46 mph
24 h 18 48 mi 8 mph 50 mph 45 mph
36 h 16 67 mi 12 mph 53 mph 44 mph
48 h 14 72 mi 14 mph 56 mph 44 mph
60 h 12 67 mi 16 mph 59 mph 43 mph
72 h 10 75 mi 20 mph 63 mph 43 mph
96 h 6 149 mi 27 mph 72 mph 45 mph
120 h 2 241 mi 20 mph 66 mph 46 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

12 h 24 h 36 h 48 h 60 h 72 h 96 h 120 h
Top wind, official forecast versus where the storm went. At 12 hours the forecast averaged 48 mph and where the storm actually went averaged 46 mph. At 24 hours the forecast averaged 50 mph and where the storm actually went averaged 45 mph. At 36 hours the forecast averaged 53 mph and where the storm actually went averaged 44 mph. At 48 hours the forecast averaged 56 mph and where the storm actually went averaged 44 mph. At 60 hours the forecast averaged 59 mph and where the storm actually went averaged 43 mph. At 72 hours the forecast averaged 63 mph and where the storm actually went averaged 43 mph. At 96 hours the forecast averaged 72 mph and where the storm actually went averaged 45 mph. At 120 hours the forecast averaged 66 mph and where the storm actually went averaged 46 mph.
  • 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.