RSS MET.no API

https://docs.api.met.no/feed.xml​​​

Server park upgrade, changes to aviation products and more

New API servers

On Wednesday 10 Nov we will start moving the API traffic to a new server cluster which promises much better performance, due to faster processors and extensive use of SSD disks. Hopefully this will result in shorter response times and a higher turnaround. We’ll start propagating the changes via DNS around 10:00 CET. We have done extensive testing of the new servers, but since the file distribution chain is a separate system it could possibly happen that some data have been forgotten by the backend producers. If there are something you feel is missing, please let us know ASAP at weatherapi-adm@met.no.

The change will at first only affect traffic going to https://api.met.no/. Those with special arrangements (other domains) will be notified later when it’s time to move their traffic.

Aviation product changes

We will shortly be adding 22 new routes (vertical cross sections) to Routeforecast. At the same time we will be reducing the number of time steps from the current 84 to 22 (as stated in the documentation). This should result in better performance in generating the available lists.

There will also soon be a similar increase in the number of routes for NLAroutes, as well as a similar reduction in time steps.

The new sigcharts version 2.0 with Nordic maps is expected to go out of beta on 1 December, at which time we will deprecate the current version (don’t worry, you will have time to migrate after the New Year).

We will also soon be launching a new option in Tafmetar, giving additional information such as AMD and COR (for TAFs), as well as COR, SPECI and AUTO (for METARs). These will prefix the existing messages, and can be enabled by using the parameter extended=true. More information on this later.

Finally, the IGA warnings will be removed from Aviationforecast in December.

EOL for the old Yr API

As previously mentioned, the “free weather data” API on yr.no is going away, and will be turned off completely on 1 February 2022. This will affect both the XML data (varsel.xml and forecast.xml) and the HTML widgets currently used on many websites. Until then the services will suffer planned outages of increasing length, informing developers of the need to change to newer services.

For more information, see the Yr Developer docs or contact NRK at support@yr.no.

https://developer.yr.no/doc/guides/deprecating-old-widgets/

New version of available?

Finally, we are planning to replace our existing, home-grown “available” method with something a bit more effective, preferably using existing standards. It has been more or less unchanged since the launch of the API in 2007, and since then the amount of available files has grown enormously (we currently deliver over 5000 files for some products). This means the complete list can take several seconds to generate, which is a problem for the total API performance.

We are looking at some of the new OGC standards, which fully support OpenAPI and should in time hopefully be supported by standard libraries for the most used programming languages. If you are interested you can find some documentation here:

https://ogcapi.ogc.org/edr/overview.html

If you have some specific requests for new features in the “available2” functionality we would very much like to hear from you.

New beta version of sigcharts

A short update, mainly of interest to Nordic users:

Sigcharts 2.0 beta

We have a new version of Sigcharts which, in addition to the previous Arctic/Norway also covers the Nordic/Baltic regian (minus Iceland). Also, the search interface has been made consistent with the rest of the API:

https://api.met.no/weatherapi/sigcharts/2.0/documentation

While currently in beta we suggest you start using this after the summer is over. We’re not sure how long the current version 1.0 will live, this depends on how soon our regular users will take to implement the new version.

Forestfire index

As mentioned some weeks ago, the Forestfireindex product has been terminated and replaced with a new, map-based service:

https://skogbrannfare.met.no/

For those wishing to download the raw data used for the maps, these can now be found on our THREDDS server:

https://thredds.met.no/thredds/projects/fwi.html

TOS addition

With the ongoing migration of users from the Yr API to api.met.no, we’ve had to update our Terms of Service with a notice on trademark restrictions:

You are not allowed to make services/sites that appear to be made by Yr, NRK or The Norwegian Meteorological Institute. In other words, you may not use the word “yr” as a part of your service name, or attach the yr logo to your service.

https://api.met.no/doc/TermsOfService

