4 ms·
In the USA, I like the National Weather Service direct APIs. I wish I could get more granular forecast data, both in time and space, but they forecast dewpoint/
by aftbit 4y ago
In the USA, I like the National Weather Service direct APIs. I wish I could get more granular forecast data, both in time and space, but they forecast dewpoint/humidity, which is really nice.
- dredmorbius 4y agoAny links on that? I wrote a set of scripts --- it takes thee, a bash function, sed, and awk --- to parse the dumped formatted HTML to a more usable form on a terminal. Raw APIs might be more convenient / less complicated.
- hoppyhoppy2 4y agohttps://www.weather.gov/documentation/services-web-api https://www.weather.gov/documentation/services-web-api
- dredmorbius 4y agoThanks!
- aftbit 4y agoYes, I am using a handful of different APIs. My full terminal weather setup deserves its own blog post... but until then, here are some zsh snippets, scripts, and curls to get you started. Rough weather information for next days and hours: # Find zone with curl https://api.weather.gov/points/40.5878,-103.0694 ZONE=${ZONE:-CAZ508} echo "Forecast for zone $ZONE" curl -s -A MyWeather/1.0 https://api.weather.gov/zones/forecast/$ZONE/forecast \ | jq -r '.properties.periods[] | [.name, .detailedForecast] | join("\t")' \ | column -t -s $'\t' # Find grid with same curl GRID=${GRID:-MTR/93,131} echo "" echo "Next 24 hours for grid $GRID" curl -s -A MyWeather/1.0 https://api.weather.gov/gridpoints/$GRID/forecast/hourly \ | jq --arg date $(date -Is) -r '.properties.periods[] | select(.startTime >= $date) | [(.startTime), ((.temperature|tostring) + " " + .temperatureUnit), (.windSpeed + " @ " + .windDirection), .shortForecast] | join("\t")' \ | column -t -s $'\t' \ | head -n 24 Weather discussion script (also using regexps to parse HTML): https://gist.github.com/lachesis/6c7e5020b112fe8d7bcc83d99dae1f5f https://gist.github.com/lachesis/6c7e5020b112fe8d7bcc83d99da... Some docs on the "DWML rest API" that provides the dewpoint/humidity forecasts that I mentioned earlier: https://graphical.weather.gov/xml/rest.php https://graphical.weather.gov/xml/rest.php https://graphical.weather.gov/xml/DWMLgen/schema/latest_DWML.txt https://graphical.weather.gov/xml/DWMLgen/schema/latest_DWML... https://graphical.weather.gov/xml/docs/elementInputNames.php https://graphical.weather.gov/xml/docs/elementInputNames.php Here's the script I use to access that API but it is still under active development and is pretty tailored for my situation. Please forgive jankiness. Give it LAT / LNG environment variables. https://gist.github.com/lachesis/480a1811c75999205cb17a119b49ef94 https://gist.github.com/lachesis/480a1811c75999205cb17a119b4... Bonus points, for CA fire season, here's a script that shows PM2.5 for AirNow stations near a certain LAT/LNG: https://gist.github.com/lachesis/a47212c848430e16e7d1ec6d85515fc3 https://gist.github.com/lachesis/a47212c848430e16e7d1ec6d855...
- smegsicle 4y agodewpoint is underrated https://www.weather.gov/arx/why_dewpoint_vs_humidity https://www.weather.gov/arx/why_dewpoint_vs_humidity > less than or equal to 55: dry and comfortable > between 55 and 65: becoming "sticky" with muggy evenings > greater than or equal to 65: lots of moisture in the air, becoming oppressive
- brewdad 4y agoWhere I live dew point gives a very strong indicator of our overnight low temperatures, especially in winter. Looking at dew point can tell me whether to expect frost or not and if black ice is likely to be an issue in the morning. But yeah, treating those guidelines as anything other than a loose suggestion is meaningless.