Re: storage. Access even to a very sub-sampled historical data would be useful as well!
If you have data at 1 degree resolution, that is roughly 360*180 points per globe. If you were to only keep 5 (7, 10) basic measurements (pressure, temperaturue, wind speed/direction, precipitation) at three different altitudes (0, 850hPa, 500hPa), it gives you: 360 * 180 * 5 * 3 * 4 (bytes per float32), which is about 4MB per measurement. Sample it every 3 hours over a year, and that would be 8GB/year. Go to 0.5 degree resolution, and that's 32GB/year. That still can fit on my laptop. And I think grib files actually use less than 4 bytes per point.
I was also frustrated with the lack of any ways to access historical data. So I'm actually planning to download a bunch of grib files from public GFS server, select only relevant timepoints/layers, and save them for viewing in existing grib viewers (or publish them somewhere). It is still a lot of work, probably a week of coding for me, and however many days/weeks to download the data. I may actually do this project at some point.