This was previously only stated on the conditions of use on yr.no, but as the old Yr site (retro.yr.no) is closing down soon we’ve had to transfer the clause to the api.met.no TOS (incredibly, some users are still referring to this as the “Yr API”, even though they were two different APIs and Yr is a completely different site run by the Norwegian Broadcasting Corporation).

Forestfireindex EOL July 1st

Some product changes, mainly of interest to Norwegian users:

Forestfireindex

This product will be terminated on July 1st, as it has been replaced by MetAlerts on the new Yr website. We are working on a new map-based service, which is currently in beta and available on skogbrannfare.met.no.

The old retro.yr.no site will link to this after July 1st. We are also working on making the raw data files avaiable on thredds.met.no as NetCDF files, more info on this later.

Sigcharts

On June 1st we will start using a new tool for making SIG-WX charts. The images will look somewhat different and have other dimensions, but will be available on the same URL as before. We are planning to add a Nordic map later, in which case we might be bumping the version number. More info on this later.

Lightning warnings

On June 15th, we will add a “lightning” type to MetAlerts. This will only be of yellow severity, and signify events with a large amount of lightning strikes.

Routeforecast

On June 1st, the route Korpfjell-ENKR will be removed, and the Stangnestind-ENKR route added.

Probabilityforecast and old Oceanforecast EOL July 1st

As mentioned earlier, Oceanforecast 2.0 is now in production and version 0.9 has been deprecated, to be removed on 2021-07-01. Despite what we said earlier there will be no change in the XML format for 0.9, as we have extended the EOL of the backend model to the same date. (The experimental XML version in 2.0 is also going away, although later in the summer).

The Probabilityforecast product has also been deprecated and will be removed on 2021-07-01. As a replacement we have added the following new variables to complete.json in Locationforecast/2.0:

air_temperature_percentile_10
air_temperature_percentile_90
wind_speed_percentile_10
wind_speed_percentile_90

We have also improved the handling of requests outside coverage for Nowcast and Oceanforecast (2.0). Any requests outside the model area (as defined by the shapefile which can be downloaded from the /coverage endpoint) will get a 422 error response. Any requests within the model area but which we have no data for (either due to lack of radar range or ocean forecasts for dry land) will get a GeoJSON response with an appropriate error or warning message.

Note that we have implemented a “snap” functionality in Oceanforecast so land points near the coast will return the nearest point at sea (this means the coordinates in the URL and JSON may be different). The new model areas can be seen on the maps here:

Finally, as you may know we have not supported unencrypted HTTP for several years, and all requests to port 80 have been redirected to the corresponding HTTPS URL. Yet, after several years we still get a lot of traffic from old systems which has not been updated to use HTTPS, which in some cases could be considered a privacy liability. As a consequence we have decided to drop this feature; now all requests to po 80 will be redirected to the front page of the API.

New version of Oceanforecast, and more

Questions to the administrators

We’re always getting a steady stream of questions from API users, and after terminating Locationforecast/1.9 this has peaked significantly. Unfortunately, almost all of the questions are variations of two themes:

  1. Why am I being blocked with a 403 response?
  2. What kind of other data do you have except for the API?

While the first one is easy to answer (read the documentation), it’s also the hardest to solve (people don’t read documentation). So again, if you have problems and must contact us, please make sure you a) have set an identifying User-Agent header and b) give us you IP address so we can check our logs for problems.

The other one is more complicated. While we have many products on api.met.no and several other APIs as well (e.g. Frost), most of the data we produce are really only meaningful for scientists, and quite complicated to process for people with only general programming experience. The data are stored as NetCDF files in our THREDDS archive, which is administered by another team. Us API guys don’t really know much about the data residing there and how to use them, so we can only forward such questions to the scientists or the thredds admins.

To direct your attention in the right direction, we have made a thredds landing page which contains a useful starting point in where you can find scientific data and documentation how to use them. This is now linked in the product list on api.met.no:

https://api.met.no/product/THREDDS

