Tekniska frågor och svar

Varför får jag inte hela tidsserien när jag laddar ner?

Om du använder Excel så kan det vara orsaken. Filerna som laddas ned innehåller ofta mycket data och Excel har ett begränsat antal rader (ca 1 miljon). Det innebär att datamängderna kan bli ofullständiga i Excel. Öppna dem i så fall i en vanlig textredigerare t ex Notepad.

Varför fungerar inte gränssnittet för meteorologiska observationer?

En äldre version av Internet explorer kan vara orsaken . Detta gränssnitt kräver Internet Explorer 9 eller senare versioner.
Ladda hem senaste webbläsarna.

Varför fungerar inte sökfunktionen för öppna data?

En äldre version av Internet explorer kan vara orsaken. Detta gränssnitt kräver Internet Explorer 8 eller senare versioner.

Ladda hem senaste webbläsarna.

Finns det öppna parsers (tolkare) för era API:er?

Nej, det finns inga sådana vi vet om. Men det finns mycket information på nätet om hur man läser JSON och XML formaten i olika programmeringsspråk. Inom en snar framtid kommer vi att släppa våra XSD-filer (schema filer för våra XML:er). Bland annat Java kan man med hjälp av dessa generera klasser som hjälper till att parsa filerna.

Finns det url med csv på slutet?

När man går in i våra API:er och börja filtrera bland stationer, parametrar och tidsutsnitt så får man resultatet i ATOM, JSON eller XML format. När man som användare har valt en parameter, station och tidsutsnitt får man data i CSV-format. Inget annat dataformat stöds idag. Detta ser man även i URL-strukturen:

http://opendata-download-metobs.smhi.se/api/version/latest/parameter/17/station/106

Är det möjligt att schemalägga nedladdningar av data? Hur går man tillväga?

Ja, det är fullt möjligt. Det du får göra är att schemalägga (crontab till exempel) ett jobb (skript eller applikation) på din server som går mot en url. Följande url hämtar en lista med tillgängliga perioder för station 97390 (Arlanda) för parametern nederbörd dygnsmedel:

http://opendata-download-metobs.smhi.se/api/version/latest/parameter/5/station/9739

Informationen som du får upp innehåller bland annat en "updated" tag. Jobbet får kolla om informationen har blivit uppdaterat och om detta är fallet så ska data hämtas. Data url:en finns också i svaret under ""data"" taggen. Jobbet kan då ladda ner datafilen (en csv-fil).

Ovanstående url är dock inte beständig och kan komma att ändras. Det säkraste sättet att alltid få rätt url är att traversera neråt ifrån:

opendata-download-metobs.smhi.se/api/version/latest.xml

Läsa innehållet i XML:en och göra ett urval ifrån innehållet.

När vi försöker hämta ut den senaste timmens observation från en väderstation är svaret blankt. Saknas data eller är det något fel?

Det är ett problem som kan uppstå ibland när observationsvärdet inte är godkänt. Värdet som observeras är av ingen nytta för våra användare och filtreras bort av våra tjänster. Resultatet blir en fil utan värde.

Hur undviker jag massnedladdning som belastar onödigt mycket?

Hämtning ska styras av den slutliga användningen. Om du bygger en tjänst/webbsida så vill vi att användningen ska styras av slutanvändaren. Parallella anslutningar är alltså OK, om varje anslutning motsvarar en slutanvändare. Vi vill även att data cachas, i mellanlager eller hos slutanvändaren (i browser eller motsvarande ), med hänsyn tagen till cachetider. Om man trots allt vill förvärma cachar/lager så bör detta ske över EN anslutning (fler parallella anslutningar = massnedladdning, i detta sammanhang), det vill säga inte parallellt.

Jag vill ladda ner alla historisk data? Hur undviker jag att belasta i onödan?

