Are you getting 403 Forbidden errors? Read the FAQ and check your User-Agent header!

This version (0.1) is currently in beta and should not yet be used in production. [Test product for FMI]


FMIroutes - Vertical cross sections for air ambulance flight routes - Finnish test product


This returns various plots for flights used by Norsk Luftambulanse.

The plots are generated from the MEPS forecast model and are updated every 6th hour.


Vertical cross section for flight routes, given by ICAO ids.

This is a 2-dimensional plot, with the flight path on the X-axis and altitude along the Y-axis (from SFC to 15,000ft).


This is a 2-dimensional plot showing weather conditions for the next 66 hours at a particular location. The Y-axis shows altitude (from SFC to 15,000ft) and the X-axis denotes time.


Explanation of what you see in the diagrams:

The wind arrow indicate the direction and strength of the wind in knobs.

The wind direction is indicated as follows: North (360°) by arrows pointing straight, southern (180°) by arrows pointing upwards, west (270°) by arrows pointing to the right and eastern (90°) by arrows pointing to the left.

Isolines for temperature. The lines are "dashed" and blue for temperature below zero, red above zero, while the 0 isoterm is displayed as a black solid line.

The red palette show the relative humidity for 70, 80, 90 and 100%, darkest red shadow indicates the highest humidity

The blue palette show the density of clouds for degrees 0.2, 0.4, 0.6, 0.8 and 1, where 1 means completely cloudy. Darkest color indicates the highest density of clouds.

The gray pallete show the terrain (only in cross section).



Fetch either vcross or timegraph, as specified by type and name parameters


Fetch vertical cross section for a flight route, as specified by route parameter


Fetch timegraph for a location, as specified by location parameter


time (mandatory)

The time you want data for in ISO format (yyyy-mm-ddThh:00:00Z).

For vcross we have each hour after model reference time for the first 24 hours, then six hours interval from 30 to 66 hours.

For timegraph there is (currently) only one possible time value per location. (Yeah, we know this should have been made implicit by default...)

route (mandatory for /vcross)

The route name, on the format "XXXX-YYYY" where XXXX and YYYY are either ICAO codes or ASCIIfied place names.



location (mandatory for /timegraph)

The location name, either an ICAO code or an ASCIIfied place name.



type (mandatory unless using /vcross or /timegraph)

Specify what kind of plot to be returned


timegraph, vcross

name (mandatory unless using /vcross or /timegraph)

ICAO id for routes and name or ICAO of place for timegraph (case insensitive).

Values for timegraph:


Values for routes:


The search is case insensitive.


A list of available data may be retrieved using the 'available' action, using the url


Output can be filtered to include only items matching the following parameters:


As above


As above


As above

Note that it is not possible to filter using the name parameter, despite being present in the URLs in the available listing. This is due to compatibility issues with backend changes. At some point the available output will change to use /route and /timegraph endpoints instead of name and type parameters.

Example requests:

Change log

version 0.1: 2022-09-28

New beta test product for vertical cross sections in Finland