diff options
-rwxr-xr-x | sh/wtr_sun | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/sh/wtr_sun b/sh/wtr_sun new file mode 100755 index 0000000..c9907d9 --- /dev/null +++ b/sh/wtr_sun @@ -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 |