Ladda ner alla data med EN anslutning, det vill säga inte parallellt. Du får loopa över alla stationer och alla parametrar, men endast fråga efter data för en parameter från en station i taget (detta motsvarar en fråga i api:et  = en anslutning). Detta leder då inte till någon peaklast men kommer dock ta lite längre tid. Du behöver göra detta en gång per månad om det gäller corrected-archive för meteorologi eller oceanografi. Om du vill nyare data så gäller andra intervall. Läs metadata noggrant om hur ofta data uppdateras.

Var hittar jag de aktuella gridpunkter som ni kör en modell på?

Det går inte att hitta.

API:t för väderprognosdata (PMP) lämnar resultat för närmsta gridpunkt. Data i PMP-filerna ligger på ett gridnät bestående av väldigt många punkter (246*268) vilket gör att vi inte håller reda på exakt var varje gridpunkt är placerad. Vill man veta det kan det räknas ut med hjälp av hörnpunkterna men det är ganska krångligt, speciellt eftersom PMP har data på ett så kallat roterat gridnät.

Varför hittar jag inte värdet till exempel för temperatur inbäddat i länken, http://opendata-download-metobs.smhi.se/api/ver...? Däremot finns en länk till en csv fil med värdet.

Själva värdet finns inte i xml eller json. Atomflödet pekar till data i csv-format som kan hämtas.

Länken är dock alltid densamma. Så vet man vilket nummer stationen har så kan man hämta data direkt som till exempel:

http://opendata-download-metobs.smhi.se/api/version/latest/parameter/1/station/97280/period/latest-hour/data.csv

Atomflödet kan ses som en innehållsförteckning för vilka data som finns (tillgängliga tidssteg). Informationen finns också i CSV-filen.

För vilket dygn gäller ett dygnsvärde för lufttemperatur?

För dygnsvärden finns det en tidsstämpel och värdet gäller 24 timmar bakåt i tiden från tidsstämpeln.

Varför är dygnsnederbörd (meteorologiska observationer) markerat med G ända tills senaste dygnet? Är dessa värden verkligen godkända?

Dessa värden har gått igenom automatiska kvalitetskontroller och om kontrollerna inte hittar något fel så blir värdena godkända.

Hur hittar jag stationerna i atomflödena?

Koordinaterna finns i xml-format och json-format men inte i atomflödena. Så först klickar man på ”latest.atom” i översta nivån och sedan när man ska välja parameter i nästa nivå, klickar man på länken i xml (eller json). I XML-filen man får listas alla stationer för den parametern tillsammans med sin position. 

Varför syns inte alla stationer i Internet Explorer?

När man visar atomflöden i Internet Explorer visas bara de 1000 senast uppdaterade stationerna. En del parametrar har betydligt fler stationer vilket gör att det fattas stationer. Med senast uppdaterade stationer menas de stationer som senast har fått ny data. Detta är en begränsning i Internet Explorer. Vill man se alla stationer kan man till exempel använda Firefox eller chrome. Man kan även titta direkt i atom-filen (som text) eller något av de andra formaten (xml, json).
 

Varför innehåller dataserier osäkra (gulmarkerade) mätdata för meteorologiska observationer?

Ett nytt granskningssystem för kvalitetssäkring infördes i augusti 2010 som kan hantera timvisa data. Innan dess granskades endast 3-, 6-, 12- och 24-timmarsvärden. För mätvärden före 2010, som inte kunnat granskas med tidigare system, har det i efterhand körts en väldigt enkel kontroll för att få bort helt felaktiga värden. De data som passerat kontrollen utan anmärkning har gulmarkerats, då vi inte kan garantera att de verkligen är korrekta.

Varför saknas observationer för senaste timmen?                                                                                                                          

Om data saknas för den senaste timmen är orsaken en av följande:

  • Stationen levererar data endast en eller ett par gånger per dygn
  • Stationen är tillfälligt ur funktion
  • Stationen levererar inte data exakt på hel timme. Ibland kommer data in utanför det tidsfönster som tjänsten använder.

Varför finns det inte data äldre än 2013 för solskenstid, globalstrålning?

Vi arbetar nu med att utveckla och driftsätta ett nytt system för kvalitetsgranskning för dessa parametrar. Detta blir troligtvis klart andra halvåret 2015 och då blir dessa data också tillgängliga.

