weather.sh
weather.sh är ett litet bash-script som hämtar METAR-data (förklaring) för valfri svensk flygplats och visar de relevanta siffrorna:
• Tid för METAR
• Temperatur
• Vindhastighet och -riktning
• Relativ fuktighet (även för minusgrader)
• Lufttryck
Dessutom räknar jag ut vindavkylningen, d.v.s. hur kallt det känns i vinden vilket egentligen är det viktiga för att veta hur man skall klä sig.
Om flygplatsen är Sturup (ESMS) räknar jag även ut vindavkylningen när man cyklar till Lund (från Södra Sandby där jag bor) och tvärtom. Jag räknar då med en cykelhastighet av 5 m/s (=18 km/h) vilket är rätt rimligt.
Använd det tillsammans med verktyget GeekTool (nu i App Store) och uppdatera två gånger i timmen så har du siffrorna på ditt skrivbord, hela tiden!
2013-10-11: fick just reda på att man kan hämta färdigavkodade METAR-strängar från:
http://weather.noaa.gov/pub/data/observations/metar/decoded/ESMS.TXT
(Byt flygplatskod efter behov). Detta gör inte mitt script onödigt, utan mer ett roligt komplement!
Installation
- Hämta scriptet från http://fileadmin.cs.lth.se/cs/Personal/Peter_Moller/scripts/weather.sh
- Starta Terminal.app
- Scriptet kan ligga var som helst, men jag rekommenderar
/usr/bin
(då finns det i$PATH
) - Sätt accessrättigheter på scriptet:
chmod 755 weather.sh
- Starta GeekTool och tala om att det skall köra scriptet
weather.sh
var 3600:e sekund. Om weather.sh inte ligger i en standardsökväg ($PATH
) måste du tala om var det ligger!
Användning
Scriptet kan köras direkt i ett terminalfönster eller, om man vill, med GeekTool så att man alltid har en uppdaterad vy på skrivbordet.
Optioner: | |
-f XXXX | Flygplats XXXX enligt ICAO- eller IATA-kod (se wikipedia-lista över flygplatser i Sverige för dessa koder). Det går också bra (sedan 2015-05-05) att skriva namnet på den flygplats vars väder man vill se, t.ex. 'Malmö' eller 'Sturup' (om man skriver med stora eller små bokstäver spelar ingen roll). Scriptet innehåller en lista med 83 Svenska flygplatser som de koder man anger kontrolleras mot – titta där själv. (Det är dock inte säkert att dessa flygplatser faktiskt publicerar någon METAR-information!) |
-u | Uppgradera scriptet |
-d | Debug. Visar även METAR-strängen som hämtades |
-h | Hjälp. Visar denna text |
Exempel från Terminal-körning:$ weather.sh -f ESTA
Vädret på Ängelholm/Helsingborg: (ESTA; kl 22:20)
Temperatur: -5°C (-11°C)
Vind: 5 m/s Riktn: NV (320°)
Rel.fuktighet: 73 %
Lufttryck: 1017 hPa
(temperatur inom parentes är vindavkylning)
Uppdatering
Manuellt
Man uppdaterar scriptet (manuellt) genom att som root
i ett terminalfönster skriva:weather.sh -u
Den kommer då att hämta ner den senaste versionen av scriptet och installera det (om den är annorlunda än den du har) i /usr/bin
. Har du redan den senaste versionen kommer den berätta det!
Automatiskt
Blir root
i en terminal. Skriv sedan:crontab -e
och mata in följande:0 10 * * mon weather.sh -u
och avsluta cron-verktyget (:x
). Cron kommer nu att uppdatera weather.sh
klockan 10:00 på måndagar!
Lista över Svenska flygplatser
Dessa flygplatser accepteras av scriptet (därmed inte sagt att dessa faktiskt publicerar någon väderinformation):
ESCF | Linköping/Malmen |
ESCM | Uppsala |
ESDF/RNB | Ronneby |
ESFA | Hässleholm/Bokeberg |
ESFR | Råda |
ESFS | Sandvik |
ESGA | Uddevalla/Backamo |
ESGC | Alleberg |
ESGD | Tidaholm/Bammelshed |
ESGE | Borås/Viared |
ESGF | Falkenberg/Morup |
ESGG/GOT | Göteborg/Landvetter |
ESGH | Herrljunga |
ESGI | Alingsås |
ESGJ/JKG | Jönköping |
ESGK | Falköping |
ESGL | Lidköping |
ESGM | Öresten |
ESGN | Götene/Brännebrona |
ESGO | Vårgårda |
ESGP/GSE | Göteborg/Säve |
ESGR | Skövde |
ESGS | Strömstad/Näsinge |
ESGT/THN | Trollhättan-Väversborg |
ESGU | Uddevalla/Rörkärr |
ESGV | Varberg |
ESGY | Säffle |
ESIA | Karlsborg |
ESIB | Såtenäs |
ESKC | Sundbro |
ESKD | Dala/Järna |
ESKG | Gryttjom |
ESKH | Ekshärad |
ESKK | Karlskoga |
ESKM/MXX | Mora/Siljan |
ESKN/NYO | Stockholm/Skavsta |
ESKO | Munkfors |
ESKT | Tierp |
ESKU | Sunne |
ESKV | Arvika |
ESMA | Emmaboda |
ESMB | Borglanda |
ESMC | Eksjö/Ränneslätt |
ESME | Eslöv |
ESMF | Fagerhult |
ESMG | Ljungby/Feringe |
ESMH | Höganäs |
ESMK/KID | Kristianstad |
ESMQ/KLR | Kalmar |
ESMS/MMX | Malmö/Sturup |
ESMT/HAD | Halmstad |
ESMX/VXO | Växjö/Kronoberg |
ESNG/GEV | Gällivare |
ESNK/KRF | Kramfors |
ESNL/LYC | Lycksele |
ESNN/SDL | Sundsvall/Härnösand |
ESNO/OER | Örnsköldsvik |
ESNQ/KRN | Kiruna |
ESNS/SFT | Skellefteå |
ESNU/UME | Umeå |
ESNV/VHM | Vilhelmina |
ESNX/AJR | Arvidsjaur |
ESNY | Söderhamn |
ESNZ/OSD | Östersund-Frösön |
ESOE/ORB | Örebro |
ESOH/HFS | Hagfors |
ESOK | Karlstad |
ESOW/VST | Västerås |
ESPA/LLA | Luleå, Kallax |
ESPE | Vidsel |
ESSA/ARN | Stockholm/Arlanda |
ESSB/BMA | Stockholm/Bromma |
ESSD/BLE | Borlänge |
ESSF | Hultsfred |
ESSK | Gävle/Sandviken |
ESSL/LPI | Linköping/Saab |
ESSP/NRK | Norrköping |
ESST/TYF | Torsby |
ESSV/VBY | Visby/Gotland |
ESTA/AGH | Ängelholm/Helsingborg |
ESTL | Ljungbyhed |
ESUD | Storuman |
ESUP/PJA | Pajala |
ESUT/HMV | Hemavan |