summaryrefslogtreecommitdiff
path: root/sh/wtr
diff options
context:
space:
mode:
Diffstat (limited to 'sh/wtr')
-rwxr-xr-xsh/wtr43
1 files changed, 43 insertions, 0 deletions
diff --git a/sh/wtr b/sh/wtr
new file mode 100755
index 0000000..c9907d9
--- /dev/null
+++ b/sh/wtr
@@ -0,0 +1,43 @@
+#!/bin/sh
+
+# https://github.com/open-meteo/open-meteo
+i=0
+curl -s -G -d "latitude=${1:-37.34}" -d "longitude=${2:--121.89}" -d 'daily=weathercode,temperature_2m_max,temperature_2m_min,sunrise,sunset' -d 'timezone=auto' 'https://api.open-meteo.com/v1/forecast' | jq -r '[.daily|.time, .weathercode, .temperature_2m_max, .temperature_2m_min, .sunrise, .sunset]|transpose|.[]|@tsv' | while read -r time code max min sunrise sunset; do
+ # https://open-meteo.com/en/docs
+ case "$code" in
+ 0) code='clear sky';;
+ 1) code='mainly clear';;
+ 2) code='partly cloudy';;
+ 3) code=overcast;;
+ 45) code=fog;;
+ 48) code='depositing rime fog';;
+ 51) code='light drizzle';;
+ 53) code='moderate drizzle';;
+ 55) code='dense drizzle';;
+ 56) code='light freezing drizzle';;
+ 57) code='dense freezing drizzle';;
+ 61) code='slight rain';;
+ 63) code='moderate rain';;
+ 65) code='heavy rain';;
+ 66) code='light freeze rain';;
+ 67) code='heavy freeze rain';;
+ 71) code='slight snow fall';;
+ 73) code='moderate snow fall';;
+ 75) code='heavy snow fall';;
+ 77) code='snow grains';;
+ 80) code='slight rain showers';;
+ 81) code='moderate rain showers';;
+ 82) code='violent rain showers';;
+ 85) code='slight snow showers';;
+ 86) code='heavy snow showers';;
+ 95) code='slight or moderate thunderstorm';;
+ 96) code='thunderstorm with slight hail';;
+ 99) code='thunderstorm with heavy hail';;
+ *) exit 1;;
+ esac
+ if [ "$i" -ne 1 ]; then
+ printf 'sunrise: %s | sunset: %s\n' "${sunrise#*T}" "${sunset#*T}"
+ i=1
+ fi
+ printf '%s\t%s\t%s\t%s\n' "${time#*-}" "$max" "$min" "$code"
+done