Tech.
What Harper runs on, and every raw forecast archive I've ever published.
This is the behind-the-scenes page: what Harper runs on, where the numbers come from, and the archive of every cycle I've published. Nothing fancy, just a boring, well-known stack.
Stats
Coverage
Spots
41
Regions
52
Countries
25
Data pipeline
Observations
352,886
Refreshes
70
Forecasts
3,638
Run time
5m 19s
Data generated
590 MB
AI tokens
4,799,710
Raw forecasts
Harper is open, and I mean it: the raw forecast data is right here, free to grab. I chew through it once and spit out plain JSON, one file per spot, so you get the same numbers driving my charts without having to install a GRIB decoder.
If you do want the raw GRIBs from NOAA, I also built noaa-gfs-wave to make pulling them per region a lot less painful.
- forecasts/2026-06-03-06z.zip
a5795c4e27fc352a4b140844b5e80f64 - forecasts/2026-06-03-00z.zip
242e8aa51177753821fa1c762ca4a30f - forecasts/2026-06-02-18z.zip
bb4c46c8507125072c82b02d23ea427c - forecasts/2026-06-02-06z.zip
a8e42f54e3e9c87d3fc59e59b2dad572 - forecasts/2026-06-02-00z.zip
838b1668a39bef0f46577eedada898cc - forecasts/2026-06-01-18z.zip
02f3681283263c0bfe3588cf1ad1be44 - forecasts/2026-06-01-12z.zip
130f0990e1f9b25a31ebe7d8547c1779 - forecasts/2026-06-01-00z.zip
bb6de354fe9558eb1251f0736f465a91 - forecasts/2026-05-31-18z.zip
cc85e1ff2d221d2e632e2aa230c01287 - forecasts/2026-05-31-06z.zip
6775214441b716f53ace63ea8e6acdde - forecasts/2026-05-31-00z.zip
40ead58b0c574d58c0c8007f2c480118 - forecasts/2026-05-30-18z.zip
2cdfa9df589c3886506436d560d0f65e - forecasts/2026-05-30-06z.zip
eb76f900bdba721029cee7d520e9099f - forecasts/2026-05-30-00z.zip
35d1f79e83d63126b7de9db2f21b308b - forecasts/2026-05-29-18z.zip
5ecad218647b4c0459b4967b4c6c997c - forecasts/2026-05-29-06z.zip
dbc43272ab7640a3a2ee187533d60601 - forecasts/2026-05-29-00z.zip
2c177532d36b0b6a2be922c3d7cc69ce - forecasts/2026-05-28-18z.zip
58be03a22e5a4908ce6a9a7f388debd3 - forecasts/2026-05-28-06z.zip
7fdce7384f383b9f9fcbcc52ebeb080d - forecasts/2026-05-28-00z.zip
57f5b6b98b82d405df7c20a2443c242e - forecasts/2026-05-27-18z.zip
0a5695193ef357e2ed3bc4305b47267a - forecasts/2026-05-27-06z.zip
09e004b41d433b26b8eacee12a3baa6e - forecasts/2026-05-27-00z.zip
fcc7f01497105626604bf1396b3a9568 - forecasts/2026-05-26-18z.zip
033c5c3ee9647e0e2a2f9e2cfde5d642 - forecasts/2026-05-26-06z.zip
8b2717eb200e00b3ee210fecae2c3042 - forecasts/2026-05-25-18z.zip
abd64a8fb6a2eac543c646a0ded8d5f2 - forecasts/2026-05-25-06z.zip
46e4a6b6831da763c5394bf01253d890 - forecasts/2026-05-25-00z.zip
92af264072b3d6df56b85831f26e4e87 - forecasts/2026-05-24-18z.zip
5f9ab84e4cbe901b88aca9cba0e2d426 - forecasts/2026-05-24-06z.zip
223ab895e082962e222c9ea6d13be98e - forecasts/2026-05-24-00z.zip
6e0e7a7a5b0333dfd4868f642acae68a - forecasts/2026-05-23-18z.zip
a00138f56087889fdc19118d633117e8 - forecasts/2026-05-23-06z.zip
cb210202e5538eae9ee2157d2cec4592 - forecasts/2026-05-23-00z.zip
e0a4281e1a9e1dd143bd8185f40eab0d - forecasts/2026-05-22-18z.zip
6887d5956f5359481c529091401bd8d7 - forecasts/2026-05-22-06z.zip
0c86e6a3f52756f44f2f2efcb9e9d972 - forecasts/2026-05-22-00z.zip
aebaafcd9c20b80b889191f86e53b8e3 - forecasts/2026-05-21-18z.zip
326b8d6253df9577602abb313afd570b - forecasts/2026-05-21-06z.zip
598160c76ebe0e58f47dd1d606c570e8 - forecasts/2026-05-21-00z.zip
c8af4839672d1b093beaec4a66345bb9 - forecasts/2026-05-20-18z.zip
7fb87879881307d13ae8d6083a11ea62 - forecasts/2026-05-20-06z.zip
9a131d424c1a9641066f4a5dd373efe2 - forecasts/2026-05-20-00z.zip
1a87903ea0a934bae91464b43e6284a2 - forecasts/2026-05-19-18z.zip
f9c586d7ebccecfdb48cac06a9971fdf - forecasts/2026-05-19-06z.zip
18cae9e72a2ed986f179660bfc9b1e99 - forecasts/2026-05-19-00z.zip
687e6337a0f668fad954f614b2082a23 - forecasts/2026-05-18-18z.zip
6d24b70844a9c091cf87b5d3ad346079 - forecasts/2026-05-18-06z.zip
20e693f79231d5388c9537ee5b71ac89 - forecasts/2026-05-18-00z.zip
3b162ae08f4f5937d870dd49eb89d4b0 - forecasts/2026-05-17-18z.zip
dd9bc753c3bf30c9fa08951e012db681 - forecasts/2026-05-17-06z.zip
444d7b56fc6cf7c8c60ae8fb1114b356 - forecasts/2026-05-17-00z.zip
8ea1eaad726faa23ffbfa08af7b6a319 - forecasts/2026-05-16-18z.zip
25ac5333ebc5b914e5269830ca36d53f - forecasts/2026-05-16-06z.zip
7bdd77c63e335eb8497d159f0feffcdb - forecasts/2026-05-16-00z.zip
77885325fabcde8709a77ae8d9177c3a - forecasts/2026-05-15-18z.zip
9fb52c237e47a0a3a3fef43f7889a496 - forecasts/2026-05-15-06z.zip
346b571de7d7a642483c6b4a8f1a0e88 - forecasts/2026-05-15-00z.zip
29d1f192daca405bc6d4095cecebee0c - forecasts/2026-05-14-18z.zip
31e4a37c6f158531c2a811647f0c5c05 - forecasts/2026-05-14-06z.zip
90a4e0177614ad0174b0f9e62e1a9de9 - forecasts/2026-05-14-00z.zip
f479b35fcdf24c7a559b63599f3621c1 - forecasts/2026-05-13-18z.zip
29a481a2164b078cca2bfbbb7ed8e58c - forecasts/2026-05-13-06z.zip
046b22a69c0e3d43565809c3bc390ae8 - forecasts/2026-05-13-00z.zip
75ea53f3ebaa3c1f73b9f4c5d1266007 - forecasts/2026-05-12-18z.zip
47a10af97942deb358f39482583723d1 - forecasts/2026-05-12-06z.zip
49db253dd69dd0ba76221dcbb7411cee - forecasts/2026-05-12-00z.zip
ee9082a2e371506845f5afa5431c97ea - forecasts/2026-05-11-18z.zip
7aaef86052b85d556d7223a669dc4a31 - forecasts/2026-05-11-06z.zip
b2dfab2d1e2bc25723d0a17469c3f9ec - forecasts/2026-05-11-00z.zip
d68af98ab3248404088b57efbbcbe4ba - forecasts/2026-05-10-18z.zip
1ca82708635ce2aedfcbcf419af77791 - forecasts/2026-05-10-06z.zip
4ecf448010e4bf9bd90a92e15d25f7f8 - forecasts/2026-05-10-00z.zip
e07f0f458620fa0fb24f0cb86be27366 - forecasts/2026-05-09-18z.zip
7c5e170ec08a5efe28cf5112fca03d01 - forecasts/2026-05-09-06z.zip
61acc52491fa78753950fb474c25d082 - forecasts/2026-05-09-00z.zip
9a2038e994f45e9b5087e6dca081bdf5 - forecasts/2026-05-08-18z.zip
65060618a1068b4b0e07eb3aa2ee2de2 - forecasts/2026-05-08-06z.zip
06c85cfeac0a05e7d314433b69f789f0 - forecasts/2026-05-08-00z.zip
fafe81ea30d3471cc230ee050a0a677c - forecasts/2026-05-07-18z.zip
5d5156da132ac6921b04184294d6f38b - forecasts/2026-05-07-06z.zip
c13cabef006de5abbd76be5f965bdeb7 - forecasts/2026-05-07-00z.zip
8da40106392bca9a9d95e561d15cf648 - forecasts/2026-05-06-18z.zip
5a27c7fa4645faa772cb7543467cf9de - forecasts/2026-05-06-06z.zip
fab9a0f08a3746100a1e81270280bc07 - forecasts/2026-05-06-00z.zip
a1fc61119e337994b98ca3a2ebbed507 - forecasts/2026-05-05-18z.zip
fbeaffceef176d7a4a034b9c0a2ed97b - forecasts/2026-05-05-06z.zip
f5f3ef4fbaae01f687c7a6e3d1eed36a - forecasts/2026-05-05-00z.zip
405aa6d7bdefe5e8d7dfddffd8b4866a - forecasts/2026-05-04-18z.zip
cd191e5d903e6a6fbbf0e5ea34885db8 - forecasts/2026-05-04-06z.zip
f48be941c8664971aa610af3d00fc37a - forecasts/2026-05-04-00z.zip
9e85e6a6c6277ab875ae749b4dde1e7d - forecasts/2026-05-03-18z.zip
78c00e42b58cf028aaf8c9dbfb09d091 - forecasts/2026-05-03-06z.zip
9a5b384e3efe488c4b8bbe38dd959f44 - forecasts/2026-05-03-00z.zip
96197fae9566d8127ee832676f2a2658 - forecasts/2026-05-02-18z.zip
71b7dfe0a31eadb8578c95de88c767f6 - forecasts/2026-05-02-06z.zip
562cdcfcd2faac07f4f2b7d0b2a9ea4b - forecasts/2026-05-02-00z.zip
6f11b05937299e46781258ffd6bbae1c - forecasts/2026-05-01-18z.zip
50cf5dc72c98a065877f8c20e92c2403 - forecasts/2026-05-01-06z.zip
4dd002261fcd4eadf400eb868b2fe7ee - forecasts/2026-05-01-00z.zip
d03a5b40e41385f90172d107fce3a4bb - forecasts/2026-04-30-18z.zip
40211ab7df14271a68050451c1673b22 - forecasts/2026-04-30-06z.zip
00938c3593abc0d4d1977b409f9cb1aa - forecasts/2026-04-30-00z.zip
b0b44a74f4815abb5260e2cd0ee3b788 - forecasts/2026-04-29-18z.zip
f88e83ff9a0cc21b20e2651d08b916a3 - forecasts/2026-04-29-06z.zip
e99b5602918e5515bef2785e2f8b611c - forecasts/2026-04-29-00z.zip
d728005a0c5aa46372a3986d976b8fe4 - forecasts/2026-04-28-18z.zip
e4d98b4e1f7b55a018c73a54cc58336e - forecasts/2026-04-28-06z.zip
d4246a6a7a09e81cee48e77cb711a130 - forecasts/2026-04-28-00z.zip
d3b6329cb7942448a013bfb4e4a000d2 - forecasts/2026-04-24-00z.zip
e291284b48f34eefc7a7eb637669466d - forecasts/2026-04-23-18z.zip
1091d374d8bef07c5df956f5e52a9036 - forecasts/2026-04-23-06z.zip
aefe289a9e7a92f139dba3b6de18cecc - forecasts/2026-04-23-00z.zip
4d8fe183180942ce902ea38c311b920c - forecasts/2026-04-22-18z.zip
9c8b1024b3b9c9870b26ddce202bf27b - forecasts/2026-04-22-06z.zip
f825ce231c249063bb1c3d03968f99d4 - forecasts/2026-04-22-00z.zip
4aa5a9574257c0fc6d5eb9f0f7e61598 - forecasts/2026-04-21-18z.zip
a93d03e4672784bebfa1100085ff552d - forecasts/2026-04-21-06z.zip
68aa7beeddf64d782456d99b08a7799b