2.8 KB

Since parsing the website breaks every now and then (not too often fortunately), I have been considering to change the method of data aquisition.


Fortunately, the FMI offers Open Data.

An example URL would look like this:

This seems to boil down to a list of Lat/Lon coordinates with a Unix timestamp (*): <gmlcov:positions>, and a list of forecast values for each place/timestamp row: <gml:doubleOrNilReasonTupleList>.

(*) Can be converted to something more familiar thusly: date -d @1593867600

To understand what the numbers mean, this seems to help: <om:observedProperty xlink:href=";param=GeopHeight,Temperature,Pressure,Humidity,WindDirection,WindSpeedMS,WindUMS,WindVMS,MaximumWind,WindGust,DewPoint,TotalCloudCover,WeatherSymbol3,LowCloudCover,MediumCloudCover,HighCloudCover,Precipitation1h,PrecipitationAmount,RadiationGlobalAccumulation,RadiationLWAccumulation,RadiationNetSurfaceLWAccumulation,RadiationNetSurfaceSWAccumulation,RadiationDiffuseAccumulation,LandSeaMask&amp;language=eng"/>

Of course this is mostly guesswork so far.


AFAICS, all this data does not offer nicely formulated forecasts like "mostly cloudy with occasional showers" etc., only precise values for cloud cover, precipitation amount etc.


This page seems to offer a little more information:

  • we possibly want WFS services
This one gives usable forecast data.
Also fmi::forecast::hirlam::surface::point::simple.


More links:

Some expanation about WeatherSymbol3:


Another approach:
sqlite3 -line 'select * from stations'| grep -iC3 espoo Download your country from here:
unzip, find your location, use the first numerical value on that line as id for this command:
curl "$id"

Alternatively, find your numerical location id here:


Some hints for dealing with FMI data: