summaryrefslogtreecommitdiff
path: root/sh/wtr
blob: 5b385d64948c3f2db298dbe289517686a90b9abf (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 -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