Finns det inga äldre data för sikt, nederbördsmängd 15 min och intensitet?

Äldre data för dessa parametrar genomgår nu en kvalitetsgranskning och kommer bli tillgängliga efterhand.

Varför hittar jag inte relativ fuktighet från 2012 och bakåt i tiden?

Äldre data för relativ fuktighet måste beräknas från daggpunktstemperatur och lufttemperatur. Data för daggpunktstemperatur måste än så länge beställas av kundtjänst.

Är det möjligt att kunna ladda ned MESAN, HIRLAM, AROME eller HIROMB data för ett begränsat område?

Nej, det är inte möjligt att skära ut ett begränsat geografiskt område.

Prognoserna från API:et matchar inte exakt prognoserna på smhi.se. Varför är det så?

Datakällan är detsamma i API:t för öppna data och vår app för väderprognoser.  API:t väljer närmaste gridpunkten i förhållande till den lat-long koordinat som är aktuell. Resultatet i vår väderprognosapp kan skilja sig något då ortsnamnet styr valet av närmsta gridpunkt på ett annat sätt.

Hur får jag veta om det sker förändringar i nedladdningstjänsterna när jag hämtar automatiskt via till exempel ett script?

Prenumerera på vårt nyhetsbrev, RSS-flöde, ”Planerat underhåll och uppdateringar” som du hittar på www.smhi.se/data

så får du information om mindre förändringar i befintliga nedladdningstjänster cirka 3 månader innan och större förändringar cirka 6 månader innan. Vi informerar även om vi planerar in ett större underhållsarbete som påverkar tjänsterna. Aktuell driftsinformation kommer dock inte via detta nyhetsflöde.

Följer man länken http://opendata-download-metobs.smhi.se/api så kan man efter flera http-länkar senare komma fram till en mätstation. Är detta ett API?

Det här är ett REST API, där man länkar till resurser som är relevanta. Vi har använt oss av ATOM-flöden som förvald MIME typ då det även går att förstå det i en webbläsare. Man kan även använda XML eller JSON beroende på vilket man är mest bekväm med när man utvecklar sin klient. I vårt fall följer man länkarna genom att välja följande i tur och ordning.

•      API version

•      Parameter

•      Station

•      Tidsutsnitt

För att sedan hämta de faktiska data.

Jag försöker ladda ned momentana timvärden men någon sådan fil finns inte att ladda ner trots att rubriken säger så?

Det finns fyra olika tidsutsnitt att välja på. Nämligen följande.

•      Senaste timmen

•      Senaste dagen

•      Senaste månaderna

•      Arkiverad data

För alternativet senaste timmen finns det dock inte alltid data registrerad vid tillfället för förfrågningen vilket resulterar i att det inte heller finns något sådant alternativ att välja. Detta gäller även de andra alternativen, då en del stationer lagts ner och bara har arkiverad data och på samma vis har inte de allra nyaste stationerna alternativet arkiverad data då de ännu inte hunnit arkivera någon data.

Varför använder ni för ATOM, XML och JSON men levererar data i CSV?