If you have questions regarding those data, please don’t use the weatherapi-adm address as this goes directly to the API admins. Instead send an email to thredds@met.no to ensure your questions go to the relevant personnel.

Oceanforecast 2.0

Some of you have already noticed this, but we have quietly launched a new beta version of Oceanforecast which now uses the same FORTI backend and JSON format as the latest Locationforecast and Nowcast. Unlike the others the new version will only offer JSON output, as the MOX XML format is excessively complicated and we can no longer find the spec(!).

Also note that the wave direction has been changed from oceanographic convention (“going to”, similar to currents) to the more common meteorological convention (“coming from”, similar to wind), as shown here:

0.9 XML:
<mox:meanTotalWaveDirection uom="deg">89.7</mox:meanTotalWaveDirection>

2.0 JSON:
"sea_surface_wave_from_direction": 269.7

Please take a look at the beta and start porting your existing applications shortly.

We’ll be polishing up error messages and verifying the data in the 2.0 beta until May 1st, when version 0.9 will be deprecated. At the same time we will switch so that both versions use FORTI as backend since the old Nordic-4km model is going away. This might mean some trivial differences in formatting and some values might be different due to more detailed simulations. You can get a preview of the MOX output coming to 0.9 here; note though that this link will be removed after May 1st:

https://api.met.no/weatherapi/oceanforecast/2.0/mox?lat=60.10&lon=5

Changes to the API

We’ve made some extensions to the available listings, which can be summarized as follows:

  • added labels to JSON (previously only in XML format)
  • added endpoints to JSON and XML where applicable

This means the available lists can now support links with endpoints, like we’ve been using with /complete.json and /classic.xml in Locationforecast. Also we have added extra validation of legal parameter values for all products.

Yr API translation table

As promised for some time, NRK has made a dump of their placenames database so that users of the old Yr API (varsel.xml and forecast.xml) can now easily change from the old Yr API URL to both api.met.no and the correspond pages on the new Yr site. Note that the api.met.no string can be used with both locationforecast, nowcast and other products inside the coverage area.

The links are available for all countries in the world, in both English and Norwegian (bokmål and nynorsk). You can download them as zip archives of CSV files from here:

https://developer.yr.no/doc/guides/getting-started-from-forecast-xml/

MetAlerts archive

By popular requests, we have made available archives of historical alerts going back to January 2019. This means that developers can now easily simulate different alert types in their apps even when no warnings have been issued simply by turning back the clock. To use the archive, just specify the desired year and month with the “period” query parameter. See here for examples:

https://api.met.no/weatherapi/metalerts/1.1/documentation

Also, we have removed the link to the RSS alert feed from the available list, so it now only lists the CAP files which makes more sense as both basically do the same thing.

Probabilityforecast nearing EOL

This is the final product which has not yet been ported to FORTI. Due to changed requirements for the new Yr.no site we have decided to terminate this as a separate product, and instead add some more probabilty data to complete.json in Locationforecast. This is already in testing in-house, and will be launched publicly after Easter, at which point Probabilityforecast will be deprecated. Final EOL date is not yet determined, but sometime this summer is our best guess.

Termination of various products

All good things must come to an end, hopefully to be replaced by something better. Here is an update of forthcoming changes to the weather APIs.

Locationforecast and Nowcast

As mentioned previously, the old versions of Locationforecast (1.9), Nowcast (0.9) and Weathericon (1.1) will terminate on March 1st, 2021. Incredibly, almost 70 % of the current API traffic is still using version 1.9, This means a lot of sites and apps will stop working shortly. We recommend everyone not yet upgraded to start working on this ASAP. Please see our docs for more information:

https://docs.api.met.no/doc/

Yr APIs

The Yr API (forecast,xml and varsel.xml), developed by the Norwegian Broadcasting Corporation NRK is also set to expire this summer, along with the old Yr site (retro.yr.no). All Yr API users should port their applications to use Locationforecast/2.0, noting the following differences:

  • Yr API uses XML, we recommend JSON for Locationforecast
  • Yr API uses placenames, for Locationforecast you must use lat/lon/altitude
  • Locationforecast requires identification in the User-Agent header

