KPHX — Phoenix Sky Harbor
33.4278, -112.0035 · 340 m· standard offset UTC-7 h · truth product CLIPHX
These pages are always bilinear interpolation, the headline method. The nearest-node variant, and every other window/initialization/interpolation/variable combination, is published on each permanent link below — follow any number.
Daily maximum temperature — MAE °F
| Model | d0 | d1 | d2 | d3 | d4 | d5 | d6 | d7 | d8 | d9 | lead 1–9 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| ECMWF AIFS Singleaifs_single | 3.09-2.84 · n=30 | 3.15-2.90 · n=29 | 3.49-3.27 · n=28 | 3.63-3.40 · n=27 | 3.81-3.61 · n=26 | 4.14-3.54 · n=25 | 4.92-4.35 · n=24 | 5.51-5.14 · n=23 | 6.91-6.38 · n=22 | — | |
| Aurora (GFS init)aurora_gfs | 13.44-13.44 · n=2 | 14.58-14.58 · n=1 | — | — | — | — | — | — | — | — | |
| Aurora (IFS init)aurora_ifs | 5.71-5.71 · n=3 | 8.35-8.35 · n=2 | 10.42-10.42 · n=1 | — | — | — | — | — | — | — | |
| FourCastNet v2 (GFS init)fourcastnet_gfs | 10.57-10.57 · n=2 | 12.64-12.64 · n=1 | — | — | — | — | — | — | — | — | |
| FourCastNet v2 (IFS init)fourcastnet_ifs | 7.94-7.94 · n=3 | 10.33-10.33 · n=2 | 11.70-11.70 · n=1 | — | — | — | — | — | — | — | |
| NCEP GFSgfs | 2.96-2.69 · n=30 | 2.91-2.59 · n=29 | 2.75-2.42 · n=28 | 4.05-3.32 · n=27 | 3.49-3.14 · n=26 | 4.01-3.45 · n=25 | 4.38-3.83 · n=24 | 4.31-3.87 · n=23 | 4.90-4.11 · n=22 | — | |
| GraphCast (GFS init)graphcast_gfs | 14.89-14.89 · n=2 | 13.90-13.90 · n=1 | — | — | — | — | — | — | — | — | |
| GraphCast (IFS init)graphcast_ifs | 2.89-2.66 · n=28 | 3.32-3.13 · n=27 | 3.49-3.35 · n=26 | 3.44-3.35 · n=25 | 4.01-3.90 · n=25 | 5.06-4.87 · n=25 | 6.00-5.79 · n=24 | 6.94-6.66 · n=23 | 9.18-9.04 · n=22 | — | |
| ECMWF IFS HRESifs_hres | 2.09-2.01 · n=25 | 2.38-2.08 · n=22 | 2.79-2.42 · n=23 | 2.98-2.57 · n=22 | 2.84-2.52 · n=20 | 3.53-2.53 · n=18 | 3.06-2.30 · n=19 | 3.42-1.93 · n=18 | 5.09-3.44 · n=17 | — | |
| Pangu-Weather (GFS init)pangu_gfs | 8.75-8.75 · n=2 | 7.42-7.42 · n=1 | — | — | — | — | — | — | — | — | |
| Pangu-Weather (IFS init)pangu_ifs | 6.10-6.10 · n=3 | 7.45-7.45 · n=2 | 7.00-7.00 · n=1 | — | — | — | — | — | — | — | |
| Persistence (baseline)persistence | — | 2.86-0.03 · n=90 | 4.10-0.19 · n=90 | 4.88-0.41 · n=90 | 5.49-0.71 · n=90 | 5.92-0.99 · n=90 | 5.87-1.20 · n=90 | 5.88-1.32 · n=90 | 5.89-1.49 · n=90 | 5.72-1.66 · n=90 |
Up to 1 of the scored days in this table carry a QC flag on the observation (a CLI value that disagreed with the hourly observations, or a fallback source). They are kept in the scores and counted here rather than dropped — see methodology.
+ model too warm · − model too cold · bias interval includes zero · ★ lowest MAE · = not distinguishable from the leader · ▼ significantly worse · n < 30 greyed and unranked · CI is a 95 % moving-block bootstrap interval.
Daily minimum temperature — MAE °F
| Model | d0 | d1 | d2 | d3 | d4 | d5 | d6 | d7 | d8 | d9 | lead 1–9 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| ECMWF AIFS Singleaifs_single | 3.73-2.29 · n=30 | 3.54-1.97 · n=29 | 3.46-1.99 · n=28 | 3.65-1.85 · n=27 | 4.00-2.18 · n=26 | 4.01-2.02 · n=25 | 4.29-2.30 · n=24 | 4.36-2.58 · n=23 | 4.69-2.93 · n=22 | — | |
| Aurora (GFS init)aurora_gfs | 5.38-5.38 · n=2 | 6.82-6.82 · n=1 | — | — | — | — | — | — | — | — | |
| Aurora (IFS init)aurora_ifs | 3.20-3.20 · n=3 | 2.58-2.58 · n=2 | 5.20-5.20 · n=1 | — | — | — | — | — | — | — | |
| FourCastNet v2 (GFS init)fourcastnet_gfs | 5.67-5.67 · n=2 | 6.54-6.54 · n=1 | — | — | — | — | — | — | — | — | |
| FourCastNet v2 (IFS init)fourcastnet_ifs | 4.99-4.99 · n=3 | 4.13-4.13 · n=2 | 6.16-6.16 · n=1 | — | — | — | — | — | — | — | |
| NCEP GFSgfs | 4.44+3.22 · n=30 | 4.07+3.12 · n=29 | 4.23+3.16 · n=28 | 4.11+3.26 · n=27 | 4.17+3.93 · n=26 | 4.57+3.68 · n=25 | 4.51+3.47 · n=24 | 4.38+2.85 · n=23 | 5.10+3.88 · n=22 | — | |
| GraphCast (GFS init)graphcast_gfs | 6.39-6.39 · n=2 | 8.09-8.09 · n=1 | — | — | — | — | — | — | — | — | |
| GraphCast (IFS init)graphcast_ifs | 2.82-0.31 · n=28 | 2.83-0.08 · n=27 | 2.81-0.53 · n=26 | 3.20-0.48 · n=25 | 3.10-0.84 · n=25 | 3.52-0.65 · n=25 | 3.81-0.94 · n=24 | 3.84-0.95 · n=23 | 3.97-1.75 · n=22 | — | |
| ECMWF IFS HRESifs_hres | 3.15+0.29 · n=25 | 3.17+0.98 · n=22 | 3.36+1.11 · n=23 | 3.50+1.34 · n=22 | 3.71+1.41 · n=20 | 3.69+2.16 · n=18 | 3.48+1.69 · n=19 | 3.49-0.30 · n=18 | 3.02+0.54 · n=17 | — | |
| Pangu-Weather (GFS init)pangu_gfs | 2.25-2.25 · n=2 | 1.48-1.48 · n=1 | — | — | — | — | — | — | — | — | |
| Pangu-Weather (IFS init)pangu_ifs | 1.55-1.07 · n=3 | 0.89-0.83 · n=2 | 0.83-0.83 · n=1 | — | — | — | — | — | — | — | |
| Persistence (baseline)persistence | — | 3.09-0.13 · n=90 | 4.53-0.33 · n=90 | 5.26-0.61 · n=90 | 5.86-0.90 · n=90 | 6.48-1.12 · n=90 | 6.67-1.31 · n=90 | 6.64-1.47 · n=90 | 6.78-1.56 · n=90 | 6.84-1.71 · n=90 |
Up to 1 of the scored days in this table carry a QC flag on the observation (a CLI value that disagreed with the hourly observations, or a fallback source). They are kept in the scores and counted here rather than dropped — see methodology.
Month by month
MAE °F at lead day 1, 00Z, bilinear, daily maximum — the seasonal slice behind the window averages. A model that is excellent in one season and poor in another shows up here and nowhere else.
| Month | aifs_single | aurora_gfs | aurora_ifs | fourcastnet_gfs | fourcastnet_ifs | gfs | graphcast_gfs | graphcast_ifs | ifs_hres | pangu_gfs | pangu_ifs |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026-08 | 3.15-2.90 · n=29 | 14.58-14.58 · n=1 | 8.35-8.35 · n=2 | 12.64-12.64 · n=1 | 10.33-10.33 · n=2 | 2.91-2.59 · n=29 | 13.90-13.90 · n=1 | 3.32-3.13 · n=27 | 2.38-2.08 · n=22 | 7.42-7.42 · n=1 | 7.45-7.45 · n=2 |
| 2026-01 | — | — | — | — | — | — | — | 5.43-5.43 · n=6 | — | — | — |
Model availability at this station
| Model | Period | Scored days | Coverage |
|---|---|---|---|
| ECMWF AIFS Single | 2026-08-02 → 2026-08-30 | 29 | |
| Aurora (GFS init) | 2026-08-30 → 2026-08-30 | 1 | |
| Aurora (IFS init) | 2026-08-29 → 2026-08-30 | 2 | |
| FourCastNet v2 (GFS init) | 2026-08-30 → 2026-08-30 | 1 | |
| FourCastNet v2 (IFS init) | 2026-08-29 → 2026-08-30 | 2 | |
| NCEP GFS | 2026-08-02 → 2026-08-30 | 29 | |
| GraphCast (GFS init) | 2026-08-30 → 2026-08-30 | 1 | |
| GraphCast (IFS init) | 2026-01-02 → 2026-08-30 | 33 | |
| ECMWF IFS HRES | 2026-08-02 → 2026-08-30 | 22 | |
| Pangu-Weather (GFS init) | 2026-08-30 → 2026-08-30 | 1 | |
| Pangu-Weather (IFS init) | 2026-08-29 → 2026-08-30 | 2 | |
| Persistence (baseline) | 2024-01-02 → 2026-08-30 | 972 |
Observed truth — last 30 days
| Climatological day | Tmax °F | Tmin °F | Source | Flag |
|---|---|---|---|---|
| 2026-08-30 | 106 | 88 | OBS | obs_fallback |
| 2026-08-29 | 113 | 90 | CLI | |
| 2026-08-28 | 112 | 94 | CLI | |
| 2026-08-27 | 113 | 95 | CLI | |
| 2026-08-26 | 117 | 91 | CLI | |
| 2026-08-25 | 115 | 89 | CLI | |
| 2026-08-24 | 108 | 86 | CLI | |
| 2026-08-23 | 113 | 88 | CLI | |
| 2026-08-22 | 115 | 90 | CLI | |
| 2026-08-21 | 112 | 89 | CLI | |
| 2026-08-20 | 106 | 79 | CLI | |
| 2026-08-19 | 110 | 79 | CLI | |
| 2026-08-18 | 114 | 92 | CLI | |
| 2026-08-17 | 113 | 90 | CLI | |
| 2026-08-16 | 110 | 91 | CLI | |
| 2026-08-15 | 107 | 84 | CLI | |
| 2026-08-14 | 101 | 83 | CLI | |
| 2026-08-13 | 101 | 79 | CLI | |
| 2026-08-12 | 102 | 80 | CLI | |
| 2026-08-11 | 104 | 82 | CLI | |
| 2026-08-10 | 108 | 86 | CLI | |
| 2026-08-09 | 111 | 87 | CLI | |
| 2026-08-08 | 113 | 95 | CLI | |
| 2026-08-07 | 111 | 89 | CLI | |
| 2026-08-06 | 107 | 88 | CLI | |
| 2026-08-05 | 105 | 92 | CLI | |
| 2026-08-04 | 107 | 89 | CLI | |
| 2026-08-03 | 116 | 93 | CLI | |
| 2026-08-02 | 115 | 94 | CLI | |
| 2026-08-01 | 116 | 94 | CLI |
All scores as JSON scores_latest.csv daily_errors.csv.gz data & licences