User Tools

Site Tools


project:brmmeteo:start

This is an old revision of the document!


BrmMeteo

brmmeteo.sh
#!/bin/bash
 
# https://www.ogimet.com/ultimos_synops2.php?lang=en&estado=Czec&fmt=html&Send=Send
# https://www.ogimet.com/getsynop_help.phtml.en
 
# https://www.ogimet.com/cgi-bin/getsynop?begin=201901281900&state=Cze&header=yes
# http://www.weather.org.uk/resource/syn_code.htm
 
 
#syno=$(wget "https://www.ogimet.com/cgi-bin/getsynop?begin=201901291800&state=Cze" -O - > /dev/null 2>&1 
 
syno=$(cat /s/syno | cut -b 35- | sed -e 's/ /, /g' | sed -e 's/^11406/Cheb, 50.05N, 12.24E, 11406/g' -e 's/^11414/Karlovy Vary, 50.12N, 12.55E, 11414/g' -e 's/^11423/Primda, 49.40N, 12.40E, 11423/g' -e 's/^11438/Tusimice, 50.23N, 13.20E, 11438/g' -e 's/^11450/Plzen-Mikolka, 49.46N, 13.23E, 11450/g' -e 's/^11457/Churanov, 49.04N, 13.37E, 11457/g' -e 's/^11464/Milesovka, 50.33N, 13.56E, 11464/g' -e 's/^11487/Kocelovice, 49.28N, 13.50E, 11487/g' -e 's/^11502/Usti n. Labem, 50.41N, 14.02E, 11502/g' -e 's/^11509/Doksany, 50.28N, 14.10E, 11509/g' -e 's/^11518/Praha-Ruzyne, 50.06N, 14.15E, 11518/g' -e 's/^11520/Praha-Libus, 50.01N, 14.27E, 11520/g' -e 's/^11538/Temelin, 49.12N, 14.20E, 11538/g' -e 's/^11546/C. Budejovice-Roznov, 48.57N, 14.28E, 11546/g' -e 's/^11567/Praha-Kbely, 50.07N, 14.32E, 11567/g' -e 's/^11603/Liberec, 50.46N, 15.01E, 11603/g' -e 's/^11624/Caslav, 49.56N, 15.23E, 11624/g' -e 's/^11628/Kramolin-Kosetice, 49.35N, 15.05E, 11628/g' -e 's/^11636/Kostelni Myslova, 49.09N, 15.26E, 11636/g' -e 's/^11643/Pec p. Snezkou, 50.40N, 15.45E, 11643/g' -e 's/^11652/Pardubice, 50.01N, 15.44E, 11652/g' -e 's/^11653/Snezka, 50.44N, 15.44E, 11653/g' -e 's/^11659/Pribyslav, 49.35N, 15.46E, 11659/g' -e 's/^11669/Polom, 50.21N, 16.19E, 11669/g' -e 's/^11679/Usti n. Orlici, 49.59N, 16.26E, 11679/g' -e 's/^11683/Svratouch, 49.44N, 16.02E, 11683/g' -e 's/^11692/Namest n. Oslavou, 49.10N, 16.08E, 11692/g' -e 's/^11693/Dukovany, 49.06N, 16.08E, 11693/g' -e 's/^11698/Kucharovice, 48.53N, 16.05E, 11698/g' -e 's/^11710/Luka, 49.39N, 16.05E, 11710/g' -e 's/^11723/Brno-Turany, 49.09N, 16.42E, 11723/g' -e 's/^11730/Serak, 50.11N, 17.07E, 11730/g' -e 's/^11747/Prostejov, 49.27N, 17.08E, 11747/g' -e 's/^11766/Cervena, 49.46N, 17.33E, 11766/g' -e 's/^11774/Holesov, 49.19N, 17.34E, 11774/g' -e 's/^11782/Ostrava-Mosnov, 49.01N, 18.07E, 11782/g' -e 's/^11787/Lysa hora, 49.33N, 18.27E, 11787/g' -e 's/^11791/Maruska Hostalkova, 49.21N, 17.49E, 11791/g')
 
#echo "$syno"
 
