We have been working on a new version 2.0 of MetAlerts, which is expected to replace the current version 1.1 in May. A short summary of the most important changes:

  • New endpoints with a more logical organization
  • A new CAP profile with more data parameters
  • Improved and fully supported location search
  • Improved GeoJSON output with more data

In the new version we have the following endpoints:

/current - only currently valid alerts
/all     - every alert for the last 4 weeks (same as "show=all" in 1.1)
/test    - "fake" alerts for test purposes
/archive - previously issued alerts since 2019

All endpoints support output in RSS, GeoJSON and CAP (XML) formats. Positional search (lat=…&lon=…) works for all endpoints, but is much faster (except for /archive). Some features are still marked as experimental, but will become stable in May on the official launch.

New parameters have been added, including:

  • riskMatrixColor - shows the alert level (yellow/orange/red)
  • incidentName - name of extreme weather for red level alerts (e.g. “Hans”)
  • altitude/ceiling - vertical extent of the alert

Also, the documentation has been vastly improved. Lists of parameters with explanations are now available for both CAP profiles (v1 and v2), and the GeoJSON format now has a proper spec, and is not expected to change until the next version.

We hope users will take a look at the new version and update their systems before version 1.1 is terminated, probably after the summer. More information will be given on the mailing list when the new version is out of beta.

On Monday afternoon (Dec 4th) we had a severe outbreak of planned maintenance, which resulted in disruption of most MET services between 15:00 and 18:00 UTC. To cut a long story short, someone tried to turn off some old DNS servers which were thought not to be in use, which resulted in DHCP overload and most VMs becoming unresponsive. From what we can see, api.met.no was unavailable for about 1 hour and 39 minutes, although delivery varied from product to product.

The admins have identified the problem, and made some adjustments so that similar incidents should not happen again. Next week they will restart all services in order, after which they will make another attempt to turn off the old DNS servers. We don’t expect any downtimes on api.met.no, but if you should experience problems during the following time periods, no action is needed:

  • Tuesday, Dec 12th 2023 between 08:00 and 10:30 UTC
  • Wednesday, Dec 13th 2023 between 08:30-10:30 UTC

In addition they are also changing some network components which are likely to cause some short disruptions in our services. We had about 3 mins downtime on Tuesday (Dec 5th) around 09:30 UTC, although it is difficult to see if it affected the whole API or just our monitoring systems. More maintenance was planned for today, but postponed due to critical weather conditions. The current plan is to upgrade the remaining components on Monday (11th) at 09:00 UTC, when there might be some short interruptions of service. We’re sorry for the inconvenience, but hopefully things will be stable during the xmas period.

As for the rest of the API, there have only been a few minor changes the last six months:

  • A new product IsobaricGRIB is in beta, delivering gridded aviation weather data for parts of Norway (with more to follow)
  • We’re also working on Subseasonal, a new product currently very much in beta delivering 21-day forecasts for the Nordic region
  • Maritime Gribfiles have been updated with a new model, where wave directions have been swapped so that map plotters should show them correctly
  • The weather icons have been moved to GitHub, and the WeatherIcon API service has been terminated

Plans for next year include migrating to new servers during February, hopefully with better performance. We are also busy implementing the OGC API EDR standard, which is likely to be the predominant search interface for all MET services in the future and something you might like to read up on.

While it’s almost been six months since the last update, we have been quite busy and have several important announcements to make before the summer break.

Sunrise 3.0

The venerable Sunrise version 2.0, which is our second most popular product, is being retired. Consisting of 100K lines of Fortran code, it has become impossible to maintain after the main developer left us, and is being replaced with a much smaller Python library which uses GeoJSON as its standard output format instead of XML. You can find the source code on Github:

https://github.com/metno/celestial

The full astro application has a whole host of features which was never used by the API, including a GUI planetarium where you can see planetary orbits in real time. If you are interested in astronomy we urge you to check out this project, wishing it will have a long life outside of MET:

https://github.com/FrankThomasTveter/astro-api

Version 3.0, which has been in beta for many months is expected to be officially launched on 15 June, at which time version 2.0 will be deprecated. We plan to support the old version until 31 August, so you should have plenty of time to port your client application to the new JSON format. (Note also that the new version is much stricter with regards to identification in the User-Agent header.)

https://api.met.no/weatherapi/sunrise/3.0/documentation

New aviation products

On 8 June we will be launching a new version of the Turbulence map product, using Machine Learning and a much higher update rate (every 3 hours for 18 hours ahead, instead of only every 12 hours). The current version (1.1) will be terminated on 10 July 2023.

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

At the same time we will also be launching a new product for offshore helicopter flight maps. This was previously available under the Routemaps product, but now has several more areas and a higher update frequency:

https://api.met.no/weatherapi/offshoremaps/1.0/documentation

Changes to marine products

Due to popular demand, we will soon be deploying a new marine simulation model (WaveWatch) in Gribfiles which follows the meteorological convention of the values indicating where the waves are coming from (instead of going to as in the current version). This means you finally will be able to input the GRIB files into your marine chart plotter and see the waves going the right way! There is no change in the API interface so file downloads will work as before, but check the Changelog to see when the new files are being deployed.

https://api.met.no/weatherapi/gribfiles/1.1/changelog

