Puff Cast
ML-enhanced wind forecasts for Chesapeake Bay
Updated: Jun 2, 7:47 AMHRRR init: 6 AMRefreshed hourly
Current conditions
Annapolis
4 kt7 AM
Thomas Point Light
12 kt7 AM
Solomons Island
10 kt7 AM
Next 24 hoursfreshest prediction per hour · gaps interpolated
AnnapolisAPAM2
8 AM
7
G10
↓ N
9 AM
7
G10
↓ NNW
10 AM
7
G10
↓ N
11 AM
7
G10
↓ N
12 PM
7
G10
↓ N
1 PM
6
G9
↓ N
2 PM
5
G8
↓ N
3 PM
5
G8
↙ NE
4 PM
5
G9
↙ NE
5 PM
5
G8
← E
6 PM
5
G7
← E
7 PM
4
↖ SSE
8 PM
2
G4
↖ SSE
9 PM
2
↗ SW
10 PM
1
↗ SW
11 PM
2
↘ NW
12 AM
2
↘ NW
1 AM
2
↘ NW
2 AM
2
↘ NW
3 AM
2
↘ NW
4 AM
2
↘ NW
5 AM
2
↘ NW
6 AM
2
↘ NW
7 AM
2
↘ NW
Thomas Point LightTPLM2
8 AM
12
↓ N
9 AM
13
G15
↓ N
10 AM
12
G14
↓ N
11 AM
11
↘ NNW
12 PM
10
↘ NNW
1 PM
9
↘ NW
2 PM
8
↘ NW
3 PM
7
↓ NNW
4 PM
7
↓ NNW
5 PM
6
↘ WNW
6 PM
5
↘ WNW
7 PM
5
↗ SW
8 PM
4
↗ SW
9 PM
4
↗ SW
10 PM
5
↗ SW
11 PM
5
→ WSW
12 AM
6
→ WSW
1 AM
6
→ WSW
2 AM
6
→ WSW
3 AM
6
→ WSW
4 AM
6
→ WSW
5 AM
6
→ WSW
6 AM
6
→ WSW
7 AM
6
→ WSW
Solomons IslandSLIM2
8 AM
10
G14
↙ NNE
9 AM
10
G13
↓ NNE
10 AM
9
G13
↙ NNE
11 AM
8
G12
↓ NNE
12 PM
8
G11
↓ NNE
1 PM
8
G11
↓ NNE
2 PM
8
G10
↓ NNE
3 PM
7
G10
↓ N
4 PM
7
G10
↓ N
5 PM
7
G10
↓ N
6 PM
7
G9
↓ N
7 PM
5
G7
↘ NW
8 PM
4
↘ NW
9 PM
4
↘ WNW
10 PM
3
G5
↘ WNW
11 PM
4
→ WNW
12 AM
4
→ WNW
1 AM
4
→ WNW
2 AM
4
→ WNW
3 AM
4
→ WNW
4 AM
4
→ WNW
5 AM
4
→ WNW
6 AM
4
→ WNW
7 AM
4
→ WNW
Next forecast per station
| Station | Next hour | T-12h | T-6h | T-3h | T-1h |
|---|---|---|---|---|---|
Annapolis APAM2 | Today 8 AM in 0h | 7 G10 ↓ N NWS 9 G14 NNE | · | · | · |
Thomas Point Light TPLM2 | Today 8 AM in 0h | 12 ↓ N NWS 11 G13 NNE | · | · | · |
Solomons Island SLIM2 | Today 8 AM in 0h | 10 G14 ↙ NNE NWS 11 G16 NNE | · | · | · |
▶Annapolis
full 24-hour detailAPAM2
Annapolis
full 24-hour detailWind speed timeline — white: actual, green: Puff Cast, amber: NWS
Loading chart...
Each row is a future hour. Columns show predictions made that far ahead — cells fill in right‑to‑left as the hour approaches.
| Hour | T-12h | T-6h | T-3h | T-1h |
|---|---|---|---|---|
Today 8 AM in 0h | 7 G10 ↓ N NWS 9 G14 NNE | · | · | · |
Today 9 AM in 1h | · | · | 7 G10 ↓ NNW NWS 12 G14 NNE | · |
Today 10 AM in 2h | 6 G9 ↓ N NWS 11 G12 NNE | 7 G10 ↓ N NWS 11 G12 NNE | · | |
Today 11 AM in 3h | · | · | · | |
Today 12 PM in 4h | 7 G10 ↓ NNW NWS 10 G12 NNE | 7 G10 ↓ N NWS 9 G13 NNE | ||
Today 1 PM in 5h | · | · | ||
Today 2 PM in 6h | · | · | ||
Today 3 PM in 7h | · | |||
Today 4 PM in 8h | 5 G9 ↙ NE NWS 6 G10 NE | |||
Today 5 PM in 9h | · | |||
Today 6 PM in 10h | 5 G7 ← E NWS 4 G10 E | |||
Today 7 PM in 11h | · | |||
Today 8 PM in 12h | · | |||
Today 9 PM in 13h | ||||
Today 10 PM in 14h | ||||
Today 11 PM in 15h | ||||
Tomorrow 12 AM in 16h | ||||
Tomorrow 1 AM in 17h | ||||
Tomorrow 2 AM in 18h | ||||
Tomorrow 3 AM in 19h | ||||
Tomorrow 4 AM in 20h | ||||
Tomorrow 5 AM in 21h | ||||
Tomorrow 6 AM in 22h | ||||
Tomorrow 7 AM in 23h |
Past hours — what we predicted vs what actually happened
| Hour | T-12h | T-6h | T-3h | T-1h | Actual |
|---|---|---|---|---|---|
| Today 7 AM | · | · | 6 +1.5 | 5 +0.4 | 4 |
| Today 6 AM | 7 +4.1 | 7 +3.4 | 7 +3.2 | · | 3 |
| Today 5 AM | 7 +3.2 | · | · | 5 +1.7 | 3 |
| Today 4 AM | · | 6 +1.8 | · | 6 +2.2 | 4 |
| Today 3 AM | 5 -0.7 | · | 7 +1.5 | · | 6 |
| Today 2 AM | 5 -3.3 | 7 -0.6 | · | · | 8 |
| Today 1 AM | · | · | 9 -0.8 | 10 +0.4 | 9 |
| Today 12 AM | · | 9 -0.7 | · | · | 10 |
| Mon 11 PM | · | 10 +0.1 | 10 +0.7 | 11 +0.9 | 10 |
| Mon 9 PM | 10 -2.2 | 11 -1.4 | 12 -0.5 | 14 +1.6 | 12 |
| Mon 8 PM | · | 10 -3.7 | 9 -5.0 | · | 14 |
| Mon 7 PM | 7 -6.9 | · | · | 11 -3.1 | 14 |
▶Thomas Point Light
full 24-hour detailTPLM2
Thomas Point Light
full 24-hour detailWind speed timeline — white: actual, green: Puff Cast, amber: NWS
Loading chart...
Each row is a future hour. Columns show predictions made that far ahead — cells fill in right‑to‑left as the hour approaches.
| Hour | T-12h | T-6h | T-3h | T-1h |
|---|---|---|---|---|
Today 8 AM in 0h | 12 ↓ N NWS 11 G13 NNE | · | · | · |
Today 9 AM in 1h | · | · | 13 G15 ↓ N NWS 13 G15 NNE | · |
Today 10 AM in 2h | 11 G13 ↓ N NWS 12 G14 N | 12 G14 ↓ N NWS 12 G14 NNE | · | |
Today 11 AM in 3h | · | · | · | |
Today 12 PM in 4h | 9 G10 ↓ NNW NWS 13 G14 N | 10 G11 ↘ NNW NWS 11 G13 NNW | ||
Today 1 PM in 5h | · | · | ||
Today 2 PM in 6h | · | · | ||
Today 3 PM in 7h | · | |||
Today 4 PM in 8h | 7 ↓ NNW NWS 6 G11 N | |||
Today 5 PM in 9h | · | |||
Today 6 PM in 10h | 5 ↘ WNW NWS 3 G10 NNW | |||
Today 7 PM in 11h | · | |||
Today 8 PM in 12h | · | |||
Today 9 PM in 13h | ||||
Today 10 PM in 14h | ||||
Today 11 PM in 15h | ||||
Tomorrow 12 AM in 16h | ||||
Tomorrow 1 AM in 17h | ||||
Tomorrow 2 AM in 18h | ||||
Tomorrow 3 AM in 19h | ||||
Tomorrow 4 AM in 20h | ||||
Tomorrow 5 AM in 21h | ||||
Tomorrow 6 AM in 22h | ||||
Tomorrow 7 AM in 23h |
Past hours — what we predicted vs what actually happened
| Hour | T-12h | T-6h | T-3h | T-1h | Actual |
|---|---|---|---|---|---|
| Today 7 AM | · | · | 12 -0.1 | 12 -0.2 | 12 |
| Today 6 AM | 13 0.0 | 14 +1.2 | 13 -0.3 | · | 13 |
| Today 5 AM | 12 +1.2 | · | · | 10 -1.2 | 11 |
| Today 4 AM | · | 12 +1.6 | · | 11 +0.9 | 10 |
| Today 3 AM | 10 -1.5 | · | 11 -0.3 | · | 11 |
| Today 2 AM | 9 +0.2 | 11 +1.9 | · | · | 9 |
| Today 1 AM | · | · | 12 +0.4 | 14 +2.8 | 11 |
| Today 12 AM | · | 11 -3.6 | · | · | 15 |
| Mon 11 PM | · | 13 -4.7 | 17 -1.3 | 15 -3.0 | 18 |
| Mon 9 PM | 18 -3.8 | 18 -3.7 | 17 -4.9 | 19 -3.3 | 22 |
| Mon 8 PM | · | 17 -7.6 | 16 -8.2 | · | 24 |
| Mon 7 PM | 13 -9.1 | · | · | 14 -8.3 | 22 |
▶Solomons Island
full 24-hour detailSLIM2
Solomons Island
full 24-hour detailWind speed timeline — white: actual, green: Puff Cast, amber: NWS
Loading chart...
Each row is a future hour. Columns show predictions made that far ahead — cells fill in right‑to‑left as the hour approaches.
| Hour | T-12h | T-6h | T-3h | T-1h |
|---|---|---|---|---|
Today 8 AM in 0h | 10 G14 ↙ NNE NWS 11 G16 NNE | · | · | · |
Today 9 AM in 1h | · | · | 10 G13 ↓ NNE NWS 12 G17 NNE | · |
Today 10 AM in 2h | 10 G13 ↙ NNE NWS 11 G16 NNE | 9 G13 ↙ NNE NWS 11 G15 NNE | · | |
Today 11 AM in 3h | · | · | · | |
Today 12 PM in 4h | 9 G13 ↓ N NWS 9 G13 N | 8 G11 ↓ NNE NWS 9 G14 N | ||
Today 1 PM in 5h | · | · | ||
Today 2 PM in 6h | · | · | ||
Today 3 PM in 7h | · | |||
Today 4 PM in 8h | 7 G10 ↓ N NWS 8 G11 NNW | |||
Today 5 PM in 9h | · | |||
Today 6 PM in 10h | 7 G9 ↓ N NWS 7 G11 N | |||
Today 7 PM in 11h | · | |||
Today 8 PM in 12h | · | |||
Today 9 PM in 13h | ||||
Today 10 PM in 14h | ||||
Today 11 PM in 15h | ||||
Tomorrow 12 AM in 16h | ||||
Tomorrow 1 AM in 17h | ||||
Tomorrow 2 AM in 18h | ||||
Tomorrow 3 AM in 19h | ||||
Tomorrow 4 AM in 20h | ||||
Tomorrow 5 AM in 21h | ||||
Tomorrow 6 AM in 22h | ||||
Tomorrow 7 AM in 23h |
Past hours — what we predicted vs what actually happened
| Hour | T-12h | T-6h | T-3h | T-1h | Actual |
|---|---|---|---|---|---|
| Today 7 AM | · | · | 8 -2.0 | 8 -1.5 | 10 |
| Today 6 AM | 10 +2.0 | 10 +1.7 | 8 -0.6 | · | 8 |
| Today 5 AM | 10 +2.7 | · | · | 9 +1.9 | 7 |
| Today 4 AM | · | 9 +0.2 | · | 9 0.0 | 9 |
| Today 3 AM | 10 +0.2 | · | 10 +0.4 | · | 9 |
| Today 2 AM | 10 +1.8 | 11 +2.3 | · | · | 9 |
| Today 1 AM | · | · | 12 +0.9 | 15 +3.7 | 11 |
| Today 12 AM | · | 13 -2.3 | · | · | 15 |
| Mon 11 PM | · | 13 -1.6 | 16 +1.0 | 15 0.0 | 15 |
| Mon 9 PM | 14 -1.6 | 14 -2.1 | 15 -0.9 | 15 -0.6 | 16 |
| Mon 8 PM | · | 14 -0.8 | 12 -3.2 | · | 15 |
| Mon 7 PM | 12 -4.0 | · | · | 13 -2.6 | 16 |
710
Large number= our prediction in knots · smaller number = raw NWS HRRR
Wind:<5 kt5-1010-1515-2020+
Live Accuracy — 12321 verified predictions
Measured against actual NDBC observations as each forecast hour passes
| Station | Puff Cast MAE | NWS MAE | vs NWS | n |
|---|---|---|---|---|
| Annapolis | 1.4 kt | 3.6 kt | +61% better | 4108 |
| Thomas Point | 2.6 kt | 3.1 kt | +16% better | 4105 |
| Solomons | 1.8 kt | 2.5 kt | +25% better | 4108 |
▶Accuracy by lead time
| Station | Lead | Ours | NWS | Winner | n |
|---|---|---|---|---|---|
| Annapolis | 1h | 1.1 | 3.3 | Puff Cast | 856 |
| Annapolis | 3h | 1.4 | 3.5 | Puff Cast | 857 |
| Annapolis | 6h | 1.4 | 3.6 | Puff Cast | 834 |
| Annapolis | 12h | 1.5 | 3.8 | Puff Cast | 751 |
| Annapolis | 18h | 1.6 | 3.7 | Puff Cast | 700 |
| Annapolis | 24h | 1.8 | 4.2 | Puff Cast | 110 |
| Thomas Point | 1h | 2.1 | 2.9 | Puff Cast | 853 |
| Thomas Point | 3h | 2.5 | 3 | Puff Cast | 855 |
| Thomas Point | 6h | 2.5 | 3 | Puff Cast | 834 |
| Thomas Point | 12h | 2.7 | 3.1 | Puff Cast | 752 |
| Thomas Point | 18h | 3 | 3.1 | Puff Cast | 701 |
| Thomas Point | 24h | 3.5 | 3.7 | Puff Cast | 110 |
| Solomons | 1h | 1.5 | 2.5 | Puff Cast | 856 |
| Solomons | 3h | 1.9 | 2.5 | Puff Cast | 857 |
| Solomons | 6h | 1.8 | 2.4 | Puff Cast | 834 |
| Solomons | 12h | 1.9 | 2.5 | Puff Cast | 751 |
| Solomons | 18h | 2.2 | 2.5 | Puff Cast | 700 |
| Solomons | 24h | 2.3 | 2.6 | Puff Cast | 110 |