while IFS='' read -r radek || [[ -n "$radek" ]]; do
	mesto=$(echo "$radek" | grep -o -e '^[^,]*')
	gpsn=$(echo "$radek" | awk -F', ' '{print $2}')
	gpse=$(echo "$radek" | awk -F', ' '{print $3}')
	mestoid=$(echo "$radek" | awk -F', ' '{print $4}')
 
	# SECTION 0
	ir=$(echo "$radek" | awk -F', ' '{print $5}' | cut -b 1)
	ix=$(echo "$radek" | awk -F', ' '{print $5}' | cut -b 2)
	# vyska mraku
	h=$(echo "$radek" | awk -F', ' '{print $5}' | cut -b 3)
	# dohlednost
	vv=$(echo "$radek" | awk -F', ' '{print $5}' | cut -b 4-5)
	#echo "$ir $ix $h $vv"
 
	# SECTION 1
	n=$(echo "$radek" | awk -F', ' '{print $6}' | cut -b 1)
	# smer vetru
	dd=$(echo "$radek" | awk -F', ' '{print $6}' | cut -b 2-3)
	# rychlost vetru v knotech
	ff=$(echo "$radek" | awk -F', ' '{print $6}' | cut -b 4-5)
	# rychlost vetru v m/s
	ff=$(echo "$ff*0.514" | bc | sed -e 's/^\./0\./g')
	#echo "$n $dd $ff"
 
	section1=$(echo "$radek" | grep -o -P -e ' (1[0-9/]{4}, )?(2[0-9/]{4}, )?(3[0-9/]{4}, )?(4[0-9/]{4}, )?(5[0-9/]{4}, )?(6[0-9/]{4}, )?(7[0-9/]{4}, )?(8[0-9/]{4}, )?333,' | cut -c 2- | sed -e 's/, 333,//g')
 
	s11sn=$(echo "$section1" | grep -o -P -e '1[0-9/]{4}' | cut -b 2)
	# teplota v desetinach
	s11ttt=$(echo "$section1" | grep -o -P -e '1[0-9/]{4}' | cut -b 3-5)
	# teplota v °C
	s11ttt=$(echo "$s11ttt*0.1" | bc)
	s12sn=$(echo "$section1" | grep -o -P -e '2[0-9/]{4}' | cut -b 2)
	s12ttt=$(echo "$section1" | grep -o -P -e '2[0-9/]{4}' | cut -b 3-5)
	#s13sn=$(echo "$section1" | grep -o -P -e '3[0-9/]{4}' | cut -b 2)
	# tlak v mBar
	s14pppp=$(echo "$section1" | grep -o -P -e '4[0-9/]{4}' | cut -b 2-5)
	# tlak v Pa
	s14pppp=$(echo "(0$s14pppp*100)+101325" | bc)
	s15a=$(echo "$section1" | grep -o -P -e '5[0-9/]{4}' | cut -b 2)
	s15ppp=$(echo "$section1" | grep -o -P -e '5[0-9/]{4}' | cut -b 3-5)
	s16rrr=$(echo "$section1" | grep -o -P -e '6[0-9/]{4}' | cut -b 2-4)
	s16tr=$(echo "$section1" | grep -o -P -e '6[0-9/]{4}' | cut -b 5)
	s17ww=$(echo "$section1" | grep -o -P -e '7[0-9/]{4}' | cut -b 2-3)
	s17w1w2=$(echo "$section1" | grep -o -P -e '7[0-9/]{4}' | cut -b 4-5)
	s18nh=$(echo "$section1" | grep -o -P -e '8[0-9/]{4}' | cut -b 2)
	s18cl=$(echo "$section1" | grep -o -P -e '8[0-9/]{4}' | cut -b 3)
	s18cm=$(echo "$section1" | grep -o -P -e '8[0-9/]{4}' | cut -b 4)
	s18ch=$(echo "$section1" | grep -o -P -e '8[0-9/]{4}' | cut -b 5)
 
	#echo "$section1"
 
	# SECTION 3
	section3=$(echo "$radek" | grep -o -P -e ', 333, (1[0-9/]{4}((, )|(=+)))?(2[0-9/]{4}((, )|(=+)))?(3[0-9/]{4}((, )|(=+)))?(4[0-9/]{4}((, )|(=+)))?(5[0-9/]{4}((, )|(=+)))?(6[0-9/]{4}((, )|(=+)))?(7[0-9/]{4}((, )|(=+)))?(8[0-9/]{4}((, )|(=+)))*(9[0-9/]{4}((, )|(=+)))*((444)|(555))?' | cut -c 8- | sed -e 's/, 555$//g' -e 's/, 444$//g' | tr -d '=')
 
	s31sn=$(echo "$section3" | grep -o -P -e '1[0-9/]{4}' | cut -b 2)
	s31ttt=$(echo "$section3" | grep -o -P -e '1[0-9/]{4}' | cut -b 3-5)
	s32sn=$(echo "$section3" | grep -o -P -e '2[0-9/]{4}' | cut -b 2)
	s32ttt=$(echo "$section3" | grep -o -P -e '2[0-9/]{4}' | cut -b 3-5)
	s33e=$(echo "$section3" | grep -o -P -e '3[0-9/]{4}' | cut -b 2)
	s33sn=$(echo "$section3" | grep -o -P -e '3[0-9/]{4}' | cut -b 3)
	s33sn=$(echo "$section3" | grep -o -P -e '3[0-9/]{4}' | cut -b 4-5)
	s34e=$(echo "$section3" | grep -o -P -e '4[0-9/]{4}' | cut -b 2)
	s34sss=$(echo "$section3" | grep -o -P -e '4[0-9/]{4}' | cut -b 3-5)
	s38ns=$(echo "$section3" | grep -o -P -e '8[0-9/]{4}' | cut -b 2)
	s38c=$(echo "$section3" | grep -o -P -e '8[0-9/]{4}' | cut -b 3)
	s38hh=$(echo "$section3" | grep -o -P -e '8[0-9/]{4}' | cut -b 4-5)
	s39=$(echo "$section3" | grep -o -P -e '9[0-9/]{4}' | cut -b 2-5)
 
	#echo "$section3"
 
	# SECTION 4
	section4=$(echo "$radek" | grep -o -P -e ', 444, (1[0-9/]{4}((, )|(=+)))?(2[0-9/]{4}((, )|(=+)))?(3[0-9/]{4}((, )|(=+)))?(4[0-9/]{4}((, )|(=+)))?(5[0-9/]{4}((, )|(=+)))?(6[0-9/]{4}((, )|(=+)))?(7[0-9/]{4}((, )|(=+)))?(8[0-9/]{4}((, )|(=+)))*(9[0-9/]{4}((, 555,)|(=+)))*?' | cut -c 8- | sed -e 's/, 555,$//g' -e 's/, $//g' | tr -d '=')
 
	#echo "$section4"
 
	#SECTION 5
	section5=$(echo "$radek" | grep -o -P -e ', 555, (1[0-9/]{4}((, )|(=+)))?(2[0-9/]{4}((, )|(=+)))?(3[0-9/]{4}((, )|(=+)))?(4[0-9/]{4}((, )|(=+)))?(5[0-9/]{4}((, )|(=+)))?(6[0-9/]{4}((, )|(=+)))?(7[0-9/]{4}((, )|(=+)))?(8[0-9/]{4}((, )|(=+)))*(9[0-9/]{4}((, )|(=+)))*' | cut -c 8- | tr -d '=')
 
	s51vv=$(echo "$section5" | grep -o -P -e '1[0-9/]{4}' | cut -b 2-3)
	s51ff=$(echo "$section5" | grep -o -P -e '1[0-9/]{4}' | cut -b 4-5)
	s52sn=$(echo "$section5" | grep -o -P -e '2[0-9/]{4}' | cut -b 2)
	s52ttt=$(echo "$section5" | grep -o -P -e '2[0-9/]{4}' | cut -b 3-5)
 
	#echo "$section5"
 
	# VYPIS
 
	echo "$mesto   $gpsn,$gpse   $ff m/s   $s11ttt °C   $s14pppp Pa";
done <<< $(echo "$syno")
project/brmmeteo/start.1548803881.txt.gz · Last modified: 2019/01/29 23:18 by sachy