For more information on porting from Yr, see the developer site:

https://developer.yr.no/

Also, NRK is working on a one-time dump of their location database, which will give you the correct coordinates and altitude to use with Locationforecast and Nowcast, as well as the URL to the forecast on the new Yr site. This is expected to be ready in a few days. Please follow the mailing list or one of the sites above to get information on where to download it.

ExtremesWWC

As indicated, this product has long been deprecated, pending new functionality on Frost for the same purpose. Unfortunately this has not yet materialized, and now the production chain for ExtremesWWC is no longer supported. As a consequence we will turn it off tomorrow, February 5th 2021. Since this product only covers Norway and has only a handful of users, we hope you will forgive us the short notice.

Important changes to locationforecast and nowcast

After several months in beta, Nowcast 2.0 is finally officially launched. Both this and Locationforecast have now got a definite date for termination of the old versions.

Continuation of XML format

Based on popular feedback we have decided to continue the XML format for Locationforecast and Nowcast into the foreseeable future. For this purpose we have added a /classic XML variant to Nowcast, which is basically identical to the version 0.9 format. This means porting from the old version should be much faster than rewriting to use JSON.

To support the XML format in the future, we will extend it to include the new symbol codes as introduced in Weathericon 2.0. Please use this instead of the numerical codes which are now deprecated. Starting today the symbol elements will look like this:

<symbol id="PartlyCloud" number="3" code="partlycloudy_day"/>

You can then link this to the partlycloudy_day.png icon which can be downloaded in Weathericon 2.0.

Some future additional changes to the XML format are to be expected. Some time within the next six months we will remove the following elements from the XML format; please don’t use them in your clients:

<temperatureProbability unit="probabilitycode" value="0"/>
<windProbability unit="probabilitycode" value="0"/>
<symbolProbability unit="probabilitycode" value="1"/>

Termination of old versions

Now that both products have been finalized, we have decided it is time to say goodbye to the old versions, hailing from 2014 and 2016 respectively. On March 1st, 2021 the following products will no longer be available:

  • Locationforecast 1.9
  • Nowcast 0.9
  • Weathericon 1.1

Please update your systems to use the new version if you haven’t already. If you keep running into 403 Forbidden errors, remember that according to the Terms of Service you must identify yourself with a unique User-Agent HTTP request header with contact information.

New version of Yr.no

As some of you may have noticed, yr.no now points to the new version (formerly the mobile site) and the old layout has been moved to retro.yr.no. The latter site is expected to be turned off in the summer of 2021; at the same time the old Yr API (varsel.xml/forecast.xml) will disappear. By this time users must have converted to use Locationforecast/2.0 for continued service.

The Yr developers at NRK are working on making a downloadable dump of the existings locations database, mapping place names to lat/lon coordinates. We’ll be back with more information on this once we have something to report.

Minor changes to other products

Sigcharts has gotten a new parameter validdate which makes it possible to see which day a plot is valid for. This is now included in the available list.

Turbulence has had some airports removed and Vigra airport added. We have also enabled search by ICAO code instead of location name; this will become the default search method in the future (which means the links in available will use icao instead of location parameters). We recommend updating your clients to use this at your earliest convenience.

New Nowcast and return of Geosatellite

Nowcast 2.0 beta

After the very successfull update to our Locationforecast service, we have now upgraded Nowcast to a similar modern spec. New features include:

  • a new JSON format, very similar to Locationforecast
  • radar precipitation coverage extended from only Norway to include Sweden, Finland and Denmark (currently only northeastern parts)
  • real-time corrected temperature forecasts for the whole MEPS area, see the data model documentation

