Källor för METAR-data
En pålitlig källa är NOAA i USA som har Metar-data för hela världen fritt tillgänglig via exempelvis FTP. Svenska och vissa europeiska data finns gripbara på Luftfartsverkets hemsida, men bara som en webb-sida.Inhämtning av METAR-data
Jag kör en Linux-maskin som två gånger per timme (via cron) startar upp ett perl-skript och hämtar hem de svenska stationernas data från antingen Luftfartsverket eller NOAA. Är den ena nere så är troligen den andra uppe.Skriptet går igenom varje metar-rad och plockar ut vissa nyckeldata. Vind, temperatur, lufttryck och relativ luftfuktighet kommer som numeriska data och lagras utan vidare åthävor direkt i databasen. Andra uppgifter, t.ex. molntyper och väderfenomen kräver lite digital massage innan de kan lagras. Som databas använder jag MySQL som är gratis, och lätt att använda tillsammans med andra program i Linux.
Översätta METAR till klartext
Tro det eller ej, men det är lättare för en människa än för en dator att tolka en Metar-rapport. Åtminstone känns det så när man ska skriva en Metar-avkodare. Exempel:ESGP 172150Z 16006KT 9000 BR BKN130 03/02 Q1009Först kommer en grupp med 4 bokstäver som visar varifrån rapporten kommer. Det är en standardiserad kod enligt ICAO, varje flygplats i världen har sin egen kod. ESGP i exemplet ovan är Säve flygplats på Hisingen i Göteborg. Nästa grupp är tidpunkten för avläsningen, först dag, sedan timme och minut i UTC (GMT).
Vindriktning och vindhastighet följer sedan, på Säve blåste det från syd-sydost (160°) med en hastighet av 6 knop, cirka 3 m/s.
Nästa grupp är sikten, den var 9000 m vid tillfället. BR betyder att det var fuktdis. BKN130 är en molnrapport som betyder brutet molntäcke på en höjd av 13000 fot (ungefär 3200 m). Därefter följer 03/02 som visar att temperaturen upmättes till +3°C och daggpunkten var +2°C. Den sista gruppen, Q1009, är lufttrycket 1009 hPa (millibar).
Presentera avläsningarna
För att visa vädret på webbsidan använder jag PHP som är ett skriptspråk, en blandning av Perl, C och lite till. Det gör ett utmärkt jobb mellan databasen och webbservern (Apache). PHP ställer en SQL-fråga till MySQL (ungefär ”Visa senaste data för alla stationer i Sverige som har lämnat rapport under de senaste 3 timmarna”). När svaret kommer gör PHP om det till HTML- data i tabellform och säger åt Apache att servera det till besökaren.För 24-timmarsdiagram och månadsstatistik använder jag ett norskt bibliotek för Javascript som heter Highcharts. Sifferdata skickas från min server till din webbläsare som själv ritar grafiken.
När det gäller väderkartan sänds liknande sifferdata och en statisk bakgrundsbild (kartan). Lite hemsnickrad Javascript ser till att siffror och symboler plottas på rätt plats på kartan.