We have also recently added three new harbours to the Tidalwater product:

  • Bruravik (BRJ)
  • Leirvik (LEH)
  • Sirevåg (SIE)

Removal of the WeatherIcon service

Whereas in older versions we had a functional API, the current version of WeatherIcon is only indended as a one-time download of an archive of icon files. Still, many users are hotlinking the icons and downloading the static file “legend” for every request, causing a lot of unnecessary traffic. As a consequence we will be removing the weather icons from the API, moving it instead to the documentation and only allowing the icons to be downloaded offline. This is planned to terminate on 31 August.

Odds and ends

We are rolling out a new field updated in the Available JSON feed. By comparing this timestamp with your previous downloads you can easily check if there’s any new files to be downloaded without having to make separate requests for each. This feature is gradually being ported to each API product separately.

We are also working on adding solar influx to the global Locationforecast “complete” JSON output. This has been a much requested feature and is of special importance to the solar industry. Delivery has been delayed but expect to see it late this year. You can already find it in the Nordic model NetCDF files as integral_of_surface_downwelling_shortwave_flux_in_air_wrt_time:

https://thredds.met.no/thredds/dodsC/metpplatest/met_forecast_1_0km_nordic_latest.nc.html

Finally, as some of you may have noticed we have redesigned both the API and documentation web pages, with a responsive design that finally works on mobile devices and is WCAG compliant. Please let us know if you have any comments or suggestions as we are always trying to improve the usability of the API.

Have a great summer (or winter, if you’re in that part of the globe)!

MetAlerts

You might notice some changes in the CAP XML format for the warnings. Up to now, all the CAP files have contained only one area per info block, and only one polygon per area element. We have now done some changes in how we produce the CAP files, and some warnings may contain several polygons per area element.

This has always been allowed according to the CAP standard. Since it has not been used in the CAP warnings from MET Norway up to now, we suggest you check that your systems can handle this.

Note that in case of overlapping polygons, the are covered is the total of all the polygons, with no holes. According to the CAP standard:

if multiple <polygon>, <circle> or <geocode> elements are included, the area described by this <area> block is represented by the union of all the included elements.

Textforecast 3.0 beta

We have also been busy making a new version of the Textforecast product, this time in GeoJSON format which many of you have asked for. This means that the coordinates are now included in the JSON file, instead of having to be looked up separately. You can test it here:

https://api.met.no/weatherapi/textforecast/3.0/documentation

Currently only the land and coast forecasts are included in the beta, sea forecasts may follow at a later date.

Other products

A new version of the Turbulence charts are expected to be released in beta on Feb 1 2023. We are also working on a new version of Sunrise, this time in native JSON which many of you have asked for. Stay tuned for more updates.

Routeforecast

Due to changed requirements the horizontal maps will be discontinued on Sept 1st. The only product still available after that date will be the vertical cross sections (vcross).

Since this is a breaking change and lots of stuff in the interface and documentation suddenly becoming redundant, we have decided to make a new version 2.0 with only the vcross images as can be found here:

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

Version 1.0 is now deprecated, and will be removed on 2022-09-01.

From our logs there were hardly anyone using the horizontal maps, but users of the vcross images must now update their URLs to the new format:

https://api.met.no/weatherapi/routeforecast/2.0/?route=....

(Also note that the new version is stricter about identification than before, so if you haven’t already set a User-Agent header with contact information this is a good time to do so.)

MetAlerts

From 1 June 2022 there will be some changes in the CAP warnings in MetAlerts:

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

Some of the area polygons will now be drawn freehand by the meteorologists, and will be in better agreement with the actual weather situation. We will still use geocode “county” and “municipalityId” for the affected administrative areas, but geocodes NUTS3 and iso will no longer be included in the CAP file.

We suggest that users of CAP warnings make some extra checks after 1 June to ensure their systems are running as intended. If you should find any discrepancies, please contact us.

NLAroutes

Next week, the number of available routes will increase from 27 to 86. Also, the time period covered will decrease from 66 hours to 22. This should result in a reduction in the number of files in available from 50 to 7-9 per route. Also, the number of timegraph locations will increase from 55 to 75.

To assist in sorting and filtering images, we will also be adding a new “region” parameter to the available list, e.g.:

https://api.met.no/weatherapi/nlaroutes/1.0/available.json?region=middle

The following regions will be available for both routes and locations:

north, middle, southeast, southwest, coast, old

After a short grace period to enable you to change your systems, the routes and locations in the “old” region will be removed. This is planned to be implemented on 1. July, and will affect the following routes and locations:

Total of 16 routes: AAL-ENRT, ENAN-ENAT, ENAT-ENSS, ENBO-ENVR, ENLX-ENBG, ENLX-ENFL, ENLX-ENKH, ENLX-ENRT, ENLX-ENSX, ENLX-ENTS, ENLX-XZFR, ENMS-ENRA, ENRA-ENBO, ENTC-ENMH, ENTS-ENRT, ENZZ-ENKB

Total of 13 locations: ALVDAL, AURLAND, BLAKSTAD, BYKLE, DALSBYGDA, ELVERUM, GULSVIK, NORDREISA, NOTODDEN, SPYDEBERG, TANA, ULLENSVANG, VEGGLI

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.

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).

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.

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.

Valikko