lu.se

Datavetenskap

Lunds Tekniska Högskola

Denna sida på svenska This page in English

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

  1. Hämta scriptet från http://fileadmin.cs.lth.se/cs/Personal/Peter_Moller/scripts/weather.sh
  2. Starta Terminal.app
  3. Scriptet kan ligga var som helst, men jag rekommenderar /usr/bin (då finns det i $PATH)
  4. Sätt accessrättigheter på scriptet:
    chmod 755 weather.sh
  5. 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 XXXXFlygplats 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!)
-uUppgradera scriptet
-dDebug. Visar även METAR-strängen som hämtades
-hHjä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):

ESCFLinköping/Malmen
ESCMUppsala
ESDF/RNBRonneby
ESFAHässleholm/Bokeberg
ESFRRåda
ESFSSandvik
ESGAUddevalla/Backamo
ESGCAlleberg
ESGDTidaholm/Bammelshed
ESGEBorås/Viared
ESGFFalkenberg/Morup
ESGG/GOTGöteborg/Landvetter
ESGHHerrljunga
ESGIAlingsås
ESGJ/JKGJönköping
ESGKFalköping
ESGLLidköping
ESGMÖresten
ESGNGötene/Brännebrona
ESGOVårgårda
ESGP/GSEGöteborg/Säve
ESGRSkövde
ESGSStrömstad/Näsinge
ESGT/THNTrollhättan-Väversborg
ESGUUddevalla/Rörkärr
ESGVVarberg
ESGYSäffle
ESIAKarlsborg
ESIBSåtenäs
ESKCSundbro
ESKDDala/Järna
ESKGGryttjom
ESKHEkshärad
ESKKKarlskoga
ESKM/MXXMora/Siljan
ESKN/NYOStockholm/Skavsta
ESKOMunkfors
ESKTTierp
ESKUSunne
ESKVArvika
ESMAEmmaboda
ESMBBorglanda
ESMCEksjö/Ränneslätt
ESMEEslöv
ESMFFagerhult
ESMGLjungby/Feringe
ESMHHöganäs
ESMK/KIDKristianstad
ESMQ/KLRKalmar
ESMS/MMXMalmö/Sturup
ESMT/HADHalmstad
ESMX/VXOVäxjö/Kronoberg 
ESNG/GEVGällivare
ESNK/KRFKramfors
ESNL/LYCLycksele
ESNN/SDLSundsvall/Härnösand
ESNO/OERÖrnsköldsvik
ESNQ/KRNKiruna
ESNS/SFTSkellefteå
ESNU/UMEUmeå
ESNV/VHMVilhelmina
ESNX/AJRArvidsjaur
ESNYSöderhamn
ESNZ/OSDÖstersund-Frösön
ESOE/ORBÖrebro
ESOH/HFSHagfors
ESOKKarlstad
ESOW/VSTVästerås
ESPA/LLALuleå, Kallax
ESPEVidsel
ESSA/ARNStockholm/Arlanda
ESSB/BMAStockholm/Bromma
ESSD/BLEBorlänge
ESSFHultsfred
ESSKGävle/Sandviken
ESSL/LPILinköping/Saab
ESSP/NRKNorrköping
ESST/TYFTorsby
ESSV/VBYVisby/Gotland
ESTA/AGHÄngelholm/Helsingborg
ESTLLjungbyhed
ESUDStoruman
ESUP/PJAPajala
ESUT/HMVHemavan