about summary refs log tree commit diff
path: root/sh/wtr_sun
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