REST API:er bygger på en bas URL (t.ex. http://opendata-download-metobs.smhi.se/api) plus ett definierat format för att presentera vad man kan komma åt (ATOM,XML och JSON i vårat fall) där det är lätt för en dator att förstå hur den skall ta sig vidare i strukturen, och till sist ett format (csv i vårat fall) för data. Vi valde csv för att det är ett relativt lättanvänt format och många av våra kunder använder program som hanterar detta format.

Vilka tider gäller värdena för i API:t för PMP (väderprognosdata), till exempel för "validTime": "2013-12-02T05:00:00Z"?

Data utgör momentanvärden som gäller för tidpunkten angiven som ”Valid time”. Men det finns undantag. Parametrarna Pis och Pis har en utbredning i tiden, läs mer i .

Hur kan man få reda på när prognosen i PMP som levereras genom api:et utfärdades?

Referenstiden i API:et anger när modellen kördes. 1-2 timmar senare godkänns den av meteorolog. Den tidpunkten kallas utfärdandetid och det är den tiden som anges för prognoserna på vår app. På appen finns det dessutom en liten bugg som gör att den inte ställer om till vintertid, d v s tiden 17.55 nedan borde vara 16.55.

URL:er till de senaste utfärdandetider kan hittas här:

www.opendata-download-metfcst-utv.smhi.se/api/category/pmp1.5g/version/1/approvedtime/data.json

www.opendata-download-metfcst-utv.smhi.se/api/category/pmp2g/version/1/approvedtime/data.json

När jag använder ert öppna API för väderprognosdata för platser som ligger för långt ifrån Sverige som exempelvis får jag resultatet "Requested point is out of bounds". Varför då?

API:et ger dig tillgång till våra väder prognosdata och vi beräknar prognoser för ett visst geografiskt område som är något större än Sverige, länk till Utforskaren och dokumentation, bild.

Väderdata producerade i andra länder går till viss del att hitta på respektive nationella meteorologiska instituts hemsida, till exempel i Norge www.met.no och i Finland https://en.ilmatieteenlaitos.fi/open-data. Men det är endast de nordiska länderna (ej Danmark) som har släppt sina väderdata gratis ännu. Men fler europeiska länder tros följa efter.

Finns data att hämta för Europa?

Vissa av våra modelldata går något utanför Sveriges gränser, läs mer om det geografiska området för våra modeller här, http://opendata-catalog.smhi.se/explore/.

Väderdata producerade i andra länder går till viss del att hitta på respektive nationella meteorologiska instituts hemsida, till exempel i Norge www.met.no och i Finland en.ilmatieteenlaitos.fi/open-data. Men det är endast de nordiska länderna (ej Danmark) som har släppt sina väderdata gratis ännu. Men fler europeiska länder tros följa efter inom en snar framtid.

När vi presenterar vädret utanför Sverige så använder vi oss även av data från ECMWF, European center for medium range forecasting, www.ecmwf.int, där Sverige är medlem såsom de flesta andra europeiska länder. Dessa data är dock inte gratis och vi har inte rättigheterna att ge ut dessa som öppna data. Det går att köpa data från ECMWF, kontakta oss för att få offert.

Det står att man inte får masshämta data för massor av städer samtidigt. Hur definierar ni massor är det 10, 20 eller 100?

Det viktiga är att inte hämta oftare än vad data uppdateras och bara de data (till exempel välja ut parametrar och mätplatser där det är möjligt) man är intresserad av. API:t med väderprognosdata till exempel uppdateras 6grr/dygn. För till exempel meteorologiska observationer, http://opendata-download-metobs.smhi.se/api, går det bra att hämta data för en parameter från 10-20 stationer, 100 också. Om man vill ha senaste timmens data kan man hämta från många fler stationer och parametrar samtidigt och varje timme. Filerna med historiska data är däremot mycket stora och bör hämtas sällan och bara för några få stationer i taget.

Vilken enhet har parametern Pit (och Pis) i API:t för PMP 1.5g?

Den nederbördsmängd Pit, som är angiven för ett längre tidsintervall (till exempel 3 mm och 12 timmar) är fortfarande angivet i mm/h (under de tolv timmarna kommer det alltså 36 mm).

Finns det skillnader mellan prognosdata från API och den väderprognos ni presenterar på er webbplats?

Genom API:t får man tillgång till väderprognosdata (PMP) för att kunna skapa egna produkter. Det vi presenterar på hemsidan är bearbetade produkter som vi har skapat utgående från samma grunddata. Därför är de inte direkt jämförbara.

Som exempel gäller att GRIB-filen för PMP2g-data presenterar nederbördsintensitet (en medelintensitet för tidsperioden/prognoslängden) i kg/m2/s. Via vårt API för PMP2g levererar vi nederbördsintensitet i mm/h. Våra grafer på hemsidan presenterar bearbetade data, i detta fall ackumulerad nederbörd för olika tidsperioder (inte intensitet).