blob: 14598b75752881e223405d60bf784e49708cd5d8 (
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
|
#!/bin/sh
# https://github.com/open-meteo/open-meteo
curl -sS -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
|