blob: c9907d9398201abf5c26109c908c5ba8fa07d0d7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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
|