summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXiao Pan <gky44px1999@gmail.com>2023-05-31 22:55:30 -0700
committerXiao Pan <gky44px1999@gmail.com>2023-05-31 22:55:30 -0700
commite3adc856c4824a013000abd668bc928b9b284a22 (patch)
tree5f9d0b6e4e892d5c80741f7a323067c51960a325
parent169988eb05a21874bb830eaa9c184bf842db40b9 (diff)
move wtr from cfgs to cfgl
-rwxr-xr-xhome/xyz/.local/bin/wtr38
1 files changed, 38 insertions, 0 deletions
diff --git a/home/xyz/.local/bin/wtr b/home/xyz/.local/bin/wtr
new file mode 100755
index 00000000..5b385d64
--- /dev/null
+++ b/home/xyz/.local/bin/wtr
@@ -0,0 +1,38 @@
+#!/bin/sh
+
+# https://github.com/open-meteo/open-meteo
+curl -s -G -d "latitude=${1:-37.34}" -d "longitude=${2:--121.89}" -d 'daily=weathercode,temperature_2m_max,temperature_2m_min' -d 'timezone=auto' 'https://api.open-meteo.com/v1/forecast' | jq -r '[.daily|.time, .weathercode, .temperature_2m_max, .temperature_2m_min]|transpose|.[]|@tsv' | while read -r time code max min; 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
+ printf '%s\t%s\t%s\t%s\n' "${time#*-}" "$max" "$min" "$code"
+done