While some parts are still missing (documentation, JSON Schema, radar data for the rest of Denmark) it is currently useable enough that you can familiarize yourself with the new data format and start upgrading your clients. Currently we do not have any estimate for how long the current 0.9 version will be supported.

Geosatellite images

After having been unavailable for two years due to licencing issues, we have finally resolved the situation. Unlike previously when only a small subset was available, we are now able to offer you the whole range of EUMETSAT image products under the CC BY 4.0 license.

With over 4000 different images at any one time this also means that the complete available list is very large and may result in timeouts. We therefore urge you to filter this on your specific requirements, e.g. area, type and size.

Future works in progress

We are currently working on updating our Oceanforecast service to the new JSON standard. We have also started on a new project for improving our map services (as seen on Yr.no). During our cooperation with the University of Oslo we have gotten valuable feedback from students regarding map integrations on mobile app development, but we are also very interested to hear from web developers what kind of maps you would like to see and which protocols and formats you would like to see supported.

If you have any feedback, please send us an email at weatherapi-adm@met.no with the subject “Map feature requests”. We will later collate this and use for planning new map products which hopefully should be available next year.

Locationforecast 2.0 launch and new Terms of Service

Locationforecast 2.0

For the last couple of years we have been working on a new forecast backend (FORTI) to replace the decade-old, PostgreSQL-based store (WDB). While Locationforecast/1.9 has been running from FORTI for some months now in “compatibility mode”, we have finally finalized the new JSON format which will become standard for all weather forecasts soon.

We are still busy fixing the documentation which is a bit rough in places, but take a look at the JSON format and data model documentation soon.

Version 2.0 comes in three different flavours:

/weatherapi/locationforecast/2.0/complete

This service endpoint will return a response with all available forecast parameters. As we make new forecast parameters available, they will be added to the responses for this service endpoint (we expect to include probability percentile data fairly soon). Also, some geographical areas will have more forecast parameters available than others.

/weatherapi/locationforecast/2.0/compact

This service endpoint will return a response with only a core set of forecast parameters. All forecast parameters in this endpoint will be available for every location. We will add new parameters to this endpoint as well, but much more rarely, and the size will not increase much. If you feel there is some useful parameters missing here, please let us know.

/weatherapi/locationforecast/2.0/classic

This service endpoint exists only for backwards compatibility purposes. The parameters in this endpoint and the XML format provided are identical with /locationforecast/1.9, but with more time intervals. Use this if you have an existing application and want to do minimal work to update it. We don’t expect adding any more parameters (XML tags) to this format in the future.

We have also introduced an improved topography for the entire world, which should give more accurate temperature forecasts in some areas. This topography will be used if you do not specify altitude in your request. Note that the improved topography is still relatively coarse. We therefore recommend that you specify your own altitude in the request if you have access to your own topography data.

With great power comes great responsibility. Regardless if you’re Voltaire, Churchill or Spider-Man, all users must now adhere to the Terms of Service (more below) more stringently. In particular you must pay more attention to the following rules:

  1. You must identify yourself with contact information in the User-Agent request header. Whereas requests without any such header or just a generic string (e.g. “okhttp/3.12.4”) until now has been throttled, new products will return a 403 Forbidden instead.

  2. Truncate all geographical coordinates to max 4 decimals. There is not point asking for forecasts down to nanometer precision, and makes it impossible to cache data. While we previously have truncated the requests in the cache, this had to be done on a per-product basis. For new products we will instead implement this as a site-wide rule, where requests with 5+ decimals will return a 403 Forbidden.

  3. Requests like /weatherapi/locationforecast/2.0/?lat=... have been deprecated. While they will continue working for a limited time, you should always use one of the endpoints above, preferably /compact.

Termination of old products

Locationforecast 2.0 will be officially launched on Wednesday 17 June 2020. At the same time version 1.9 will be deprecated. A final termination date has not been set yet, but we plan on turning it off before xmas.

The already deprecated LocationforecastLTS will terminate on 1 Sept 2020. This gives you almost three months to port your applications to Locationforecast 2.0, if you havent already started.

