How to use Frost

Below you will find a basic introduction to help you learn to use Frost. Please use the submenu for more information.

Basic introduction

Frost is a RESTful API that provides access to MET Norway's archive of historical weather and climate data.

To access the API you need to create a user, all you need is an email address (MET's privacy policy statement). You will get a client ID and client secret, which you should save in a safe place. Most users will only need the client ID, but if you require access to data that is not open then you need to use the client secret for OAuth2.

Create a User

There are several different parts of the API, out of which you can retrieve different types of data. Sources/ for instance can be used to find available sources for a particular area or find meta information about a particular source. Observations/AvailableTimeSeries/ can be used to find out what types of weather elements (types of observations) are available for a particular station or time range. Observations/ can be used to retrieve observations. In order to request observations you must specify 3 things:

  • Source(s)
  • Reference Time
  • Element(s)

Important note: If you only specify these 3 things, your request will return all the data that matches this. This can result in many similar timeseries, for example if there are multiple sensors at a station that measure the same thing. It also means you might get data that is lower quality, because the request will return all available data.
If you want to try to limit the amount of timeseries the request returns it can be useful to use some defaults:

  • timeoffsets=default
  • levels=default
And to filter out lower quality data by defining which qualities codes are of an acceptable level, for example:
  • qualities=0,1,2,3,4

Once you have a client ID one of the simplest ways to access the data is to copy it into the upper right corner of the API reference in order to use that interface to run a request. Another way to run a request is via curl. For example, you could request the air temperature for Blindern (SN18700) at 12 on the 1st of January 2010:

curl -X GET --user <client ID>: 'https://frost.met.no/observations/v0.jsonld?sources=sn18700&referencetime=2010-01-01T12&elements=air_temperature'
        

You can also use code such as python or R to run requests, please read the examples to learn about this.

The data output from a request is currently only available as JSON (except for the lightning data which is available in Universal ASCII Lightning Format). There are data clarifications which may help you understand special or unusual data.