UVforecast has been deprecated as UV data is now included in Locationforecast 2.0 JSON, and will also be terminated on 17 June.

We also expect to launch a version 2.0 of Nowcast in about a month, using FORTI and the same JSON format as Locationforecast.

Terms of Service

This is mainly a rewrite and clarification of the existing rules. While there is nothing radically new under the sun, the old TOS was confusing and badly organized, so many users missed vital points like User-Agent identification and started asking why they were being throttled. Hopefully this version should be clearer and more detailed.

The new TOS is still in draft state, but if you have any questions please let us know before we finalize it later this month.

Other products

There have been some minor changes to some specialized products:

verticalprofile

The “airquality” profile has been removed

airqualityforecast

New names of counties and municipalities according to the 2020 reform. E.g. “Buskerud/Røyken/Midtbygda/Røyken” has been changed to “Viken/Asker/Midtbygda/Røyken”.

All quiet on the Corona front

Hope you are all doing ok in these difficult times. Here at MET Norway it’s business as usual. Most of us are working from home, but since the API team already did this for half the week there’s not much difference. Here’s a summary of the changes so far this year:

End of Life’d products

The following products have been deprecated and will be removed on 15 May 1 June 17 June 2020:

The following have also been deprecated, probable EOL times as indicated:

New products

Locationforecast 2.0

Version 2.0 is nearing completion, the only major feature missing is documentation. We have decided to split the output into three different endpoints:

  • default (new, plain vanilla JSON)
  • compact (a lite version of JSON with less bloat)
  • classic (good old fashioned XML, to be used responsibly)

Also, the unit for temperature has been changed in JSON from “C” to “celsius” to conform with CF standards.

Weathericon 2.0

We are also happy to launch a new set of corresponding weather icons. Unlike the former numerical codes in 1.9, the 2.0 “symbol_code” variable is based on a mnemonic code and correspond exactly to the icon filename (minus extension). All icons are available in PNG, SVG and PDF formats, and can be downloaded as a gzipped TAR archive:

In addition you can also get a table matching the new and old symbol codes, as well as explanatory texts in English and several variations of Norwegian:

Radar 2.0

Radar have been upgraded to version 2.0, with new parameters, new areas, new sizes and a new projection. GIF animations will still be producted for the time being.

Sigmets 2.0

The new version 2.0 delivers both SIGMETS and AIRMETS, but now also includes wind shear warnings. You can now ask for each type separately, but by default you will get all in the same response. Also the long-standing bug where warnings would be included twice have finally been fixed.

Sigcharts

This was previously part of Upperwindweather, but has now been launched as a separate product.

Other changes

LocationforecastLTS

As mentioned last year we have deprecated the LocationforecastLTS product, which will be retired some time after we have launched the new Locationforecast 2.0. In the mean time, the background model for the Nordic area (MEPS) have been replaced with a new, improved model (CMEPS) which is run every hour.

Unfortunately, some little used parameters are no longer present in the new model, which means that some slight changes have been made to locationforecastlts:

  • the parameter areaMaxWindSpeed was removed
  • there will no longer be available time intervals backward in time

These changes are only be visible for the Nordic area (Norway, Sweden, Denmark and Finland). The rest of the world (which uses the EC model) remains unchanged.

MetAlerts

Some of you may have noticed that about half of the municipalities in Norway got new codes (“kommunenummer”) this year. This was implemented in MetAlerts this March. As you cannot search on municipalites yet (only counties) rhis does not affect the API interface, but if you are extracting kommunenr from the CAP files you should search for both old and new numbers.

New backend

In March we changed the file storage backend for non-dynamic products. This should result in faster response times and greatly reduce the occurence of delivering stale data.

Future plans for 2020

  • Icemap/2.0 (possibly with GeoJSON)
  • Probabilityforecast/2.0, Nowcast/2.0 and Oceanforecast/2.0 in JSON formats