User Manual — Plan, Brief, Fly & Log
New here? The tour runs through the map and its views, an airport, the weather layers, a route, the flight plan and briefing, and a demo flight.
Watch on YouTubeThis is a browser-based weather, airport and flight-planning tool for general-aviation pilots. It puts every significant airport worldwide (over 22,000 of them) on one map and overlays it with a complete suite of aviation weather forecast products — current conditions, multi-day forecasts, fog, icing, turbulence, and convection — so you can answer the questions that matter before a flight: Is the weather flyable? Where? When?
The app is a Progressive Web App: open it in any modern browser, optionally add it to your home screen, and it behaves like a native app (works offline, full-screen on mobile).
What you can do:
The main screen is intentionally clean: a handful of buttons in the four corners, and the map fills the rest. What changes between a desktop and a phone is where the Views button sits and whether the views are listed on the map itself — the rest is the same everywhere.
| Where | Control | What it does |
|---|---|---|
| Top-left | Search field | Find an airport by ICAO code, IATA code, or name; tapped empty, it lists the nearest fields and your favourites (Section 2.2) |
| Top-left stack, top (signed in) | ◉ Track my flight | First tap follows your GPS position on the map (nothing is recorded); recording a flight starts on purpose from the Start flight pill. While recording, the button is the red REC indicator (Section 20) |
| Top-left stack | ↗ Routes | The route library and editor — draw or type a route, keep the ones you fly often, and turn one into a flight plan. The tile carries a coloured rule while a route is on the map (Section 16) |
| Top-left stack | Flight planner (folded-map icon) | The multi-leg flight plan editor with fuel / wind / TOC·TOD planning, briefings and ICAO filing (Section 17). Sign in required — see Section 3 |
| Top-left stack, bottom (touch devices) | + / − | Zoom one whole level per press — a button needs one finger where a pinch needs two, which is what turbulence takes away. On by default on a touchscreen, off with a mouse; Settings › Display › Zoom buttons on the map changes it |
| Top-right | Basemap — its code, e.g. VIS, ENR, STD | Opens the basemap picker. The button always shows which chart is under you (Section 10.1) |
| Top-right on a desktop; bottom-right (a red disc) on a phone or tablet | Views (stacked-sheets icon) | The one door to everything drawn on the map. A view is a named picture — VFR, IFR, METAR/TAF, VFR conditions, Icing conditions, Weather radar and thirty-eight more — that one tap puts on the map (Section 9). With a mouse the views on your bar are a column of named buttons under this button, ending in More…, and the button opens the Views window; on a touchscreen it opens the list of views first, and Edit… in its header opens the window. The Views window has two tabs: Views (the list, and which of them sit on the map) and Layers (every overlay the app draws, one switch each — Section 10). The button tints while anything is on; press and hold it to see the map without the weather for as long as you hold (Section 9.1) |
| Top-right, under the stack (only when a layer is blank) | Red no-data pills | A time-aware layer that has nothing to draw for the time on the time bar, or needs a closer zoom, gets a red pill naming it and the window it does cover. No pill means every layer on the map has data (Section 8) |
| Top-right, bottom of the stack (only while flying) | ICAO code, e.g. EFTP | The charts for the field that matters right now — departure until you are airborne, destination after (Section 20.9) |
| Bottom-left | Layer strip (the rail) | One chip for every layer on the map, starting with Airports. Tap a chip for its colour key and settings; its × turns it off. When a route or flight plan is drawn, its chip names it: a colour swatch, the two ends or the plan’s name, and a × that takes it off the map without unloading it (Section 16.3). The round button under the strip’s left end hides the strip and brings it back (Section 11.6b) |
| Bottom-left corner | 👤 Menu (your initial once signed in) | The app’s one menu, and the account with it: About, this User manual, Try a demo flight, Print ›, Flight plans, Logbooks, Flown track, Weight & Balance, Settings, Offline packs and Sign in / Log out. Offline packs appears once you are signed in. Feedback is a button inside About (Section 3.1) |
| Bottom centre (always) | Time bar | ‹ the time › — step through the past 12 h and the 7-day forecast; tap the time for a picker (Section 8) |
| Bottom centre, left of the time (when needed) | Altitude chip | Picks the level for layers that vary with height: Auto, Low / Mid / High, or a flight level (Section 8.1) |
| Bottom-right | Weather: Europe chip (while a forecast layer is on) | Which forecast data the weather layers read — Europe or Global; tap to choose (Section 11) |
| Bottom-right | “Updated N min ago” and © | Age of the map’s weather colours — green under 5 min, amber, then red after 15 — hidden below zoom 5 where no airport markers are drawn. From amber on, a Refresh button beside it refetches the observations (Section 5.2). The © opens Data sources (Section 27) |
There are no separate layer menus. Earlier versions had separate menu buttons for charts, forecasts, observations and the Nordic low-level forecast; all of them are now rows of the one Layers tab, grouped by the question you are asking rather than by who supplies the data (Section 10).
Smaller airports become visible as you zoom in — large airports are visible globally, medium ones from zoom 5, small ones from zoom 7.
Click the search bar at the top-left and type at least two characters. Matches appear as a dropdown. You can search by:
EFHKHELHelsinkiPick a result and the map flies to the airport and opens its popup automatically.
Quick list (no typing). Tap the empty search box and a shortlist drops down before you type anything:
Tap a row to jump straight to that airport and open its popup — and unlike a typed search, the zoom level stays as you had it (only the map centre moves). Tapping the search box again closes the list.
Every feature is listed in the menu whether or not you are signed in — press one that needs an account and a card says so and offers to sign you in. A feature nobody can see is a feature nobody can ask for; the Logbooks row hid itself from signed-out visitors until build 2912, which meant the app kept pilot and aircraft logbooks and never said so.
The map, the weather layers and views, METAR / TAF, the airgram, NOTAMs, SWC, radar, routes (Section 16) and the demo flight work without an account. Sign in to unlock the Flight Planner (Section 17) — including making a flight plan from a route — Weight & Balance, the Flown track tool (Section 21), Settings, Track my flight (Section 20), the Logbooks and Offline packs, and every AI feature: the Ask AI summaries and NOTAM explanations, and the AI briefings. Signing in also lets you save views of your own and have your flight plans, routes, aircraft, views and logbooks follow you across devices and browsers. Signed out, any of these opens the sign-in card instead.
One round button in the bottom-left corner of the map holds the account and everything else the app keeps off the chart. It shows a person icon when nobody is signed in and your initial, on blue, once you are. Click it and the menu opens upward:
Thin rules split the list into four groups, and the menu opens upward out of the corner, so the bottom is the end nearest your thumb: reading and trying (About, this User manual and Try a demo flight, Section 20.10) at the top; then printing and your flights (Print, which opens a page of print targets, then Flight plans, Logbooks, Flown track — the plan, the record and the track, in the order you meet them — and Weight & Balance closing the group, because it is a calculator you step out to rather than another view of the same flight); then what you set up (Settings, Offline packs); and the account row at the very bottom. About is the topmost entry in both states, and opens the version, contact and disclaimer dialog (Section 4.6) — which is also where Send feedback lives, beside the contact address and the build number a useful report needs.
Every row is one action; Print is the single exception, because it is one action with several targets.
In flight (while the tracking HUD is up) the button stays where it is; like every other map control it grows for a thumb and is drawn as an outline over the chart (Section 20.2.1).
Either way the result is the same account — first time signing in with that email creates it, subsequent sign-ins log you back into the existing one. Your session lasts a year on each browser and is renewed as you use the app, so you only need to sign in again if you log out, clear your cookies, or leave that browser unused for more than about six months.
When you’re signed in, the following travels with your account so it’s there on every device you use:
The sync runs quietly in the background — on every reload, when the tab regains focus, and periodically while you work. There is no “Save” button to press.
Picking Log out from the menu does four things in sequence:
When you sign back in (here or on another device) everything is fetched fresh from the server, so nothing is lost — only hidden between sessions.
Open Settings from the bottom-left menu (Section 3.1) — the Settings row, with the gear icon. The panel is a master–detail: a home list of pages, each opening with a ‹ back arrow in its header. The pages, in order: Captain, Aircraft, Display, Reminders, Views, Track my flight, Autorouter and NOTAM calendar. Views is only a signpost — views are managed on the map (Section 9), and its Open Views button takes you there. Close with the × button in the header or by clicking outside the panel; Escape steps back one page, and closes the panel from the home list.
Settings is for signed-in users; signed out, the row asks you to sign in. Most of what you set here is written to your account and reaches your other browsers on their next sync; the few choices kept per device are listed in Section 3.4. (The About dialog is separate: it lives in the bottom-left menu for everyone, not inside Settings — Section 4.6.)
Display holds only what belongs to no single layer: the map’s own buttons, the route labels, which forecast data the weather layers read and how strongly they paint, and the printed briefing. Everything a layer draws is set on that layer (Section 4.1.1); the page ends with a note saying so and an Open Views › Layers link.
Changing anything here takes effect on the live map at once.
Each layer’s own options — its labels, drawing style and filters — open from the ⌄ at the end of its row in the Views window’s Layers tab (Section 10), or from its chip in the layer strip at the bottom-left of the map (Section 11.6b). They used to be listed in Settings as well; they are not any more, because they are part of a view and are saved and restored with it (Section 9.4). For reference, what each layer offers:
Airports
Terminal Airspaces
Special Use Airspaces
ACC Sectors — sector labels (on by default): each sector’s name and control frequency along the boundaries it shares with its neighbours. Off leaves the dashed outlines, which still answer a click. Below zoom 7 labels and outlines stay hidden either way.
Traffic (ADS-B) — show callsigns (on by default).
Weather layers
340 over 180). The badge turns red when the top is higher than your aircraft can climb — the service ceiling of the flight on the map (the plan’s or the saved route’s aircraft), or your default aircraft when no flight is on the map — and a ▾ after the base means there is separate cloud under it.The Aircraft page has three sub-sections.
Defaults. One field: Default aircraft — which aircraft to preselect on a new flight plan. The list shows the registration in parentheses when one is set (e.g. Diamond DA62 (OH-KAO)) so identical types are easy to tell apart.
Reserve and taxi are not here — they belong to the aeroplane (Section 4.3). That is where the presets have always kept them (a DA62 holds 45 minutes back, a trainer 30) and where the Flight Planner, the briefing and a route’s fuel option all read them from. Flight rules are set on the flight or the route that states them, not preselected here.
Presets. A dropdown lists the built-in aircraft presets — Generic VFR trainer, Generic GA tourer, Cessna 172, Cessna 182, Piper PA-28 Cherokee, Diamond DA40 NG, DA42 Twin Star, DA62 and Cirrus SR22; one you have changed carries (modified) after its name. Pick one and you get two buttons:
Custom aircraft. Aircraft you’ve added yourself (e.g. OH-DAA, your own tail). Each row shows the name, with the registration in parentheses, and has Edit and Delete buttons. A + New aircraft row at the top of the list opens a blank editor.
The editor is one form in titled groups. The performance groups drive the planning math; the identity and filing groups feed the flight plan, the per-leg Handling flight-announcement email (Section 17.7) and autorouter. Fuel figures are shown and typed in the aircraft’s own Fuel unit; whatever you pick, they are stored in US gallons.
| Field | What it drives |
|---|---|
| Aircraft | |
| Registration | Tail number (e.g. OH-ABC). Used in the flight-announcement email subject + A/C line, and to link the aircraft to your autorouter fleet: the line under the field says whether it matched, and the field’s ⤓ button imports the aircraft’s data from autorouter (Section 4.4). |
| Name | Display label in the Flight Planner aircraft picker and in saved flight plans. Also used as the “Type” line in the flight-announcement email. |
| Aircraft type (ICAO) | The ICAO type designator (e.g. DA62), with suggestions as you type. |
| Year, MTOW (kg) | Optional. MTOW is shown in the flight-announcement email. |
| Filing (ICAO) | |
| Wake category, Equipment, Transponder, PBN, Aircraft colour & markings, ICAO Other info (field 18) | The aircraft items of an ICAO flight plan, used when you file (Section 17.12). The ≣ buttons open code pickers for Equipment, Transponder and PBN, and a builder for field 18. Imported from autorouter when connected. |
| Fuel | |
| Fuel type | AVGAS, MOGAS or Jet-A1. Pre-set per preset (the Diamond diesels default to Jet-A1, the piston fleet to AVGAS); the autorouter import sets it from the aircraft’s own data (its fuel-type field, the W&B tanks’ fuel grade, or a known turbine / diesel ICAO type) and says which, or tells you to check it when nothing decides. It is the density behind every kg / lbs figure (Jet-A1 0.804, AVGAS 0.72, MOGAS 0.74 kg/l) — a turbine left on AVGAS weighs its fuel about 10 % light — and labels the fuel line in the flight-announcement email when refuelling is detected. |
| Fuel unit | US gallons, litres, kilograms or pounds — the unit every fuel figure for this aircraft is shown in: planner, briefing and log. Turbine aircraft usually plan in kg or lbs. |
| Fuel capacity | Default starting fuel for the first leg of a new flight plan, and what “full tanks” means on a route. |
| Final reserve (min) | Fuel that must still be on board at landing. Every fuel figure is planned on top of it: the Flight Planner’s fuel required, the briefing’s fuel block, a route’s req (Section 16.2.1) and the ⛽ mark on a route line. |
| Taxi (min) | Start-up and taxi, costed at the cruise burn, and added to what a flight requires. |
| Equipment | |
| Class | SEP / MEP (single- / multi-engine piston), SET / MET (turbine) or TMG (touring motor glider). Logs single- vs multi-engine time in the logbook, and drives the over-water life-jacket threshold in the briefing Heads-up (Section 17.8): single-engine uses gliding range, multi-engine the 50 NM / 30 min rule. The presets are set correctly (DA62 / DA42 = MEP); set it on a custom aircraft. |
| Gear type | Fixed or retractable, tricycle or taildragger, amphibian, floats or skis. Used by the ForeFlight logbook export (landing currency). |
| Anti-ice (TKS) | Enables TKS fluid logging in the post-flight summary. |
| Multi-pilot | Certified / operated multi-pilot: logs multi-pilot time instead of single-pilot SE / ME. |
| Cruise · Climb · Descent | |
| Cruise TAS (kt), fuel burn | Ground speed (with wind), ETE and fuel used per cruise segment. |
| Rate of climb (fpm), climb TAS (kt), climb fuel burn | TOC distance, time, ground speed (with climb-leg wind) and fuel. |
| Rate of descent (fpm), descent fuel burn | TOD distance, time and fuel. |
Below the form, Weight & Balance · beta holds the aircraft’s loading data and envelope (Section 17.13): a custom aircraft can start one blank or import it from autorouter; a preset shows its built-in template read-only.
Changing a preset’s reserve or taxi is saved as an override for that preset, like every other field here, and takes effect immediately — an open route bar re-reads its aeroplane and its req figure moves as you save. A flight plan already built keeps its own copy of the profile (Section 17.2); Reset to aircraft on its aircraft block pulls the new figures in.
Save writes the aircraft (or override) to your account and refreshes any open Flight Planner picker in real time, so you don’t need to close and reopen the planner to use the new entry. Cancel discards changes and returns to the Aircraft page.
Connecting your autorouter.aero account lets the Flight Planner find and validate IFR routes and file flight plans under your account — routing and filing always run against your own autorouter login, never a shared one.
If the session expires the screen prompts you to reconnect. The connection is per-account and follows you across devices when you sign in.
Subscribe your phone’s calendar (iPhone Calendar, Google Calendar, or any app that reads a webcal / ICS feed) to a private, always-updating calendar of NOTAMs for your ★ favourite airfields (Section 6.7). A runway or aerodrome closure then shows up as a calendar entry, spanning its active period — so “is the field open this weekend?” is answered at a glance, without opening the app. It behaves just like the flag-day / name-day calendars you can subscribe to online: it appears as its own calendar you can switch on or off.
It is a signed-in feature (the feed is tied to your account and its synced favourites). Open Settings → NOTAM calendar and tap Create my NOTAM calendar.
The About dialog shows the current build number and date, and checks for an update on the spot: Up to date. with a Check again button, or Update available — build N with Update now; Details shows what the app’s installer is doing, for when an update will not take. Below that sit the Show what’s new on update switch and a View what’s new button, then the author’s copyright and contact email and the app’s disclaimer. It opens from the About entry at the top of the bottom-left menu (Section 3.1) — the same place whether or not you are signed in. (About is not inside Settings.) The version line is handy when reporting an issue, so it’s clear which build you were running.
It also holds the three buttons for when something is wrong or worth saying:
Neither Reload nor Repair touches your flight plans, logbook or settings.
Your details as pilot-in-command, pre-filled into every flight plan you file: Name (ICAO item 19 C/), Email (kept on your profile, not filed) and Phone (filed as RMK/TEL… in item 18, digits only — a “+” is dropped). With autorouter connected (Section 4.4) a From autorouter account card below shows the name, email and phone on your autorouter profile, with a Copy button per field and Copy all to Captain fields.
How the in-flight view (Section 20) behaves. These are per device — the cockpit tablet and your phone can differ — and changes apply at once, mid-flight included. The rows come in three groups:
| Setting | Default | What it does |
|---|---|---|
| Alerts | ||
| Airspace warning | 5 min | Heads-up this long (Off / 3 / 5 / 10 min) before the next Terminal or ACC area on your track. |
| Warning chime | Off | One tone when the warning appears and again at the boundary. |
| Lock-screen alert | Off | Also an OS notification for the airspace warning, for when the screen is off or another app is up. |
| Flight complete suggestion | On | Offer Finish & log shortly after landing and parking are detected. |
| Display | ||
| Look ahead | On | Keep the aeroplane a third of the way back instead of dead centre, so two thirds of the map is where you are going. |
| Predicted path | 1 + 2 + 5 min | A dead-reckoned line off the nose with a mark at each time ahead (Off / 1 min / 1 + 2 / 1 + 2 + 5). It follows what the aircraft is doing, not the plan. |
| Bigger controls in flight | On | Grow the map buttons for a thumb and draw them as outlines while the HUD is open (Section 20.2.1). |
| Airspace strip | On | Current area and next boundary above the HUD (Section 20.2.3). Off, an active warning still pops in briefly. |
| Special use airspace line | On | A third strip row for live R / D / P and reserved areas: the one you are in, will enter, or will pass nearest. |
| Clock | UTC | ETA and PLOG times in UTC or this device’s local time. |
| Map shows only the tracked leg | On | Hide the flight plan’s other legs while a leg is being flown. |
| Re-centre automatically | 20 s | After you pan away, follow the aircraft again once this long (Off / 10 / 20 / 30 / 60 s) has passed without a gesture. |
| Course bar scale | 0.5 nm | Nautical miles per dot on the NAV cell’s deviation bar (0.25 / 0.5 / 1.0). |
| Recording | ||
| Keep screen awake | On | Hold the screen on while a flight is live. Off here turns it off everywhere. |
| Keep screen awake while following | On | Hold it in follow mode too, before ▶ Start flight. |
| Ask fuel at waypoint mark | On | Open the fuel sheet after Mark reached (now). Automatic crossings never ask. |
| Name the likely leg on start | On | The Start flight button names the nearest planned leg while following. |
| GPS accuracy limit | 250 m | Fixes worse than this (Off / 100 / 250 / 500 m / 1 km) are shown on the map but kept out of the recorded track — a phone that loses GPS falls back to cell positioning, which records as a zigzag. |
| Type | Default colour | Visible from |
|---|---|---|
| Large airport | Red | Zoom ≥ 5 |
| Medium airport | Blue | Zoom ≥ 6 |
| Small airport | Green | Zoom ≥ 7 |
An Airports switch heads the Airports & airspace group in the Views window’s Layers tab. It turns all three tiers on or off together — on by default, remembered across reloads — a fast way to declutter to just airspace and terrain, or bring the fields back (see §10.10).
What a marker shows is your choice. Open the Airports row with its chevron in the Layers tab, or tap the Airports chip in the rail along the bottom of the map; after the four filters (Section 5.4) come two display settings:
These two travel with a view (Section 9): the built-in Wind and Wind gusts views switch the markers to wind chips, METAR/TAF and VFR conditions to category + wind, and a view that says nothing about them puts back the classic marker (code on, flight category). Change them and save the view to keep your choice with it. The filters never travel with a view.
On the Aeronautical basemaps, when you zoom in close to a field the plain marker gives way to a windsock drawn from the latest METAR wind; the spot stays clickable for the airport popup. See §10.10.
With Weather shown as on Flight category (the default) or Category + wind, whenever a current METAR is available the dot is replaced by a larger category badge with a single letter inside:
| Letter | Category | Colour | Ceiling | Visibility |
|---|---|---|---|---|
| V | VFR | Green | > 3,000 ft | AND > 8 km |
| M | MVFR | Blue | 1,000–3,000 ft | OR 5–8 km |
| B | BIR | Orange | 600–999 ft | OR 1.5–5 km |
| I | IFR | Red | 500–599 ft | (ceiling-only trigger) |
| L | LIFR | Purple | < 500 ft | OR < 1.5 km |
The worst-case rule applies: whichever value is in the lower category wins.
Solid vs dashed. A solid badge is an observed or official reading; a dashed outline is a model or nearest-station estimate. So an official METAR (at Now) and an official TAF (forecast) both render solid, while an unofficial AWS/nearest-station category and an Open-Meteo model category render dashed.
Categories through time. Scrub the time bar forward and the badges stay on, showing a forecast category instead of going blank: the field’s own TAF where it issues one (solid), or the Open-Meteo model everywhere else (dashed). At Now, fields with no METAR and no unofficial observation also fall back to an Open-Meteo model estimate (dashed), so no field is left uncoloured. This works whether or not the Spot forecasts layer (Section 11.1) or any other overlay is switched on.
Map weather refreshes itself: a background pull runs about every five minutes, plus an immediate refresh when you pan or zoom to new airports and when you return to the tab after it has been hidden for a couple of minutes. The bottom-right corner shows an “Updated N min ago” indicator, colour-coded green (under 5 min) → amber (under 15 min) → red (older), so the age of the marker colours is always visible. Once the label turns amber, a Refresh button appears beside it that refetches the map’s observations and nothing else. For a full restart — every weather product and data file fetched fresh — use Reload app under Menu › About.
Zoomed right out, none of this runs. Below zoom 5 the map draws no airport markers at all (large fields appear at zoom 5, medium at 6, small at 7), so there is nothing to colour: the app stops pulling observations and the “Updated N min ago” indicator hides rather than reporting an age for markers that are not on screen. Zoom back in and both resume immediately.
Small fields without an official METAR can still get a category colour from a nearby unofficial observation (an on-field automatic weather station, or the nearest station within range) — see Section 6.6. Those markers are flagged as estimates so they are not mistaken for an official reading.
If the METAR contains a fog/mist code, a small coloured tag appears under the airport identifier:
| Tag | METAR code | Meaning | Colour |
|---|---|---|---|
BR | BR | Mist (visibility 1–5 km) | Light grey |
FG | FG | Fog (visibility < 1 km) | Mid grey |
FZFG | FZFG | Freezing fog (T ≤ 0 °C) | Purple |
The filters are options on the Airports layer: open them from the layer’s row in the Views window’s Layers tab (⌄), or from the Airports chip in the active-layer rail, where they sit under the airport-type key. Those two places are the only ones: the layers’ own settings were listed a third time in Settings › Display until build 2397, where they were one control in two places and the map’s key could already be saying something else.
Until build 2326 they were a panel of their own, opened by a funnel button in the top-left map stack. Five of the nine filters were dropped — type, ATC service, country, max elevation and max runway length — and the four that stayed are a switch, a switch and two short pickers, which is exactly what a layer setting is. The panel and its button went with the other five.
All four combine (an airport must pass every active one to stay on the map). Favourite airports are exempt — a starred grass strip stays visible however you filter.
Fuel and PPR come from the cached AIPs: only as current as the last AIP refresh, silent about opening hours and whether the pump works, and the absence of a PPR note is not permission.
The count is the guard. A line under the airport-type key reads All 3 346 airports shown, and turns amber the moment a filter is hiding anything: 2 864 of 3 346 shown — 482 filtered out. That matters because filter choices are remembered between sessions and, when you are signed in (Section 3), sync to your account — so a field can be missing on the tablet because of something you set on the phone three weeks ago. The old funnel button lit up when its panel was open, not when a filter was on, which is the hole this closes. If you had any of the five retired filters saved, they were read once and discarded on first load rather than left hiding fields with nothing left to clear them.
Click or tap any airport marker. The popup opens centred on the screen and the map stays exactly where it was — popups never pan the map. Long popups become scrollable inside their card rather than pushing past the viewport.
The header is two rows that read like a quick-look briefing:
Below the header a row of tabs gives access to deeper information: Weather · Info · NOTAMs · Charts · AIP · Airgram · Webcams. The popup opens on Weather. Every tab is always offered except Webcams, which appears only for fields in and around Finland.
| Tab | What's inside |
|---|---|
| Weather | The full weather briefing (Section 6.3): METAR, TAF, the model’s reading of now and its forecast table, LLF (Nordic) and, for Norway and Latvia, the text area forecast — plus an AI summary on request. |
| Info | The aerodrome itself, in reading order (Section 6.2.1): a snapshot of which ATS service this is and whether it is open right now, the channel to dial, then the NOTAMs in force now (tap one to read it in full), the field briefing, the reference rows (radios, fuel, contact, services, customs, winter) and the runway table with the wind on it. |
| NOTAMs | Active NOTAMs, each laid out as a card with three lines of their own. The heading is what the NOTAM is about, read from its Q-code (Locator · unserviceable, Danger area · activated). Straight under it is the message — item E) on its own, in the publisher’s own words and capitals, never rewritten — so three NOTAMs with the same heading are told apart at a glance (L PSJ 352KHZ U/S, L IJ 382KHZ U/S…). A small closing line gives when, with the date in bold: until 26 Sep 23:59Z · 7 d 16 h left for one in force (the time left only while it is under a month), from 1 Oct 00:00Z → 14 Oct · starts in 11 d for one not yet started, est. for an estimated end and permanent for PERM — followed by the NOTAM number, the one it replaces and the vertical limits (F/G). Original opens the text exactly as published, start date included. Timetables are read out as a table. An hours NOTAM (tower, AFIS, aerodrome, fuel) is mostly a list of dates and times; the card keeps its lead-in (VAASA TWR/APP OPR HR:), says where now falls (Open now · until 11:20Z, Not available now · from 14:00Z), and lists the hours day by day from today — three days, the rest folded under N more days, past days left out. A day the NOTAM calls CLSD reads closed. What the NOTAM says after the timetable (a phone number, ADDN OPR HR O/R) follows it. A schedule in item D) is shown the same way, under a line saying whether the NOTAM is active right now or when it is next active. A timetable with any part the app cannot read — a typing error in the published times, say — is not tabulated at all but shown as published; like any long message it is cut to four lines, and Show all opens the rest. A SNOWTAM is a table: one row per runway with its runway condition code (RWYCC, one value when all three thirds agree, e.g. 5 good), coverage, depth and surface, and when it was observed. The order is the same in every NOTAM list of the app — this tab, the Info tab, the leg Brief and the printed briefing: first what is in force or starts within 24 hours, then what starts later (soonest first, dimmed), and AIP-change trigger NOTAMs always last; inside each, red before orange before green — the order follows the edge colour, so a red NOTAM never sits below an orange one — then by what the NOTAM concerns (aerodrome, runway, ILS, navaids, procedures…). A tower, AFIS or aerodrome hours NOTAM is at least orange: whether the service is there decides whether you can use the field. How many are not yet in force is counted in the heading. Anything the app cannot take apart completely is shown as published. Each NOTAM has its own "Ask AI" button for a plain-language explanation with severity flag and flight-relevance flag. The list scrolls inside its card so long NOTAM blocks don't push the popup past the viewport. The leg Brief tab and the printed briefing use the same cards, read against the aerodrome’s own departure or arrival time instead of now (until 22 Sep 11:00Z · ends 2 d after departure); a timetable starts from the flight day, and the printed page shows that day’s hours only. |
| Charts | Airport, departure, arrival, approach and VFR charts from AIP when published, plus community charts for GA fields. Tapping one opens it in the in-app plate viewer, which draws your position on charts that carry georeferencing (Section 6.8). A badge marks charts already available offline. |
| AIP | A plain-language GA summary generated from the official AIP AD 2 entry: fuel, access / PPR, hours, arrival aids, ground handling, regulations and practicalities, with the amendment it was read from (an AIRAC number or an AMDT) and a view AIP link to the source page. Where there is no AD 2 data for the field the tab says so. Below the summary, Departure and Arrival flight-procedure briefings (from AD 2.22) appear when the AIP documents them — noise-abatement, preferred runways, SID/STAR overview and VFR routes. AI-generated; always verify against the official AIP. |
| Airgram | Vertical cross-section at the airport's coordinates over the next 24 h (Section 15 for the route variant). |
| Webcams | Finland only. The nearest live road weather cameras around the field — an "eyeball the sky" aid for VFR go/no-go, so you can see actual cloud, visibility and light before you commit. Each station lists its distance (NM) and image age; click a thumbnail for the full-size image. Source: Fintraffic / Digitraffic weathercams (CC BY 4.0), updated roughly every 10 minutes. Advisory only — not an official weather source, and the nearest camera may still be several miles from the runway. The tab is hidden for airports outside Finland. |
The tab is ordered by how soon you need the thing: what is true now, then what is different today, then the reference data that does not change. Below the top it is built from the same boxed sections as the Weather tab — a card with a coloured rule along its top and a heavy small-caps heading, the section's count riding at the right end (7 channels, 3 runways) — so the two tabs read as one application and a section can be skipped without being read. The stripe colour is what tells them apart when scrolling: blue for radios, amber for the ground, slate for the runways.
H24 means H24. "hours by NOTAM" in amber means the AIP publishes no schedule for this aerodrome at all — that is what Finland prints for 19 of its 24 staffed fields, and it is a statement, not a gap. Once the hours NOTAM has been read the chip becomes "open until 15:00Z" or "closed · opens 05:00Z", and the dot turns green or red with it.RWY · Size · Surface · Declared · Aids. The designator carries its threshold elevation underneath, so the difference between two ends is the runway's slope — published nowhere else on the panel. Size is length and width in one cell (2700 × 45 m, AIP figures where published, PCN beside the surface). Declared is the AD 2.13 take-off run and landing distance: it reads full when they are the whole pavement, and names the number in amber when they are not (LDA 3000 m on a 3060 m runway). Aids are the PAPI / approach-light / ILS fit for each end.
The Weather tab stacks clearly separated boxed sections, in this order: Summary (only once you ask for it), METAR, TAF, Model — Now, Model — Forecast, LLF (Nordic) and the text Area forecast (Norway and Latvia), followed by the Active weather layers block when forecast layers are on. Each section has a coloured top stripe identifying its data source.
The tab runs to well over a screenful, so it opens with a jump bar pinned to the top — METAR · TAF · Model — Now · Model — Forecast · LLF · Area fcst — listing the sections that actually loaded for this field. Press one to jump to it; the current section stays highlighted as you scroll by hand. At the right end of the same row sits Ask AI (signed in — the AI features need an account, Section 3): the Summary section is not drawn until you press it, at which point it opens at the top of the tab and writes the plain-language briefing into it. Section headings pin under the bar as you pass through them, so the block you are reading is always named on screen. The bar only appears when there is more than one section to move between.
| Section | What's inside |
|---|---|
| Summary (lavender stripe) | Hidden until you press Ask AI in the jump bar. Press to generate a short plain-language briefing built from METAR, TAF, hourly Open-Meteo and (Nordic only) LLF. Two paragraphs: current/next few hours, then how the day evolves. UTC times only. |
| METAR (blue stripe) | Age timestamp on the right (e.g. "8min ago"). One row of decoded chips in a fixed slot order — flight-category pill, hazard badges, then Ceil and Vis each prefixed with a coloured dot indicating their individual VFR / MVFR / IFR / LIFR category, then present weather / T-Td / QNH. (Wind is not a chip — see below.) The Model — Now block further down uses the same slots in the same order, so the two rows can be read straight down the column. Ceiling and visibility are drawn as the key chips (they are what produced the pill); temperature and QNH step back; a note about data the station does not report is muted so it never reads as a measurement.
|
| TAF (blue stripe) | Age timestamp on the right, and a TAF / 1H toggle. A visual timeline with one column per forecast period (or per hour), each with a flight-category badge — see Reading the forecast grid below for the full row-by-row description, which is shared with the model's table further down. The raw TAF is folded behind the header's RAW button and appears on the line under the heading; every popup starts folded. |
| Model — Now (green stripe) and Model — Forecast | The model's reading of now, and — as a section of its own — its TAF-style forecast table. They are split because they answer different questions: one heading used to cover both time domains, which is why the tab read as one section more than it had. They are named for the model and the horizon rather than for the vendor: a section called plain "Forecast" sitting two boxes below the TAF claimed a word that belongs to the official forecast just as much. The small source line in each heading names the model actually read — ICON-EU under Weather: Europe inside its box, best match (Open-Meteo’s blend) elsewhere — and the model run (run 15Z; Section 11 explains the run 15Z · map 12Z form). Both are rendered in the same style as the real METAR/TAF above, and both are always a model estimate, not an observation.
|
| Low Level Forecast (LLF) (magenta stripe) | Nordic-only. A compact table with one column per 2-hour forecast window (e.g. 12-14Z, 14-16Z, …); the current window is marked NOW. Two category rows: G (area, always present) and L (local, only when local conditions differ — matching cells show "—"). Data rows below: VIS and CLD use FMI's bucket convention — "blw 1.5/3/5/8 km" or "8 km+" for visibility, "blw 500/1000/1500/2000 ft" or "2000+ ft" for ceiling, with local values prefixed L when they differ; then 0°C (freezing level band), TOP (cloud tops), ICE (intensity + FL band), TURB (FMI mturb endpoint, same format as ICE), and CB/TCU (e.g. "CB EMBD ISOL" or "TCU"). All band-type rows are filtered by point-in-polygon to the airport's exact coordinates, so distant zones in the same FMI area don't leak in. Plain-English overview text underneath. Empty future windows are hidden so the table stays compact. Section disappears entirely outside Nordic LLF coverage. |
| Area forecast (text) | Norway and Latvia only. The low-level area forecast as the telex it is published as, unreflowed in a monospaced block — a GAMET’s WIND/T table is read down the levels, so rewrapping it to the popup width would destroy it. For a Latvian field this is FALV51, the GAMET for the whole Riga FIR (LVGMC). For a Norwegian field it is one of MET Norway’s four IGA bulletins, picked by where the field is: FBNO45 north of 65 N, FBNO44 between 62 and 65 N, FBNO42 south of 62 N and west of 7°30′E, FBNO41 otherwise. The header line above the text gives the bulletin id, its issue time and who publishes it.Read the bulletin’s own area line. The four Norwegian IGAs describe coast, fjord and lowland areas and do not tile the country — the inland mountains between 61 and 62 N east of 7°30′ are in none of them. Rather than invent coverage, such a field is given the nearest bulletin and the text is printed with its own IGA PROG … area line intact, so you can see whether you are inside it.Why these two states: they are the two the graphical Nordic LLF does not cover (Section 13), so for them this is the low-level forecast rather than a supplement to one. Nothing appears for any other country, and nothing appears in the click-anywhere weather popup — this is a field briefing item, not a map layer. The leg briefing carries it too. Its Enroute block ends with one collapsed Area forecast row per bulletin the leg touches — gathered from the aerodromes on the leg (departure, any airport stop, destination) and the alternate, so a Norwegian destination with a Norwegian alternate 300 NM north gets both, and they are different bulletins. Open the row for the full text. A leg that merely overflies Norway without landing there gets none: the bulletin is chosen by the aerodrome’s ICAO code, and an overflight has no code to read. The printed briefing carries it as well, on the Area weather page beside the SWC and the SIGMETs — which is where it belongs, since a GAMET is an area product rather than an aerodrome one. There it is printed open and in full, and once per bulletin rather than once per airport: three Latvian fields on one flight share FALV51 word for word, so it appears once with all three named above it. |
The METAR and TAF section headers each carry a small ↻ refresh button. Clicking it bypasses every cache layer and pulls the freshest report straight from the source — useful when an observation is overdue and you want to check for an update without reloading the page. The TAF button appears only when the field has a TAF. The popup also refreshes its own METAR on a timer while it is open, and the age timestamp turns amber, then red, as the reading gets older, so a stale value is obvious at a glance.
The TAF table and the Model — Forecast table are drawn by the same code, so everything below applies to both. They sit one above the other in this tab on purpose: same grammar, so your eye does not have to switch conventions halfway down. Time runs left to right, one column per hour or per period; the row labels stay pinned on the left while the columns scroll sideways.
| Row | What it shows |
|---|---|
| day header | Weekday and date spanning that day’s columns, with alternating background bands so a day is one visual block. The label stays stuck to the left edge as you scroll, so you always know which day you are looking at even in the middle of a 24-column day. Weekday and date only — no category badge, because the category row sits directly underneath and already says it per column. |
utc / local | The time. Always suffixed — 09Z for UTC, 12L for local — because a bare hour in an aviation table is how you brief the wrong time. The Open-Meteo table’s Z / LT switch chooses between them; local means the clock at that location, not on your device, so planning into another country reads correctly. Columns that fall at night (sun below −6°, the same EASA civil-twilight line the logbook uses) get a dark strip here. Past columns are dimmed and a blue rule marks the first future column. |
| category | The flight category as a coloured letter — V / M / B / I / L. Tap or click it to open the decoded line for that column underneath the table (period, category, wind, visibility, ceiling, weather, hazards). Tapping is the point: a tablet has no hover, so this is how you read the detail in the aircraft. |
tmp | The transient category — the TEMPO or PROB30/40 condition inside that period. Shown in orange, the same orange used for every transient value elsewhere in the grid. |
| weather symbol | A weather glyph per column. Intensity is drawn into the picture, not written beside it: light rain gets fewer, thinner drops, heavy rain gets more and fatter ones. Clear and partly-cloudy have night variants, so a moon means exactly what it looks like. In the Open-Meteo table the temperature sits directly under the glyph. |
| dashed rule | Model table only — a vertical dashed line down one column marks where the model the table started on (ICON-EU, about five days) ends and Open-Meteo’s global blend takes over for the rest of the week. The heading’s source line gives the hour (best match from Sun 13 16Z), the column’s tooltip repeats it, and a note under the table says it in words. Columns past the rule are a coarser model: read them as a trend, not as the same forecast. |
mm | Open-Meteo only — precipitation in millimetres, deepening in blue with the amount. When the model expects rain but no measurable amount, it shows the probability instead, in grey. The probability is not the model’s own field but an ensemble product, and which one depends on the model: ICON-EU-EPS (the share of its 40 members forecasting at least 0.1 mm/h) under Weather: Europe, and Open-Meteo’s best-match ensemble (0.25°, 30 members) under Global, past the ICON-EU seam, and outside ICON-EU’s box. The two can differ a lot for the same hour, so the note under the table names the product in use, and so does every percentage’s tooltip and the chance figure in the popup’s sentences. A TAF forecasts phenomena and never amounts, so this row does not exist there. |
cig / vis | Ceiling and visibility, each with a thin underline in its own category colour. That underline is the point of the row: it tells you at a glance which of the two is driving the category — a red line under cig and a green one under vis means the cloud is the problem, not the visibility. A TEMPO value appears alongside in orange. |
wind | Direction, as an arrow only. The arrow points where the wind is blowing to — a 270° wind points right — matching Windy and the map’s animated wind particles. (Note this is the opposite of a wind barb, whose shaft points into the wind; the map draws proper barbs elsewhere and both are correct for their own symbol.) The exact degrees are in the tooltip and the tap card. A TEMPO direction appears as a second, thinner orange arrow. |
kt / gst | Wind speed and gusts, each cell filled from a continuous colour ramp — white and cyan through green, yellow and orange to red and magenta. A gradient rather than fixed bands so a row of numbers creeping from 8 to 22 kt reads as a slope, and you can see it turn yellow without reading a figure. The gust row is blank where there is no gust. When a period carries a TEMPO wind the cell splits into two bars, each in its own colour, so a gust crossing into the red is visible without ranking numbers yourself. The scale is in the legend under the table. |
qnh, t | Pressure (hourly Open-Meteo views) and, in the Days view, the day’s high/low temperature. Temperature appears exactly once per table — under the weather symbol, or in its own row, never both. |
warn | The hazards, all in one row at the bottom — see the table below. |
warn rowEverything that is a hazard rather than a measurement collapses into the last row. A blank cell means the forecast flags nothing; nothing here is inferred beyond what the source actually states. Colour groups the family — convective, freezing, wind, obscuration — but the code is always spelled out, so the row survives a black-and-white print.
| Code | Meaning | From TAF | From Open-Meteo |
|---|---|---|---|
| ⚡ | Thunderstorm | TS group | weather code 95/96/99 |
CB | Cumulonimbus | cloud type | CAPE / lifted-index model |
TCU | Towering cumulus | cloud type | CAPE / lifted-index model |
GR | Hail | GR / GS | weather code 96/99 |
SQ | Squall | SQ | — |
FC | Funnel cloud / tornado | FC | — |
FZ | Freezing precipitation | FZRA / FZDZ | weather code 56/57/66/67 |
FZFG | Freezing fog | FZFG | weather code 48 |
ICE | Airframe icing risk | Section 6.4 test | — |
WS | Low-level wind shear | base vs TEMPO wind | — |
FG | Fog | FG | weather code 45 |
DS | Dust / sand storm | DS / SS | — |
VA | Volcanic ash | VA | — |
ICE and WS are TAF-only, and that is not an oversight. Open-Meteo has no wind-shear product at all here, and its icing verdict needs pressure-level humidity the forecast strip does not fetch. An empty warn cell in the model table is therefore not a promise of smooth, ice-free air — it is the absence of a source, which is exactly why it stays empty rather than showing a guess. For icing and turbulence aloft, use the dedicated layers (Section 11) and the LLF section above.
A transient (TEMPO / PROB) hazard is drawn hollow — same code, visibly not the prevailing condition.
An "Active weather layers" verdict block appears at the bottom of this tab when any forecast layer is on (Winds, Icing, Turbulence, etc.) — same content as in Section 7.
Offline. The whole tab — including the two Model sections and the icing, turbulence and convection verdicts that read the model’s pressure levels — works with no connection at every aerodrome in the countries you have selected, and at the airports of your packed flights. The stored forecast runs 48 hours rather than seven days, so offline the table is two days long; the Days view still covers three. Everything else in the tab reads exactly as it does online. See Section 24.
An icing badge appears whenever any of these is true:
FZRA, FZDZ, FZFG, …)This is a deliberately permissive trigger — icing certificates require margin, and the cost of a false negative is far higher than a false positive.
The METAR section header has a Last 3h button. The table it opens carries its own heading, "Observed — last 3 h". Open it to reveal a compact trend of the last three hours of observations — up to six columns at the routine half-hourly cadence, oldest on the left, the most recent on the right with its time in bold blue. It reads like a simplified forecast grid — a coloured flight-category letter per column, then rows for WND, VIS, CIG, WX (weather and CB/TCU, only when some column has any), QNH and T/Td — but it is a plainer table than the forecast grids above it: no weather glyphs, no wind colour ramp, no warn row, because it is showing what was observed rather than what is forecast. Hover any column to see its raw METAR line.
The point is to show how the weather is actually evolving rather than just the single current reading — is the ceiling lifting or lowering, is visibility improving, is the wind backing or building? Read against the TAF section directly below it, the trend lets you sanity-check the forecast against what the field has really been doing: a TAF calling for improvement carries more confidence when the last three hours already show it, and a deteriorating trend against a steady TAF is a flag to watch.
The trend is offered both for fields with an official METAR and for fields whose unofficial observation we archive ourselves (Section 6.6). The panel loads on first open and is kept for the rest of the popup session.
Many smaller fields publish no official ICAO METAR. Where a usable observation exists nearby, the app surfaces it anyway — clearly labelled so it is never mistaken for the real thing. A line above the decoded weather always says where the reading comes from.
| What you may see | What it is |
|---|---|
ICAO (unofficial — not an ICAO METAR) | An observation published under the field’s own code by one of the unofficial networks (the Finnish Flyk / FMI stations and others) for a field with no internationally distributed METAR (e.g. EFLA). |
ICAO ATIS INFO x (unofficial — not an ICAO METAR) | An automatic ATIS from an on-field system (e.g. EFNU’s CloudATIS, with a real ceilometer). INFO x is the ATIS information letter (Alpha, Bravo, …, Uniform, …) — it steps forward each time the broadcast is updated, exactly like a controlled-field ATIS, so the letter tells you which revision you are reading. |
ICAO (unofficial — on-field AWS code) | A co-located automatic weather station that sits essentially on the field — its own station code differs from the ICAO, but it is genuinely this field’s weather. |
No METAR at ICAO — nearest station code · N nm | An estimate from the nearest reporting station when nothing sits on the field itself. The popup shows it under this banner, and the marker hover card as est · nearest code N nm; it colours the marker (dashed) but is flagged so you treat it as a neighbour’s reading, not the field’s own. |
The distance rule behind this: a station within about 1.5 nm is treated as the field’s own weather; a station out to roughly 27 nm (~50 km) is offered only as a labelled nearest-station estimate; beyond that nothing is shown. This is why two neighbouring grass strips can differ — one has an automatic station close enough to qualify and the other’s closest station falls just outside the range.
These unofficial fields also support the Last-3h trend (Section 6.5), archived from our own snapshots. As with every product here, treat unofficial readings as situational awareness and verify against official sources before flight.
No METAR / TAF at all — the Open-Meteo model estimate. When a field has neither an official report nor a usable nearby station, the METAR section reads “No METAR — no station within 27 nm.” and the TAF section “No TAF available.” followed by the pointer “See Open-Meteo model estimate for TAF below.” The Model — Now and Model — Forecast sections (Section 6.3) then supply a fully model-derived reading and forecast in the same visual grammar as the real reports. This gives useful situational awareness for fields the observation network does not cover — but it is a numerical-model estimate (the same data behind the forecast layers), never measured weather, so it is labelled accordingly throughout.
Mark the airports you check often as favourites and reach them — with their weather at a glance — in one tap. Saving favourites requires you to be signed in (Section 3), after which they sync to your account and follow you across every device.
Removing a favourite is done from the airport’s popup (tap the star off), so the list always reflects the set you actually use.
Tapping a chart in the Charts tab opens it inside the app, full screen, instead of handing it to a new browser tab. On many charts your own position is drawn on the plate — which is what turns an aerodrome chart into a taxi aid at an unfamiliar field, day or night.
The Charts tab and the viewer’s own chart picker are the same list, so what you learn in one works in the other:
The Charts tab is one of them; the other three save you having to find the field on the map first:
Which chart opens first depends on what the aerodrome is for this flight: the aerodrome chart for a departure — the one with the taxiways — and the visual approach chart, then the instrument one, for a destination or alternate. Whatever it picks, the title and the ‹ › arrows reach every other chart at that field.
Several states publish their AD 2 charts as georeferenced PDFs: the projection is inside the file, so the app can place you on the page without altering the chart in any way. Charts that carry it are marked with a ⌖ in the chart list — worth a glance before you open one.
| Country | Charts that can show your position |
|---|---|
| Finland | Most of them — 346 of 424 aerodrome, approach, arrival and visual charts. The rest are text documents (omnidirectional departures, FAS data blocks, waypoint lists) rather than maps. |
| Latvia | Nearly all. |
| Estonia | Part of the AD 2 set. The separate VFR guide pages carry none. |
| Denmark | A minority of AD 2 charts, plus six visual approach charts from the VFR Flight Guide (Roskilde, Bornholm, Sønderborg, Vamdrup, Vojens and Kastrup’s glider areas). |
| Sweden, Norway | None. Their charts open in the viewer and work normally — there is simply no position on them. |
| Lithuania | No charts of its own in the app. Oro navigacija’s charts are not reachable to it, so Lithuanian plates come only from a connected autorouter account (§4.4) — and those are not georeferenced. Everything else about Lithuania — airspace, restricted areas, obstacles, frequencies, aerodrome data — comes from its own AIP. |
| lentopaikat.fi | None. The community charts for Finnish GA fields are drawn by hand, not exported from a mapping system. They still open in the viewer. |
A chart without georeferencing says “Not georeferenced” in the corner and shows no aircraft symbol. Nothing is guessed.
The aircraft symbol points along your track and is drawn at the same size whatever the zoom, so it stays readable. The pale blue circle around it is your GPS accuracy, drawn to the chart’s own scale. When you are outside the area a chart covers — an approach plate covers perhaps 40 NM — a note in the corner of the chart says “Position is not on this chart” rather than pinning the symbol to an edge.
Charts already in a flight pack open with no connection, position and all: the pack carries the chart PDFs, the georeferencing and the viewer itself (see Section 24). A chart opened for the first time without coverage, and not in a pack, cannot be fetched.
Click an empty spot on the map (anywhere that is not an airport) to open the weather panel for that point. On a touchscreen a plain tap does nothing — in a moving aircraft it is nearly always a finger brushing the map — so press and hold for about half a second instead; a ring appears under your finger, and the first few rejected taps show the hint “Press and hold the map for weather & airspace”.
When one of the layers you have on has something at the point — a SIGMET, a warning, special-use or terminal airspace, an ACC sector, an LLF area, GPS interference or (with the AMA grid on) an AMA square — the same gesture opens the “What’s here?” popup instead: a strip of chips (SIGMET, Warning, SUA, Airspaces, Services, LLF, GPS, AMA) with Weather always last. The first chip opens by default; Weather holds everything described below.
Like every popup it opens centred on the screen without moving the map, and a small blue ring marks the point it describes. It becomes scrollable inside the card when content (especially after generating an AI summary) is taller than the viewport.
The header mirrors the airport popup layout but with location data instead of airport identifiers.
61.690°, 27.270°) followed by the terrain elevation at that grid cell (m and ft, Copernicus DEM via Open-Meteo). Useful context for minimum safe altitude when clicking on terrain.Below the header the popup stacks boxed sections in this order, with the same jump bar across the top as the airport popup (here: Model — Now · Model — Forecast · LLF, plus Ask AI at the right end, for signed-in pilots). Each section has a coloured top stripe identifying its data source. The order is deliberately the model first because it covers the whole planet, then LLF only when the click point is inside a Nordic forecast area — and outside that coverage neither the section nor its button appears at all.
| Section | What's inside |
|---|---|
| Summary (lavender stripe) | Hidden until you press Ask AI at the right end of the jump bar. Generates a short plain-language briefing for the clicked location from Open-Meteo current+hourly data and (when applicable) LLF. UTC times only, no part-of-day words. |
| Model — Now and Model — Forecast (green stripe) | Identical to the airport popup’s pair (Section 6.3): the model's reading of now (flight-category badge, hazard badges, chips for ceiling, visibility, present weather, temperature/dewpoint and QNH, and the cloud + wind pictures — the rose without runways, since there is no aerodrome here) followed by its TAF-style forecast table with the 1h / 3h / TAF / Days toggle (identical to the airport popup — see Section 6.3 for the full description). In short: 1h = hourly, 3h = synoptic hours (00/03/…/21Z), TAF = variable-length periods with TEMPO/PROB just like a real TAF, Days = seven days from tomorrow split into AM/PM. All span seven days; hourly views also carry the recent past and scroll. A Z / LT switch puts the columns on UTC or on the clock at that location. For the row-by-row reading — the category underline that shows whether cloud or visibility is the limiting factor, the wind colour ramp, the warn hazard codes — see Reading the forecast grid. Everything here is a clearly-labelled model estimate, not an observation. |
| Low Level Forecast (LLF) (magenta stripe) | Nordic-only — only shown when the click point falls inside an FMI LLF area. Same compact table as the airport popup (Section 6.3): 2-hour columns, NOW marker, G/L category rows, then VIS / CLD / 0°C / TOP / ICE / TURB / CB/TCU rows with FMI's "blw" bucket notation. Point-in-polygon filtered to the click location. Plain-English overview underneath. Empty future windows are hidden. |
When forecast layers are switched on, a section labelled Active weather layers appears at the bottom of the popup. Each active layer contributes a one-line verdict for the click point. The rows come from the Layers-tab rows Spot forecasts (symbol condition and temperature at that point and time), Winds aloft (Winds), Cloud cover (Clouds), Cloud tops, Precipitation, Fog, Icing, Freezing level, Turbulence, Convective activity, MSL pressure, Flight category (the category badge, ceiling, visibility and the method), Visibility, Ceiling, Temperatures (Temperature) and SIGMETs & warnings — in each case only the model source counts (Model; ICON for Convective activity, CAT for Turbulence). The LLF, MET NO and FMI sources add no row. Verdicts respect the selected altitude and the current time-bar offset, so the popup tracks both inputs in real time.
Rows that read the map itself. Precipitation, Flight category, Visibility, Ceiling, Freezing level, Temperatures, Cloud tops (model) and Convective take their value from the very cell the layer painted — same model, hour and derivation — so the row and the colour under the pointer cannot disagree; until a layer has loaded, the row is computed from the popup’s own point forecast and says point fetch. Visibility and Ceiling stay silent while Flight category is on, whose row already carries both. Cloud tops gives the topmost deck’s top and base (top FL100, base FL050), flags more cloud below, and turns red with above your aircraft (FL200) when the top is higher than the service ceiling of the flight on the map (its plan’s or saved route’s aircraft; your default aircraft when no flight is on the map, build 2851). Temperatures names its level (the surface on Total, a pressure level otherwise); Freezing level is in feet AMSL, at the surface when the whole column is below 0 °C (build 2849). Precipitation reads the rate and probability the raster was drawn from at the bar’s time, the shower floor and the lift beside a heavy core included (build 2850).
SIGMETs & warnings lists every SIGMET and FMI warning whose area contains the point — the SIGMET's hazard and levels (MTW (SEV) FL040–FL160), the warning's event with its severity as a coloured dot — and says whether each is in force (until 14:00Z) or starts later today (from 21:00Z), the same two states the map draws solid and dashed. Up to three of each; with none, the row says so. (The row had stopped appearing when warnings joined the SIGMET layer, and warnings were never in it; build 2848 restored the one and added the other.)
This section is your fastest cross-check that the painted overlay matches the underlying data at a specific click point.
The time bar sits at the bottom of the map and is always available — the airport markers are themselves time-aware (their category becomes a TAF / Open-Meteo forecast when you scrub forward, Section 5.2), so you can sweep through "what does Friday morning look like over the Baltic?" in seconds without turning any overlay on. It drives all time-aware overlays and the marker forecast at once.
| Control | Action |
|---|---|
| ‹ | One step back — an hour for forecasts, the previous radar frame when only observation layers are on |
| the time (centre) | The time the map shows, in Zulu, over its day (now, Today, Tomorrow, Wed 23 Jul…). Tap it for a scrollable list of every selectable hour grouped by day, with Jump to now at the top |
| × on the time | Shown while the map is away from now: back to real time in one tap |
| › | One step forward — an hour, or the next radar frame (the nowcast beyond now) |
The range is −12 h ↔ +7 days while a forecast layer is on, and −2 h ↔ +7 days with none — the markers alone forecast that far. When only observation layers are on (radar, satellite), the steps and the picker follow the real frames the provider published, each marked obs or nowcast, instead of whole hours (Section 12.3). A layer that has nothing for the chosen time says so with a red pill under the top-right buttons rather than quietly drawing nothing. Turning the last time-aware layer off snaps the time back to now, so the next layer you open doesn't inherit a stale offset.
Some forecast layers (Cloud cover, Winds aloft, Temperatures, Icing, Turbulence) are inherently three-dimensional, and Traffic can be filtered by level. Precipitation, Convective activity, MSL pressure and Fog are surface or whole-column quantities and do not follow the level. A shared altitude chip appears at the bottom of the map, beside the time, whenever you switch on a layer that needs one; it names the level in use (Auto, Low, FL050…) and a tap opens the menu of bands and flight levels. Picking a level applies it to every active 3-D layer at once, which keeps cross-comparisons honest.
Low / Mid / High are non-overlapping bands — the same shear layer or icing cell appears in exactly one of them, never two. The flight levels form a ladder, highest on top. Hover any button for a tooltip explaining what it represents and which pressure level it reads.
| Key | Altitude band | Pressure levels |
|---|---|---|
| Auto | Each layer’s default reading with no level picked — total cloud cover, worst case of icing / turbulence through the column, surface wind and temperature | 1000 – 200 hPa |
| Low | SFC – FL100 | 1000 – 700 hPa |
| Mid | FL100 – FL180 | 700 – 500 hPa |
| High | FL180 – FL390 | 500 – 200 hPa |
| FL025 | ~2,500 ft | 925 hPa |
| FL050 | ~5,000 ft | 850 hPa |
| FL100 | ~10,000 ft | 700 hPa |
| FL140 | ~14,000 ft | 600 hPa |
| FL180 | ~18,000 ft | 500 hPa |
| FL240 | ~24,000 ft | 400 hPa |
| FL300 | ~30,000 ft | 300 hPa |
Every level in the table is one the models actually publish: 1000, 950, 925, 900, 850, 800, 700, 600, 500, 400, 300, 250 and 200 hPa on ICON-EU, and the same set without 950 / 900 / 800 on the global blend. Open-Meteo documents a finer 25 hPa grid, but 775, 750, 650, 550, 450, 350, 275 and 225 hPa come back empty from every model, so nothing here reads them and no request asks for them.
Sliding through the levels. A tap on a flight level picks it and closes the menu. Press on the FL ladder and slide up or down instead, and the level follows your finger stop by stop with the menu left open — one gesture walks the cloud field up and down the column. The mouse wheel over the ladder, and ↑ / ↓ on the altitude chip, step one level at a time. Clouds redraws at every level you pass, because every level is already on the device; Winds, Temperature, Icing and Turbulence redraw once you stop (on release, or a moment after the last step), so a slide does not start a download for each level it crosses. Clouds switch from one level to the next at once, with no fade: only published levels are ever drawn, and the chip always names the one on the map.
The chip hides itself when no altitude-aware layer is on and resets to Auto automatically so the next altitude-aware layer you open starts in its default state. Switching views keeps the level: it is your setting for the session, like the forecast time, and no view changes it (see Section 9).
A view is a named set of map layers — “VFR conditions”, “Icing conditions”, “Weather now” — that you apply in one tap. Forty-four ship with the app and are free to everyone; signed in, you can save your own and they follow you to every device. A view of your own can also be printed as a briefing in one click without changing the map you are looking at (§ 9.5).
A view sets every layer at once. What it names goes on, what it does not name goes off — so a view replaces the picture rather than adding to it. That is what makes one tap enough, and it is why every apply can be undone (see below). Airports are never switched off by a view.
The Views button (the stacked-sheets icon) is the only layer button on the map — there is no separate globe, weather, radar or LLF menu any more. What it does depends on the device (§ 9.3):
You can override this with Views on the map at the top of the Views window’s Views tab: Auto (the above), Always show, or Button only.
At the end of the list:
(A timed Undo sat here until build 2347. It answered a real problem — applying a set of layers used to be a one-way door — that views themselves removed: the view you came from is one tap away in the same column, and unsaved edits are what Save and Revert are for, without a clock.)
There is no Clear button, because tapping the view you are already in does it: the second tap empties the map. (It had one until build 2349, next to a labelled Clear all in the Views window doing the same job — three doors to one room.)
A view you pick that is not on the bar joins it while you are in it, in its own place in the order — the column always says which view you are in. The applied view stays highlighted on the bar — and is named in the Views window's dropdown — so the map always says which picture you are in. The moment you switch a layer by hand, the highlight fades and the view is marked edited: it is no longer exactly that view, and the app will not pretend otherwise. Tapping the highlighted view again puts it back the way it ships; tapping it once more clears the map.
And the two words that answer it are right there. Under the pill that says edited, on the map itself, sit Save and Revert: keep the change as part of the view, or put the view back. Until build 2360 the state was announced on the map while the remedy lived inside the Views window behind a tab — you had to know where to go to act on something the map had just told you.
Seeing the map under the weather. A view like Icing conditions lays a filled raster, the 0 °C lines and the official forecast areas over the chart, and under real weather what is beneath them can disappear. Two things answer that, and both appear only while a filled forecast layer is on:
Forty-four of them, and thirteen are on the map out of the box — the two charts, what is happening now and what is coming, and the questions asked before most flights. The rest are one tap away in the view list, where they cost nothing until the day they are the question.
One view answers one question, and its name says which. A view that combines layers says so in its name (Icing conditions is the model, the 0 °C lines and the official low-level forecast together); a view of a single layer is named after that layer, with the source in brackets where there is more than one — Icing is the model, Icing (LLF) the official forecast, Cloud tops (satellite) the observation. The model and the official forecast are separate views on purpose: you compare them by switching, not by stacking them until neither can be read.
A combined view carries at most one filled raster, and anything on top of it is lines, symbols or the airport markers. That is the whole reason none of them is unreadable. Every setting a view names is deliberate — a view states what it needs rather than inheriting whatever the previous one left behind, which is why the same setting appears in several views with different values.
The On the bar column says which ones start on the map; the eye in the Views window (§ 9.3) changes that. Under each description are the layers the view turns on, and the basemap if it switches one.
| View | On the bar | What it shows |
|---|---|---|
| VFR | yes | Visual chart with the VFR working set Terminal Airspaces · Special Use Airspaces · ACC Sectors · VFR Points · Obstacles · Power lines · base: Aeronautical (VFR) |
| IFR | yes | Enroute chart with airways, navaids and minimum altitudes Terminal Airspaces · Special Use Airspaces · ACC Sectors · AMA Grid · IFR Points · Airways · Navaids · base: Aeronautical (enroute) |
| METAR/TAF | yes | METAR at the airports — category and wind; scrub forward for the TAF no layers · base: Standard (map) |
| Airspaces | yes | Controlled and reserved airspace, and what is active in it Terminal Airspaces · Special Use Airspaces |
| Weather now | yes | What is happening now — cloud from the satellite with the radar rain and the strikes of the last hour over it Sat. Image (FMI) · Radar (FMI) · Lightning strikes (FMI) |
| Weather forecast | yes | Isobars and the H / L centres with the wind as particles, the forecast rain and CB / TCU, and the model’s spot forecasts spread across the view MSL Pressure · Precipitation · Convective activity · Weather Map · Winds · base: Bright (map) |
| VFR conditions | yes | Forecast flight category, the official low-level forecast and the METAR / TAF — check the METAR and LLF when the model says VFR Ceiling · LLF Vis/Ceiling |
| Cloud cover | yes | Cloud cover in okta steps at the chosen level, with the METAR category Clouds |
| Wind | yes | Wind speed as a field with barbs at the chosen level, and the METAR wind Winds · base: Standard (map) |
| Convective conditions | yes | Forecast CB and TCU with the official low-level forecast; the particles show where cells are heading — set the level to Mid Convective activity · Winds · LLF CB/TCU |
| Icing conditions | yes | Model icing at the chosen level with its FL bands and the 0 °C lines, and the official low-level icing forecast Icing · Freezing level · LLF Icing |
| Turbulent conditions | yes | Model turbulence at the chosen level with its FL bands, the official low-level forecast, and the wind as coloured particles Turbulence · Winds · LLF Turbulence |
| Nordic SWC | yes | The Nordic SIGWX sheet laid on the map Nordic SWC · base: Bright (map) |
| CB cells | — | CB / TCU cells detected by the Finnish radars — Finland only CB/TCU (FMI) |
| CB/TCU (LLF) | — | CB and TCU from the official low-level forecast (about 10 h ahead) LLF CB/TCU |
| CB/TCU (model) | — | Forecast CB and TCU, labelled Convective activity |
| Cloud base | — | Broken cloud shaded by the height of the lowest deck Clouds |
| Cloud ceiling | — | Forecast ceiling height, with the METAR category at the airports Ceiling (height) |
| Cloud tops (model) | — | Forecast top of the topmost deck Cloud tops (model) |
| Cloud tops (satellite) | — | Observed cloud-top height Cloud tops (FMI) |
| Clouds (satellite) | — | The satellite image, cloud only, with the METAR category Sat. Image (FMI) |
| Euro WAFC | — | WAFC London’s Europe SIGWX chart — follows the time bar through four charts a day Euro WAFC · base: Bright (map) |
| Flight category | — | Forecast flight category, with the METAR category at the airports Ceiling |
| Fog | — | Forecast fog, labelled with the visibility Fog |
| Freezing level | — | Height of 0 °C as colour bands with labelled contour lines Freezing level |
| GPS Interference | — | Where GNSS is being jammed, and the airspace it falls in Terminal Airspaces · GPS Interference · base: Standard (map) |
| Icing | — | Forecast icing at the chosen level Icing |
| Icing (LLF) | — | Icing from the official low-level forecast (about 10 h ahead) LLF Icing |
| In flight | — | The map to fly with — chart, airspace, traffic, no forecast rasters Terminal Airspaces · Traffic |
| Lightning | — | Lightning strikes of the last hour over the satellite flash density — strikes are Nordic, density all of Europe Lightning (FMI) · Lightning strikes (FMI) |
| MSL Pressure | — | Pressure as colour with the isobars and the H / L centres over it MSL Pressure · base: Standard (map) |
| Precipitation | — | Forecast precipitation Precipitation |
| Spot forecasts | — | The model’s temperature and weather symbol, spread evenly across the view Weather Map · base: Standard (map) |
| Storm cells | — | Observed cells over Finland — echo tops, radar CB detection and lightning strikes Storm tops (FMI) · CB/TCU (FMI) · Lightning strikes (FMI) |
| Storm tops | — | Observed echo-top heights — the Finnish radars, so Finland only Storm tops (FMI) |
| Temperature | — | Temperature at the chosen level Temperatures |
| Terrain & MEA | — | Minimum altitudes: the AMA grid and the obstacles under it AMA Grid · Obstacles |
| Turbulence | — | Forecast clear-air turbulence at the chosen level Turbulence |
| Turbulence (LLF) | — | Turbulence from the official low-level forecast (about 10 h ahead) LLF Turbulence |
| Visibility | — | Forecast visibility Visibility |
| Visibility & ceiling (LLF) | — | Visibility and cloud from the official low-level forecast (about 10 h ahead) LLF Vis/Ceiling |
| Warnings | — | SIGMETs and the national warnings, with the METAR category SIGMETs/Warnings |
| Weather radar | — | Observed rain with the strikes of the last hour; forward in time the radar becomes the nowcast Radar (FMI) · Lightning strikes (FMI) |
| Wind gusts | — | Gusts as a coloured field with the METAR wind — a surface product; aloft it shows the steady wind Winds · base: Standard (map) |
Most views leave the basemap alone — they are questions you ask on top of whichever chart you are flying. The exceptions: VFR and IFR switch to their charts, Nordic SWC, Euro WAFC and Weather forecast to Bright (map) (the sheet is dense black ink, and the forecast carries five layers; both need a base that stays out from under them), and the plain-map views — METAR/TAF, Wind, Wind gusts, MSL Pressure, Spot forecasts and GPS Interference — to Standard (map), where a field reads without a chart under it.
Three things a view never sets. The altitude is yours for the session, so switching views keeps the level you are on — a view saved at FL050 used to reopen there every time. The weather opacity is yours per device (§ 9.1). And the airport filters (runway length, fuel, PPR) are a standing personal choice, not part of any picture.
Where the views live depends on the pointer, not the pixels. With a mouse and a screen at least 820 × 600, the views are a column on the map itself. Anywhere a finger is doing the pointing — a phone and a tablet, in both orientations — they are behind the button, and the button is a red disc in the bottom-right corner. An iPad in landscape used to get half of each (the phone's corner button and the desktop's permanent column at the same time), because the test was the screen's size alone; it is the pointer that decides now. A permanent column costs a strip of map, and on a tablet in the aircraft the map is the instrument.
The panel behind the button is a list of names, nothing more (build 2425). Each view is one 44 px row with its name on it — no description underneath. Two lines a view turned the list into two-thirds of a phone screen, so the one you wanted was a scroll and a stretch away from the thumb that opened the panel; the descriptions are something you read once while learning what a view is, and they are still on every row of the Views window itself.
The views on the bar come first, in your order; everything else follows A–Z (build 2831). Nothing is folded away — the fold went in build 2827, because the More… pill had already promised every view. Alphabetical order is what makes forty-four findable: you look up a name rather than remembering where in a list it sits. Edit… sits in the panel’s header rather than at the bottom of the list — it is the one thing here nobody reaches for in flight, and the bottom of the list is the easiest place on the screen to reach.
The window is called Views (it was Layers until build 2399) and it has two tabs: Views, the list of pictures, and Layers, the switches a picture is made of. The name follows the subject rather than the tool — you come here to pick a view, and the layers are how you tune the one you are in. Its Clear layers button says which thing it empties, for the same reason: Clear all, in a window called Views, read like a button that deletes them.
Open the Views window from the map’s stacked-sheets button (on a phone or tablet, Edit… in the views list) — it lands on its Views tab, the first of the two, because the view is what you pick and the layers are what you go on to tune. It lists every view — the forty-four built-ins and your own, the ones on the bar first and the rest A–Z — and each row carries:
This all used to live in Settings. It is here because which views the map offers is a map tool, not an app preference — and because a second place to change one thing is a second place for the two to disagree. Settings › Views is now one card that says so and takes you here. The arrangement syncs across your devices.
A view you save with Save as new… does go on the map — naming a view is as deliberate as it gets, and one you saved and then could not find would be the worse outcome. Anything else that arrives in the list (a view synced from another device, say) stays off the bar until you switch its eye on, so the column cannot grow behind your back.
The Views window is the view editor. There is nothing to open and no separate editing mode: apply a view, change the layers and their settings the way you always would, and the panel's top row offers what to do about it. That row sits above the two tabs and shows on both, so Save and Revert are in reach whether you are looking at the view list or at the switches.
The altitude is not part of a view. A view neither saves the level nor sets it, and changing the level does not mark the view edited — there is nothing to Save or Revert. Switching from Clouds to Icing at FL050 opens Icing at FL050. From build 2420 until 2826 the level was saved with a view and restored by it, so a view reopened at whatever level it happened to be saved at; a level stored with a view in that time is now ignored.
A view carries the layers' settings too, not just which layers are on: the choices behind each row's chevron — terminal-airspace style and detail, SUA labels and the inactive-area filter, ACC labels, the winds mode, the symbol switches, Traffic. “VFR” with the terminal areas drawn as chart bands and “VFR” with them filled are two different pictures, and you should only have to say which one you meant once. Only the settings of the layers the view turns on travel with it, and never the airport filters (minimum runway, paved, fuel, PPR) — those are a standing personal choice, not part of a viewpoint. The airport marker choices (the code, and the weather / wind chip) do travel, because they are the picture: a wind view wants the chips, an enroute view wants the codes gone. A view that says nothing about them — every built-in, and anything saved before build 2394 — restores the classic marker (the flight category, code on) rather than leaving whatever you last picked in place. The same goes for how clouds are drawn: a view that turns Clouds on without naming Cloud cover — edges — anything saved before build 2812 — draws them Soft; the built-in Cloud cover and Cloud base name Stepped, and say so every time they are applied.
A view is not a place. It carries its layers, its basemap and those layers' settings — and no ground. Applying one never moves the map: switching from VFR to Turbulence while you read your route must not take the map out from under you. Panning does not mark a view edited either; reading a map is not editing it.
Until build 2909 a view also recorded the bounds you pressed Save over, and a briefing printed from that view framed its sheet there. It was a poor bargain. The area was saved but never shown — applying the view did not go there — so the sheet came out over ground you had not seen since, at a scale you had not chosen. And whether a view had an area at all depended on which build last saved it (the save path dropped the field between builds 2344 and 2394), so two identical-looking rows in the print menu did different things with nothing to tell them apart: one printed its own old area, the next printed the map window. Every view now prints the map window, whichever layers it carries. If you want a particular piece of ground on paper, put it on the screen and print — and for a whole flight, the navlog sheet frames itself on the route (Section 18.3) and always has.
A view carries no briefing-only settings. Until build 2903 a view of your own had two extra fields behind its … — Attach an SWC chart to briefings (with a Nordic / Europe choice) and Briefing forecast time — which changed nothing on the map and were read only when you printed that view by name. Both have been overtaken by simpler answers, so they are gone: a view that should carry a Significant Weather Chart turns on the Nordic SWC or Euro WAFC layer (Section 11.12–11.13) and the sheet prints as part of its weather page, and the printed hour is the one on the time bar when you print, exactly as it is on screen. Nothing you had saved was thrown away: the stored values still travel with your views, so the fields can come back if you miss them — say so in the feedback form.
Open the Menu (bottom-left) → Print ›, and pick the view from the list. What is listed there is every view you have saved yourself — nothing else. The shipped built-ins are not in it (print one by applying it and choosing Current view), and the eye makes no difference: a view you have taken off the bar is still on this list. The order is most recently saved first, so renaming or re-saving a view moves it to the top. The app prints its saved layers over the map window as it is now, at the time and altitude you are on now, straight away — the live map is left exactly as it was. Airspace tables in the appendix are fetched in the background for the current view, so they appear even if those overlays aren’t switched on. (Choose Current view in the same menu to print what’s actually on the map instead — which is also how a built-in view is printed: apply it, then print the current view.)
Everything the app can draw on the map is a row of one list: the Layers tab of the Views window. Open the window from the Views button (top-right with a mouse; on a phone or tablet the red disc in the bottom-right corner, then Edit…) and switch to Layers. Applying a view from the Views tab lands you here too, showing what it turned on. The chart under the layers is chosen separately, from the basemap button above it (§ 10.1).
How a row works.
At the top of the window the count says how many layers are on, and Clear layers turns every overlay off (Airports stay). Search layers… filters the rows by name. While a filled weather layer is on, a Weather opacity slider sits above the weather groups (§ 9.1). Every change you make here is a change to the view you are in, which the window’s top row marks edited with Save and Revert beside it (§ 9.4). Each layer that is on also gets a chip in the layer strip at the bottom-left of the map; tap it for the layer’s colour key and the same settings (§ 11.6b).
The rows, and where each is described. The groups follow the question you are asking, not who supplies the data — which is why a forecast, an official product and an observation of the same thing sit side by side.
| Group | Row | Sources → section |
|---|---|---|
| Airports & airspace | Airports | § 10.10, and Section 5 |
| Terminal Airspaces | § 10.2 | |
| Special Use Airspaces | § 10.3 | |
| ACC Sectors | § 10.4 | |
| No airspace data | § 10.3 | |
| Navigation | IFR | AMA § 10.11 · Points § 10.5 · Airways § 10.9 · Navaids § 10.12 |
| VFR | Obstacles § 10.13 · Power § 10.14 · Points § 10.6 | |
| Traffic & interference | Traffic (ADS-B) | § 10.8 |
| GPS Interference | § 10.7 | |
| Cloud & visibility | Cloud cover | Model § 11.3 · MET NO § 11.14 |
| Flight category | Model § 11.16 · LLF § 13.1 | |
| Visibility | Model § 11.16 · MET NO § 11.14 · LLF § 13.1 | |
| Ceiling | Model § 11.16 · LLF § 13.1 | |
| Fog | Model § 11.6 | |
| Cloud tops | Model § 11.8b · FMI § 12.2 (one at a time) | |
| Satellite image | FMI § 12.2, § 12.5 | |
| Rain & storms | Precipitation | Model § 11.4 |
| Radar | RainViewer · FMI § 12.2 (one at a time) | |
| Convective activity | ICON § 11.9 | |
| CB / TCU | FMI § 12.2 · LLF § 13.1 | |
| Storm tops | FMI § 12.2 | |
| Lightning | FMI (flash density) · Strikes § 12.2 | |
| Wind & turbulence | Winds aloft | Model § 11.2 |
| Turbulence | CAT § 11.8 · LLF § 13.1 · MET NO § 11.14 | |
| Icing | Icing | Model § 11.7 · LLF § 13.1 · MET NO § 11.14 |
| Freezing level | Model § 11.15 · MET NO § 11.14 | |
| Air mass & warnings | Spot forecasts | Model § 11.1 |
| Temperatures | Model § 11.5 | |
| MSL pressure | Model § 11.10 | |
| SIGMETs & warnings | § 11.11 | |
| Nordic SWC | FMI § 11.12 | |
| Euro WAFC | WAFC § 11.13 |
The chart layers are remembered for the session, so an accidental reload does not wipe the picture you are working in. The built-in VFR and IFR views (§ 9) switch the basemap and the matching layer set in one tap. The rest of this chapter describes the basemaps and the chart layers; the weather rows are in Sections 11–14.
The basemap button at the top of the right-hand stack shows the code of the chart you are on — VIS, ENR, STD… — and opens the picker, grouped Aeronautical, Map and Other, with one line under each saying what you get. A basemap draws a chart and nothing else: it never switches a layer on or off. All except Satellite and Topographic (MML) are rendered by MapLibre GL JS from OpenStreetMap data via OpenFreeMap, so they zoom smoothly and stay sharp on high-DPI screens.
| Basemap | Code | Look | Best for |
|---|---|---|---|
| Aeronautical (visual) | VIS | Visual-chart styling — green land, farmland, water and roads, place names kept, with the app’s aviation drawing on top | Everyday VFR flying; pairs with the VFR view |
| Aeronautical (enroute) | ENR | Pale and label-free — every place name stripped so the overlays carry the picture; aerodrome ground plans kept | Enroute overview; pairs with the IFR view |
| Standard (map) | STD | Liberty — the balanced full-colour street map | General use; the plain-map views use it |
| Light (map) | LGT | Positron — pale and quiet | Weather overlays; the colours stand out on it |
| Bright (map) | BRT | Vivid, high-contrast vector style | Sunlight; the SIGWX chart views use it |
| Topographic (map) | TOPO | Muted topography with shaded relief | Terrain awareness on a general map |
| Topographic (MML) | MML | The Finnish National Land Survey topographic map — Finland only | Detailed terrain and features over Finland |
| Satellite | SAT | Esri aerial imagery, no labels | Visual reference and landmark identification |
| Outline | OUT | Coastlines and borders on white | A clean canvas under heavy overlays; the cleanest base to print |
Topographic (MML) and Satellite are raster maps fetched live, so in offline mode (Section 24) they are greyed out in the picker; if one of them is on, the map switches to Aeronautical (visual) and your own choice comes back when you are online again.
Aeronautical (visual) is a vector base restyled to read like a visual chart. On it, the Terminal Airspaces layer draws its boundaries as chart-style bands with the ICAO class letter inside and the area name in blue, a frequency panel pins to the corner when you zoom in, a windsock appears near a field once you’re zoomed in close (from the latest METAR), and the Special Use Airspaces tags surface each area’s code and altitudes by zoom. The basemap itself does not switch overlays on — use the VFR view to load the full working set in one click.
Aeronautical (enroute) is a label-free base with the enroute working-chart look: every place name is stripped so the overlays carry the picture, aerodrome ground plans are kept, and controlled airspace (CTR / TMA / CTA) is drawn back so it reads on the pale ground. Like every basemap, it draws a chart and nothing else — it does not switch any overlay on or off. For the enroute working set in one click, use the IFR view.
What you see: TMA and CTR polygons around controlled airports, outlined and shaded subtly so they don’t bury the underlying map. Click any polygon for a popup with the controlling unit’s callsign, frequency, vertical limits and airspace class.
On the Aeronautical basemaps the boundary is drawn VFR-chart style: a semi-transparent band on the inside of the line, the ICAO class letter (C / D /…) in a solid box sitting inside the band, and the area name in blue with a white halo beside it, with the vertical limits shown as an upper / lower box. When you zoom in, a frequency panel pins to a corner of the map (approach set, switching to the ground set — ATIS / DEL / GND / TWR — when you zoom in far enough for runway numbers to show). The band, class letters and frequency panel are part of the Terminal Airspaces layer — turning the layer off removes them too.
How it’s computed: Where the app scrapes the national eAIP — Finland, Sweden, Norway, Denmark, Estonia, Latvia and Lithuania — that publication is authoritative: geometry, vertical limits, frequencies and the airspace type all come from it, and another source’s copy of the same area is dropped rather than drawn on top of it. Flyk then fills the gaps in the Finnish set (RMZ / FIZ the eAIP tables miss), and OpenAIP covers the rest of Europe — served from the app’s own per-country export, rebuilt weekly (see §10.3 for what that means for coverage, freshness and zoom). Frequencies follow the same order: the AIP’s own number where it publishes one, otherwise OpenAIP’s airport data — the same source as the airport popup and panel — so the number you see here matches everywhere.
Use it for: Knowing whose airspace you’re entering, getting the right frequency before contact, and judging the lateral and vertical limits of controlled volumes on your route.
Both airspace layers draw from zoom 4.5 (Terminal Airspaces, Special Use Airspaces and the AUP reservations alike), so they are already on the screen the app opens with — the whole of your country at zoom 5 — and a small pinch out from there keeps them. Only the widest views, zoomed out towards all of Northern Europe, leave them off. The area names and altitude tags still wait for a closer zoom (see the label tiers above), so the country view shows the shapes without the text. Until build 2841 the threshold was zoom 6, which meant choosing the Airspaces, VFR or IFR view straight after opening the app showed no airspace at all until you zoomed in.
What you see: Restricted (R), Danger (D) and Prohibited (P) areas plus TSA / TRA reservations (military training, daily AUP/UUP releases). Two independent visual channels encode type and activation:
| Channel | What it encodes |
|---|---|
| Colour | Airspace type — R, D, P, TSA, TRA each get their own colour. The key is on the SUA chip in the active-layer rail along the bottom of the map (Section 11.6b): tap it and the swatches open above the chip, together with the layer’s own settings. It used to live in the bottom-left legend panel, which put the colours in one corner and the layer painting them in another. |
| Outline style | Activation timing — solid = active right now; dashed = activating later (NOTAM- or AUP-scheduled). Areas with no live activation paint with a faint outline only. |
The hourly scrubber on the time bar updates the styling live, so scrubbing forward shows which areas switch from dashed to solid (or vice-versa) at any time in the next 24 h. Click a polygon to read the activating NOTAM(s), validity window, vertical limits and remarks — and use the Ask AI button on any NOTAM in that popup for a plain-language explanation (what it says, whether it affects you, and its severity), exactly like the NOTAM explainer in the airport popup.
Kaliningrad. The Kaliningrad FIR is drawn here too, as a permanently active P area covering GND–UNL. It is not a Russian designation and does not pretend to be one: Russia publishes no AIP this app can read, so the boundary is derived from the three neighbours that publish it from their own side — the Lithuanian AIP (Vilnius CTA) for the north-east edge, the Swedish AIP (Sweden FIR) for the western segment, the Polish AIP for the sea limit and the land frontier. A FIR limit is an agreement under ICAO Annex 11, and these three agree to within about a kilometre; the build fails if they ever stop agreeing. Its popup carries no AIP reference for exactly that reason, and nothing inside the boundary is mapped — no CTR at Khrabrovo (UMKK), no TMA, no danger area, because there is no source for any of them. Russia closed its airspace to aircraft of the EU states on 28 February 2022; the EU applies the mirror ban to Russian aircraft (Regulation (EU) 833/2014, art. 3d).
No airspace is not empty airspace. The app holds no airspace at all for Russia, Belarus and Ukraine. The No airspace data row (Airports & airspace, in the Layers tab) shades those states as a faint wash with a dashed frontier out to the 12 NM territorial sea, so the edge of our data is drawn rather than left blank. That shading is a statement about our coverage, not about the rules — with or without it, never read a blank map as uncontrolled airspace.
On-map tags (Aeronautical basemaps). When you zoom in on a VFR / IFR chart, each area labels itself with a compact chart-style tag — so you can read the essentials without clicking:
EFR11);FL95 / GND), the same way the terminal band shows them;Tags are shown only for areas that are active now or activate later today — everything else you read from the polygon colour, keeping the chart clean. The tags size themselves to the map (grow and shrink as you zoom), and they step aside so they never overlap another tag, a leader line, an airport, an obstacle or a navaid; a tag pushed off its area is tied back to it with a thin line. Areas below 1000 ft get no tag.
Local training areas (TRA). The Finnish AUP/UUP set also contains the aerodrome-local training areas (TSA / TRA / CBA, e.g. EFTRATP61…95 around Tampere-Pirkkala). To keep them useful without burying the map, the local TRAs draw faintly (a dashed outline) whenever Special Use Airspaces is on, and zooming right in adds a subtle label inside each — its designator over its upper / lower limits — sitting along the top edge. Any area that is active (of any class) still fills and tags prominently as above. This is the only source for these areas — OpenAIP does not carry Finnish TSA/TRA.
How it’s computed: Combines several sources for the widest practical coverage, in this order of authority:
EK-R39, EN-R116, ESR126 — the sources use). Across Finland that drops 244 of OpenAIP’s 245 areas in favour of the AIP.Coverage, freshness and zoom — the OpenAIP-sourced areas. OpenAIP no longer publishes a downloadable database, and its live query API cannot serve a moving map, so the app builds and hosts its own per-country export and rebuilds it weekly — 46 European states, Turkey and Cyprus included. Three consequences are worth knowing before you rely on what you see:
Use it for: Active-airspace avoidance, planning around military exercise blocks, finding the right NOTAM number before phoning ATC, and knowing in advance which areas will reopen during your flight window.
What you see: Area Control Centre sector boundaries drawn as thin dark-grey dashed outlines. The sector name and frequency are printed along the boundary line itself — rotated to run parallel to the edge and repeated at intervals, with the two sectors either side of a shared boundary each labelled on their own side, and the text sized to the map so it grows and shrinks as you zoom. Click any sector to open the unified What’s-Here popup with the sector callsign, all available frequencies, vertical limits and remarks — same chip/tab layout as the SUA and Terminal popups, so clicking through stacked airspaces is consistent. The boundary labels can be switched off in Settings → Display (“ACC sectors — sector labels”) or from the layer’s own row in the Views window’s Layers tab, leaving the outlines and their click popups behind.
How it’s computed: Sector geometry comes from three sources merged transparently:
Use it for: Knowing which ACC to contact and on which frequency at any point along your route; especially useful for IFR pickup and for VFR flight following in busy airspace.
What you see: The published enroute significant points (five-letter name-codes) from the national eAIP. The symbol shows the point’s type: a four-pointed star for an RNAV route waypoint (a point on a published airway) and a triangle for a standalone reporting / FRA point, each filled when compulsory and hollow when on-request. Hover a point for a card with its type, compulsory / on-request status and FRA role (Entry / Exit / Intermediate). To keep a zoomed-out view legible the layer declutters by zoom: from about zoom 7 it shows only the key fixes (route waypoints, compulsory points and FRA entry/exit) as bare symbols; their names appear at zoom 8, in step with the airway labels, and the dense standalone FRA points fill in when you zoom in further (about zoom 9).
How it’s computed: Scraped from the national eAIP ENR 4.4 (the complete significant-point list) and refreshed each AIRAC — see §10.9 for the same pipeline that builds the airways. Finland, Estonia, Sweden, Latvia, Lithuania, Norway and Denmark for now (Lithuania publishes no airways, so all of its points are standalone FRA fixes). Denmark is the one exception to the filled / hollow rule — its ENR 4.4 does not state compulsory vs on request, so its points draw in the on-request style.
Use it for: Reading IFR clearances, planning Free-Route entry/exit and controlled-airspace transit corridors, and matching FPL route strings against the visible network.
What you see: VFR reporting points published in national AIPs — the official compulsory and on-request fixes used to enter / exit CTRs and TMAs. Each point shows its short name (and sometimes a one-letter code) on the map.
How it’s computed: National AIP / Flyk waypoint data, displayed at the zoom level where labels remain legible.
Use it for: Building VFR routes that the controlling unit will recognise (“requesting EFHK transit via OSCAR”), confirming the geometry of a published reporting point before reporting overhead, and aligning your GPS plan with the names ATC will use on the radio.
What you see: A coloured hex-grid highlighting areas where aircraft reported degraded GPS / navigation accuracy — a likely sign of GPS interference (jamming or spoofing). Only meaningful cells are drawn: yellow = Medium (2–10 % of aircraft in the cell affected) and red = High (>10 %). The low/clean tier is omitted to keep the map focused on actual interference.
How it’s computed: Built from gpsjam.org’s daily resolution-4 H3 dataset, which is derived from ADS-B Exchange aircraft navigation-integrity (NIC) reports. The app shows the most recent available day, keeping only cells with at least five aircraft and more than 2 % degraded. The data is aggregated over a full UTC day — it is not real-time, and a coloured cell indicates detected degradation, not a confirmation of intentional jamming or spoofing.
Reading it: Turn the layer on from the Views window’s Layers tab (Traffic & interference). Its chip appears in the rail along the bottom of the map; tap it for the date and colour key. Click any cell — or anywhere on the map — to open the unified “What’s here?” popup, where a GPS chip shows the interference level, the affected-aircraft percentage and counts for that cell, alongside the usual airspace, alert and weather chips.
Use it for: Situational awareness of regions where GNSS reliability has recently been poor (e.g. near conflict zones), so you can plan for the possibility of GPS loss — brief conventional-navigation fallbacks, expect RAIM/approach degradation, and cross-check position. Because it reflects the previous day, treat it as a trend indicator, not a live warning; always check current NOTAMs for active GPS outages.
What you see: Live aircraft as small top-down aeroplane silhouettes, each pointing along its track — helicopters show a rotor symbol instead. Size hints at the aircraft class (a light GA aircraft is smaller than an airliner); colour is the altitude band (orange below 5000 ft, blue to FL150, purple to FL250, grey above or on the ground — ground traffic is faded). A callsign label sits beside each (toggle it from the Traffic row’s ⌄ in the Views window’s Layers tab). An emergency squawk (7500 / 7600 / 7700) turns the aircraft red and pulses. The layer draws from zoom 7 in; zoom further out and it clears, since a single fetch can’t sensibly cover the whole map.
Click an aircraft for its details: type, registration and operator (with a photo where known), the flight route (departure → destination and airline for scheduled flights), altitude with vertical speed and the autopilot-selected level, ground speed / Mach / TAS and track, squawk, QNH and wake class, and its distance and bearing from the map centre. A Show track (FR24) button draws the aircraft’s actual flown path for the current flight.
How it’s computed: Positions come from the community adsb.fi ADS-B network (open data), fetched roughly every 10 seconds through the app's own worker — adsb.fi sends no cross-origin header, so the browser cannot call it directly. The source changed in build 2384: airplanes.live closed its open endpoint and answered every request with 403, which left this layer drawing an empty sky. An empty traffic layer must never be read as empty sky, so when the feed stops answering the chip reads Traffic ⚠ and the layer's key says why. Fetched for the area in view. Route and aircraft details (operator, photo) are looked up on demand from adsbdb.com; the optional flown track comes from Flightradar24 when you press the button. The Altitude bar (Section 8.1) filters the traffic to a level band — the same selection that drives the Winds layer.
Use it for: General situational awareness of who is around and at what level. Advisory only: community ADS-B coverage is incomplete (it cannot see aircraft without ADS-B, and low-level or remote traffic may be missing) and is delayed by seconds — it is never a substitute for see-and-avoid, a collision-avoidance system, or ATC. Do not use it for separation.
What you see: The IFR ATS route network drawn as lines between significant points, in the openFlightMaps style: each segment carries a small box, rotated to run parallel to the route, showing that segment’s distance (NM) with the airway designator (e.g. Y232) above it and the segment’s lower limit (e.g. FL95) below. The boxes appear once you zoom in (from about zoom 8) so they don’t pile up on a wide view — the route lines stay at every zoom. The box shape encodes the direction — a hexagon (pointed both ends) for a two-way route, and an arrow pointing the permitted way for a one-way route — The route’s magnetic track (degrees) is printed along the line at each end — both ends for a two-way route, only the flow end for a one-way one. the standard chart convention. Finland, Estonia, Sweden, Latvia, Norway and Denmark for now (Lithuania publishes no ATS routes — full Free Route Airspace — so it has significant points but no airways; Norway and Denmark publish no conventional routes either, so their ENR 3.1 is NIL and every route you see is RNAV from ENR 3.2). Click any route line for its full per-segment table: the from/to points, the vertical band (lower – upper limit, e.g. FL95–FL660), airspace class and distance.
How it’s computed: Built by scraping the national eAIP en-route sections (Finland and Sweden ENR 3.2 one page per airway; Estonia ENR 3.3 and Latvia ENR 3.2 as a single route table) and refreshed each AIRAC with the rest of the AIP data — the IFR Points layer is the complete set of significant points from ENR 4.4 (including standalone points not on any airway). The symbol shows the point’s type, following the ICAO / ForeFlight convention: a four-pointed star for an RNAV route waypoint (a point that lies on a published airway) and a triangle for a standalone reporting / FRA point — which is why, for example, the Estonian free-route points appear as triangles. Either shape is drawn filled for a compulsory point and hollow for an on-request one. Hover a point for a card giving its type, compulsory / on-request status and, where the AIP marks it, its FRA role (Entry / Exit / Intermediate — the Entry / Exit points are the ones used to join or leave Free Route Airspace in a flight plan). One-way vs two-way comes from the ENR 3.2 “direction of cruising levels” column. The scraper extends to other national eAIPs that use the Eurocontrol template; coverage is limited to the countries built, as there is no free pan-European airway dataset.
Use it for: Seeing the enroute structure — which airways run where, and their level bands. Advisory reference; plan and file against the official AIP.
What you see: A master switch, the first row of the Layers tab and on by default, that turns the app’s airport markers as a whole on or off — a quick way to declutter to just airspace/terrain, or bring the fields back. It governs all three airport tiers (large / medium / small — see §5.1); your choice is remembered across reloads.
Windsock (Aeronautical basemaps). On a VFR / IFR chart, when you zoom in close to a field — the same zoom at which the runway numbers appear — a windsock is drawn just above the aerodrome, angled to the latest METAR wind, so you can read the surface wind at a glance. At that zoom the plain airport symbol / code is hidden (the chart draws the field) but the spot stays clickable for the airport popup.
Use it for: Keeping the map focused; and getting an instant surface-wind picture at a field without opening its weather.
What you see: A grid of Area Minimum Altitudes — the lowest altitude that clears terrain and obstacles within each quadrilateral, drawn as a faint number (kept behind the other layers so it never dominates). Borders are tinted by height band. Click anywhere for the value under your finger.
The grid has two levels, exactly as the published AMA chart does. Zoomed out you get the 1°×1° square in solid lines with one figure in the middle. One zoom step closer, dashed lines divide it into four 30′×30′ quadrants, each with its own smaller figure — and in three quadrants out of four that number is lower than the square's, sometimes by a thousand feet. The square's figure is simply the highest of its four quadrants.
How it’s computed: Calculated with the Fintraffic ENR 6 AMA formula — max(highest obstacle MSL, highest terrain + 60 m) + 300 m, rounded up to the next 100 ft, over each cell plus an 8 km buffer. Terrain comes from elevation tiles; obstacles from the states’ own official obstacle sets in Finland, Sweden, Norway, Denmark, Estonia, Latvia and Lithuania (Area 1 data files, except Denmark and Lithuania, which print the list in the AIP itself), and OpenAIP elsewhere. An estimate for terrain awareness — not the official AIP AMA; always cross-check.
Use it for: A quick terrain-clearance floor when planning or diverting, especially IFR or in poor visibility.
What you see: VOR / DME / NDB navaids drawn with their official ICAO symbols, each with its ident and frequency. Hover (or click) for a card with the full name, type, frequency and elevation.
How it’s computed: Finnish, Estonian, Swedish, Latvian, Lithuanian, Norwegian and Danish navaids are scraped from the national eAIP ENR 4.1 and refreshed each AIRAC; the rest of Europe comes from OpenAIP’s weekly export (§10.3), and an OpenAIP navaid is dropped where a scraped one shares its identifier and position.
Use it for: Conventional-navigation planning and cross-checks, tuning standby aids, and reading IFR clearances that reference a navaid.
What you see: Individual obstacles drawn with the official Finnish VFR chart symbols (eAIP GEN 2.3), by type — each with its top elevation (ft MSL) shown below the symbol:
| Symbol | Obstacle |
|---|---|
| Rotor glyph | Wind turbine |
| Lattice tower | Mast (a star on a stem for one ≥ 300 m AGL) |
| Tapering flue | Chimney |
| Mast + jib | Crane |
| Cylinder + ring | Tower |
| Block with windows | Building |
| Shaft with crossbars | Pole / pylon |
| Caret + dot | Generic obstacle (any other type); a solid star on a tripod for one ≥ 300 m AGL |
A lighting mark sits at the apex when known: a ray-burst for a steady light, a solid five-point star for a flashing one. The symbols grow moderately as you zoom in, and in a cluster (a wind farm) only the tallest keeps its height number so the field stays legible. Hover an obstacle for a card with its type, elevation (ft MSL and ft AGL) and lighting state.
How it’s computed: Finland, Sweden, Norway, Denmark, Estonia, Latvia and Lithuania use their own official obstacle sets — complete, and the only source that carries the lighting state; the rest of Europe comes from OpenAIP (tallest few per cell, no lighting). Refreshed with the rest of the data.
Use it for: Low-level route and circuit awareness — masts, turbines and chimneys along your track and near a destination. Advisory; verify heights against the AIP.
What you see: Major overhead power lines drawn as lines on the map — a low-level obstacle class worth seeing when planning valley routes, ag work or any operation near the surface.
Use it for: Low-flying hazard awareness. Advisory reference only.
The forecast layers are rows of the Layers tab (Section 10) — the MODEL source of the rows under Cloud & visibility, Rain & storms, Wind & turbulence, Icing and Air mass & warnings, and the ICON and CAT sources of Convective activity and Turbulence. Most of the time you reach them through a view (Section 9), which turns on the right ones with the right settings in one tap. You can have several on at once. Every model layer is computed from Open-Meteo model data unless noted, and every one responds to the time bar (Section 8) and, where it varies with height, the altitude chip (Section 8.1). This chapter also covers the official products that share those groups — SIGMETs & warnings, the Nordic SWC and Euro WAFC sheets, and the MET NO low-level forecast (§ 11.11–11.14). Observations — radar, satellite, lightning — are in Section 12, the Nordic LLF in Section 13.
Weather: Europe | Global. While a forecast layer is on, a chip in the map’s bottom-right corner (beside “Updated …”) says which forecast data the layers read, and clicking it lets you choose. Europe reads the app’s own 7 km tiles built from ICON-EU — one forecast run for every layer, sharper over Europe, and the same picture at every zoom — over the box 30–72 N, 25 W–45 E; outside that box the map reads Global on its own and the chip says Europe · Global here. Global is Open-Meteo’s model blend sampled over the view: worldwide and coarser, with the fewest moving parts. Under Europe every point forecast inside that box — the airport and click-anywhere popups, the marker dots, the airgram (Section 15), the route wind, the leg briefs and the offline weather pack — reads the same ICON-EU model, so the map, the popup and the brief of one field agree; a point outside the box, or a route with one point outside it, reads Global’s blend instead, and the brief’s source line names the model it got (OM 14:00Z (ICON-EU), or (best match)). ICON-EU reaches about five days out; past that hour a seven-day view is filled from Open-Meteo’s global blend, and the forecast table says so — its source line reads ICON-EU · best match from Sun 13 16Z, a dashed rule marks the first column of the coarser model, and the note under the table repeats it in words. A brief for a leg beyond that hour names (best match) on its source line. The two source lines also carry the run: ICON-EU · run 15Z is the newest run the API serves, and for the twenty-odd minutes after each run while the tiles are still being built from it the line reads run 15Z · map 12Z — the popup and the map are then two runs of the same model, both right, and a value here may differ from a colour there until the map catches up. Hover the line for the explanation. The default is Europe. The choice is kept on the device, and the same setting is under Settings → Display → Weather data.
How strongly the fills paint. Every filled forecast layer obeys one opacity slider, 20–100 %, behind the small Opacity · 60 % label at the end of the views column (or the first row of the views list on a phone) and above the weather groups in the Layers tab, shown while any fill is on. It is a per-device setting, untouched by views. Symbols, labels and isobars are never faded. Press and hold the Views button to hide the weather entirely for as long as you hold it. See Section 9.1.
There is no legend panel any more. A colour scale belongs to a layer, so it opens from that layer’s chip in the layer strip at the bottom-left of the map (Section 11.6b) — one layer’s key at a time, the layer that is on, with the layer’s own settings under it. The same settings are on each row of the Views window’s Layers tab behind its ⌄. They are not in Settings any more (build 2397): a layer’s settings belong to the layer, they travel with a view, and listing them in a second window meant the same switch existed twice. Settings › Display now keeps only what belongs to no layer — the map buttons and the printed briefing — and links to the Views window for the rest.
Where: the Spot forecasts row under Air mass & warnings in the Views window’s Layers tab (source Model). The Spot forecasts and Weather forecast views turn it on too.
What you see: An even scatter of weather symbols (sun, cloud, rain, snow, thunderstorm, and a distinct freezing-precipitation glyph) with the temperature below each, spread across the whole viewport on a fixed lattice. It gives the big-picture weather pattern at a glance — where it is clear, clouding over or raining — the way a consumer weather map reads. Hover any symbol for the plain-language condition (e.g. “Light rain, +12 °C”); click it for the full point popup of that spot.
Time-aware: at Now the symbols show the latest ~15-minute nowcast (matching the airport popup’s Weather panel); scrub the time bar and every symbol updates to the hourly forecast for that time — out to 7 days (the map no longer freezes at +48 h).
How it's computed: temperature and WMO weather code sampled from Open-Meteo on the lattice — from ICON-EU under Weather: Europe, the global blend under Global (current nowcast at offset 0, hourly forecast otherwise). The symbols are deliberately decoupled from the airport markers — the field’s flight-category dot (Section 5.2) carries the aviation category, so the weather symbols don’t stack on it.
Use it for: a fast synoptic read of the weather across the region and how it evolves over the next hours. Model guidance, not an observation — for live precipitation use the Radar layers (Section 12).
Where: the Winds aloft row under Wind & turbulence in the Layers tab (source Model). The Weather forecast view draws the particles over the MSL isobars and the H / L centres and the forecast rain, with the CB / TCU symbols and the spot forecasts (Section 11.1) over them.
What you see: Animated particles streaming across the map at the level picked on the altitude bar (Section 8.1): Auto is the 10 m surface wind, Low / Mid / High read 850 / 700 / 500 hPa, and each flight level its own pressure level. Particles flow in the wind direction and move faster where the wind is stronger; the speed colour runs grey-blue below 5 kt, green to 15, yellow to 25, orange to 35, red to 50 and magenta above. Picking a level fetches that level’s wind (until build 2809 an FL stop could keep drawing the surface wind).
How it's computed: The forecast model's wind speed and direction at the selected level are sampled on a grid over the view. Particles are advected each frame using bilinear interpolation, with random respawn to keep the field "alive".
Use it for: Picking the most efficient cruise level, spotting frontal shear, judging crosswind for an airport.
Options (layer settings, reachable from the layer’s row in Layers or from its chip on the map):
Where: the Cloud cover row under Cloud & visibility in the Layers tab, source Model. (Its MET NO source is MET Norway’s low-level cloud field, Section 13.)
What you see: A smooth cloud-cover raster (GPU-rendered, so it zooms cleanly) that follows the altitude bar. What its brightness means is the layer’s Cloud cover — shading setting. Coverage (the default) gives brightness to how much sky is covered — overcast near-white and fully opaque, thin cloud grey and faint — and shows height only as a faint warm (low) or cool (high) tint: the view from above, the one satellite pictures train the eye on. Height gives brightness to how low the cloud is — a low deck mid grey, a high veil pale blue-grey — the sky seen from underneath. While the layer is on, the basemap is dimmed under it so that light cloud stands out from the pale map (Cloud cover — dim the map underneath: Full, the default, Light or Off; Light keeps the map bright and lets heavy cloud disappear over the sea). Labels (the Cloud cover — category labels setting, on by default) are the hazard layers’ badge — white plate, heavy word — one per area at its most interior point, and they name what the grey is drawing (build 2844):
OVC LOW, BKN MID (LOW 0–3 km, MID 3–8 km, HIGH >8 km — the model’s layer band, not a measured base). Thin layers can add up to BKN with no layer at BKN; then the word stands alone.BKN LOW inside an overcast sky.)Overcast is placed before broken, so an OVC core inside a broken deck gets its own label; specks of a cell or two get none. A label classifies the cover as drawn — the two forecast hours blended to the minute and smoothed the way the raster smooths them — so it cannot name a hole the map does not show (build 2847).
How it's computed:
cloud_cover_low/mid/high directly: every deck anywhere in that band.Soft or stepped (the layer’s Cloud cover — edges setting; Soft is the default, and a view that turns clouds on without naming it draws them soft). Stepped mode answers one question at a time, chosen by the shading setting:
Both use the same smooth reconstruction of the model grid, so an edge is a smooth curve at the model's resolution, not the observed edge of a cloud. The labels name overcast cores separately from the broken deck around them.
Use it for: Quick "is there a hole?" assessment, ceiling height awareness, comparing cloud cover at different cruise levels.
Where: the Precipitation row under Rain & storms in the Layers tab (source Model). It is a surface quantity and does not follow the altitude bar.
What you see: A GPU-rendered tint with animated drops and flakes over it (the Precipitation — drop / flake symbols setting, on by default). The tint colour is the rate, one flat colour per band as in the key: pale blue under 0.5 mm/h, light blue to 1.5, blue to 2, indigo to 3, green to 7, yellow to 10, orange to 20, magenta to 30 and violet above. Snow washes the colour toward white; sleet is a mix. Nothing is drawn below 0.05 mm/h. How strongly a cell is painted follows the forecast’s confidence: it fades in between 20 and 50 % probability and is at full strength from 50 % up — but a rate of 1–3 mm/h fades in whatever the probability, so a heavy but uncertain core always shows at full weight while a broad low-confidence drizzle wash stays faint. Low confidence also greys the colour somewhat. Forecast showers and thunderstorms are floored to a visible band, so a convective weather code is never left blank.
How it's computed: Open-Meteo's precipitation (mm water-equivalent per hour), snowfall (cm fresh snow per hour, ~10:1 ratio) and precipitation_probability are sampled on the grid. The ratio of snowfall to precipitation gives a "snow fraction" which controls the rain↔snow colour and symbol mix per cell. The probability is not the model’s own field but an ensemble product paired with it — ICON-EU-EPS under Weather: Europe, Open-Meteo’s best-match ensemble under Global — and the popup names which one it quotes; where a forecast carries no probability, the tint follows the rate alone. The animated drops and flakes fall by phase — blue rain streaks (faster and longer with rate), fine pale drizzle streaks, sparse pale specks for a trace (under 0.3 mm/h), white drifting snow flakes, flakes and streaks mixed for sleet, magenta for freezing rain or drizzle. They also get denser with rate, levelling off around 3 mm/h, where the colour carries the rest of the scale.
The click popup’s Precipitation row puts the rate into words:
| Rate (mm/h, water equivalent) | Popup wording |
|---|---|
| < 0.3 | very light |
| 0.3 – 2 | light |
| 2 – 5 | moderate |
| 5 – 10 | heavy |
| 10 – 20 | very heavy |
| ≥ 20 | extreme |
Where: the Temperatures row under Air mass & warnings in the Layers tab (source Model).
What you see: A smooth GPU-rendered heatmap of air temperature painted across the visible area, using the standard meteorological colour scale — violet for sub-Arctic cold, through blue and cyan into green, yellow, orange and red for hot regions. Temperatures sits at the bottom of the weather stack so clouds, precipitation, fog and other overlays render on top of it. The layer is altitude-aware: the altitude bar appears when it is on — Auto shows the 2 m surface temperature, while Low / Mid / High and the flight levels FL025…FL300 switch the heatmap to the temperature at the corresponding pressure level (see How it's computed). The layer’s Temperatures — °C labels setting (off by default) prints decluttered numeric values over the heatmap.
| Temperature | Colour | Aviation significance |
|---|---|---|
| −40 °C | Violet | Extreme cold — battery / hydraulic / pre-flight concerns |
| −20 °C | Blue | Cold-soak fuel risk for jets; carb-heat habits for piston |
| 0 °C | Cyan | Freezing line — icing exposure when in cloud |
| +10 °C | Spring green | Cool / mild |
| +20 °C | Yellow | Warm (the standard atmosphere at sea level is +15 °C) |
| +30 °C | Orange-red | Density-altitude penalty starts to bite |
| +40 °C | Dark red | Severe density-altitude / engine performance loss |
How it's computed: The model temperature comes through the same shared weather grid as the cloud and precipitation overlays — the ICON-EU tiles under Weather: Europe, an 80×80 Open-Meteo grid over the view under Global — so when several of those layers are on the data is fetched once and shared. The selected level picks the field: Auto uses temperature_2m; the altitude bands use the nearest pressure level — FL025 → 925 hPa, Low/FL050 → 850 hPa, Mid/FL100 → 700 hPa, FL140 → 600 hPa, High/FL180 → 500 hPa, FL240 → 400 hPa, FL300 → 300 hPa. Rendering is a WebGL raster: the temperature grid is uploaded as a texture and the GPU does the Mercator-correct bilinear sampling, while a 256-entry colour look-up texture built from the named stops applies the exact ramp — so the gradient stays smooth and the features anchored to the right geography across zoom and pan, with no per-frame CPU work. Switching level keeps the current frame on screen until the new level's data arrives (no blank flash).
Use it for:
Where: the Fog row under Cloud & visibility in the Layers tab (source Model).
What you see: A GPU-rendered raster where surface visibility is forecast to drop below 5 km. Four severity bands are classified in the shader and rendered as distinct blue-grey tones — no colour blending between bands, so edges are sharp:
| Band | Visibility | Tint |
|---|---|---|
| BR (Mist) | 1 – 5 km | Pale steel blue |
| FG (Fog) | 200 m – 1 km | Medium steel blue |
| DENSE | < 200 m | Dark steel blue |
| FZFG (Freezing fog) | FG or DENSE with T ≤ 0 °C | Ice blue (slightly brighter) |
BR in sub-zero temperatures is not classified as FZFG — freezing mist at 1–5 km is an observation nuisance, not a safety hazard, so the layer reserves the FZFG colour for genuinely fog-grade visibility.
Labels (the layer’s Fog — labels setting): three options control what is drawn over the raster:
The choice is saved and restored the next time the layer is switched on.
How it's computed: The model's surface visibility (m) and temperature_2m (°C) come through the same shared weather grid as the Cloud cover, Precipitation and Temperatures layers (under Global the Nordic area reads MET Norway’s seamless model). Classification is done entirely in the WebGL fragment shader — each pixel is assigned to exactly one band, with no interpolation between bands. At Now, the grid is then blended with live FMI observations — FMI's weather::simple AWS visibility readings and the visibility of the METARs the app already holds for the view — using inverse-distance weighting within ~75 km of each observation. This pulls coastal-fog banks the model misses (Russarö, Utö, etc.) into the right place. The observations fade out over the first 30 minutes of the time bar; forecast hours use the model only. The layer is surface-only and does not have an altitude selector.
Use it for: Spotting valley-fog risk overnight, identifying freezing-fog corridors in winter, picking a safe diversion when your destination is below CAT 1 minima.
A strip of chips along the bottom of the map naming every weather layer that is currently on, each carrying its own colour ramp in miniature. It answers “what have I switched on” and “roughly what do these colours mean” without opening anything — before it existed those questions lived in three different places, none of them on screen: the old layer-menu badge said how many, the Layers list said which, and the Legend panel said what they meant. The Legend panel is gone; its keys live behind the chips.
Tap a chip to open that layer's key and its settings, and only that layer's, in a small sheet above the rail. The settings are built by the same function the Views window’s Layers tab uses, so the two can never offer different controls for one layer — reading what a colour means and changing how the layer draws it are finally one place instead of two, several taps apart. Tap the chip again, tap the map, press Esc, press the sheet’s × or swipe it down to close. Tap the × on a chip to switch the layer off. The keys are the real ones — the old Legend panel's keys were moved into this sheet rather than copied, so they stay live; the Special Use Airspaces key (the R / D / P / TSA swatches and the three activation states) moved with them, and the airport types and METAR categories, the last thing that panel held, are the Airports chip’s key. The chip's ramp widens with the screen: 22 px on a phone, 56 px on a tablet, 88 px past 1200 px wide, which on the nine-step cloud-top scale is the difference between knowing a scale exists and being able to count its steps. On a phone the strip scrolls sideways, so its height stays one row however many layers are on — and it says which way there is more: the edge fades and a small ‹ / › appears on that side. Press the chevron and the strip scrolls about a screenful that way. The fade alone was the only hint until build 2425, and a fade needs a chip cut in half to be read as one: land the chips flush with the edge and it falls on empty map and says nothing.
Which layers get a chip. All of them now. Every weather layer, the four LLF layers (Vis/Ceiling, Turbulence, Icing, CB/TCU), GPS Interference and Traffic (ADS-B), the three airspace layers — Terminal Airspaces, Special Use Airspaces, ACC Sectors — Airports, and the two navigation groups IFR and VFR described below. The rule is whether the layer has something to explain or something to change, and after build 2324 every layer on the map has one or the other. A chip whose layer draws no key of its own (the LLF layers) still shows the colour and says the layer is on, but does not open anything, and does not pretend to be a button.
The route or flight plan on the map gets a chip too, right after Airports: a line swatch in the route’s colour (a flight plan shows its legs’ colours in order) and its name. Tap the name to open the route editor or the flight planner; the × takes it off the map — it does not delete it. In flight the name is not a button, and the × stays.
The two navigation groups. Seven layers share two chips, cut by flight rule rather than by kind:
A group’s chip appears when any of its members is on, and its swatch carries only the members that are on — so a glance says how much of the set you have, not how much it could hold. Tap it and the sheet gives you the symbol key first (what a filled triangle means, what the AMA number counts) and one switch per member under it. The same grouping is a single row in the Views window’s Layers tab under the Navigation heading, with the members as tags you can flip individually; the row’s own switch is a master, and switching a group back on restores the members that were on when you switched it off — all of them the first time. The chip’s × turns the whole group off and leaves an ↺ undo chip in its place for a few seconds, because four layers gone on one tap is four taps to get back without it.
Minimising the strip. Every layer has a chip now, so the strip is on permanently — and one round button folds it away. It sits in the bottom-left column directly under where the strip starts, the same size and shape as the Menu button beneath it, and it wears a − while the strip is out and a row of chips while it is folded: one button in one place for one on/off. The choice is remembered, so a pilot who wants the map bare gets it bare on the next leg too. With nothing on there is no button either — an offer to show an empty strip is worse than no offer.
Airports has a chip but no ×. It is on permanently and its chip exists for the key — the airport-type dots and the METAR categories, which are the last thing the retired legend panel held. Taking the app’s own subject off the map is not something a stray tap on an 18 px button should be able to do, which is the same reason the Views window’s Clear layers spares it.
Airports leads the rail, always. It is the app's subject, it is the one chip with no ×, and it is the only one whose place does not depend on what you switched on a minute ago — leaving it to float in the middle of the transient ones made the strip's one fixed point look as incidental as the rest. Its swatch is the three marker dots (large / medium / small), the same three the key above them uses, rather than a colour bar: the layer draws dots, so the chip draws dots.
One switch, one place. A layer's own options — symbol toggles, label toggles, styles — live in that layer's settings, reached from the chevron on its row in the Views window or from its chip on the rail. Several of them used to ALSO sit as checkboxes inside the layer's key, which meant the same switch appeared twice, a centimetre apart, in two different shapes. Those copies are gone (build 2370): clouds, precipitation, icing, convective, turbulence, temperatures and the ceiling all had one, and the two that existed only in a key — the ceiling's CIG / VIS labels and the temperature's °C labels — became proper settings, which is also what lets them travel with a view.
The Radar chip carries the source choice in its sheet: tap the chip and pick RainViewer or FMI without opening a panel. The sheet stays open on whichever you chose. Cloud tops works the same way (Model or FMI) — both are rows where only one source may be on at a time.
The IFR and VFR group chips carry no swatch at all. They used to show a bar made of their active members' symbol colours — AMA grey, airways blue, navaid navy — which looks like a scale and reads as nothing: every other bar on this strip is a key you can read (icing worst-to-best, SUA's four families), and those two were unrelated symbol colours in the shape of one. What the bar was trying to say — which members are on — is a tap away in the chip's own sheet, in words, with switches.
The other always-on layers sit at the end of the rail, and that is deliberate: the strip is one scrolling row on a phone, and the chip that has to be visible without scrolling is the layer you just switched on. Overflow eats the always-on chips first, never the weather layer that arrived a second ago. Their swatches are read off what the map is actually drawing rather than invented for the chip — ACC sectors show the grey dashed boundary and nothing inside it, because that is literally all the layer paints — and a chip whose swatch is a line is narrower than one carrying a colour key, since 2 px of ink needs only enough width to show its dash pattern; Special Use Airspaces shows the R / D / P / TSA colours; and Terminal Airspaces shows the style that is on, so it changes with the setting — the five type colours under Filled, one flat yellow under Muted, a bold navy line under Chart. The one map layer left without a chip is the country boundaries: it has neither a key nor a setting, so a chip for it would open an empty sheet. (Navaids, airways, the points, obstacles, power lines and the AMA grid are in the IFR and VFR group chips; Airports has its own.)
A sheet opened from a settings-only chip carries the layer’s name as its heading, and its rows then drop the prefix they need in the Views window’s Layers tab: under the heading ACC Sectors the row simply reads Sector labels. Layers with a key of their own are already titled by the key itself.
The size of the problem it solved, measured with five weather layers active: the old Legend panel, stacking every key, took 691 px of a 751 px desktop viewport and 752 px of a 375×812 phone, scrolling to 1,520 px. The rail costs about 28 px, 3–4 % of either screen.
Where: the Icing row under Icing in the Layers tab, source Model (its LLF and MET NO sources are the official low-level forecasts, Section 13).
What you see: A GPU-rendered raster at the level or slab picked on the altitude bar, on the four ICAO icing intensities: Trace (pale ice blue) → Light (sky blue) → Moderate (strong blue) → Severe (navy). Each band is one flat colour with a crisp edge, drawn the way turbulence is (build 2828; until then the four intensities melted into one soft wash). Blue on purpose — icing is the one hazard on this map that is unambiguously about cold, and it should not share a hue with turbulence or convection. Trace and Light were added in build 2285; nothing above them was relabelled, so every threshold and verdict that existed before means what it did, and the painted area only grew from about 3 % of a Nordic viewport to about 5 % because icing is a sparse field. The MOD / SEV labels (the Icing — MOD / SEV labels setting, on by default) write the intensity over the raster in the key’s own words (and SLD, in violet, for freezing rain / supercooled large drops); they replaced the SWC horseshoe pictograms (∪ / ∪∪) in build 2829, which needed the key to decode. The separate FL band labels setting (off by default) prints where the icing was detected in the multi-level slabs (Total / Low / Mid / High), in the same badge the LLF layer draws: the intensity on the left and, to its right, the upper level over the lower — or the levels alone with the MOD / SEV labels off. Each area with the same reading is labelled once, near its middle, with a repeat only when the area is large, rather than the same numbers printed in rows. The printed weather overview keeps the SWC pictograms.
How it's computed: Risk is non-zero only when:
A relative-humidity boost increases severity at high RH (the cloud requirement ramps in from 50 to 70 % cover). Each slab is a set of pressure levels and takes the worst risk among them: Auto (Total) 1000–500 hPa, SFC–FL180, where nearly all airframe icing lives; Low 1000–700, Mid 700–500 and High 400–200 hPa; FL025…FL300 read one level each. Under Weather: Europe the tiles carry each level’s risk already computed at the model’s full resolution, and a coarse cell paints in proportion to the share of it that is iced, in quarter steps, so an edge stays an edge; otherwise the app computes the same risk from the temperature, humidity and cloud cover it fetched. There is no extra smoothing pass any more (the old 3×3 average was removed, because two softenings stacked made icing read as a haze); the field is drawn as a WebGL raster with a GPU colour look-up, smooth at any zoom.
Freezing rain / SLD. The layer separately flags supercooled large droplets (freezing rain / drizzle) — the most hazardous icing, which the SWC calls out specifically. It detects the classic structure of a warm nose aloft (a layer above 0 °C) sitting over a sub-freezing, near-saturated layer near the surface. Such cells are forced to the Severe band and labelled SLD in violet, on the slabs that reach the ground (Auto and Low).
Use it for: Choosing a non-icing FL, knowing whether to file an alternate with non-icing approach options, validating route icing seen in the airgram.
Where: the Turbulence row under Wind & turbulence in the Layers tab, source CAT (its LLF and MET NO sources are the official low-level forecasts, Section 13).
What you see: A GPU-rendered raster at the chosen FL slab, flagging clear-air (CAT) turbulence, on the four standard FAA intensities: Light (pale mint) → Moderate (olive) → Severe (rust) → Extreme (wine). Light is drawn from its upper half only — the band runs from zero shear upward and painting all of it covers the whole map, so the layer starts at roughly 2 kt / 1,000 ft (Ellrod TI1 ≥ 6), which is light turbulence you would actually feel. The raster is deliberately transparent: this is a layer you read the map through. The MOD / SEV / EXT labels (on by default) write the intensity over the raster (EXT in wine), and FL band labels (also on by default) add where the shear lives in the multi-level slabs — the upper level over the lower, to the right of the word. The labels look and are placed exactly like the icing layer’s: one per area with the same reading, near its middle. They replaced the wavy-line glyphs (1 / 2 / 3 waves) in build 2830.
Two diagnostics, worst-of. Clear-air turbulence has a horizontal cause as well as a vertical one, and until build 2279 this layer only had the vertical half. CAT concentrates where a jet is being stretched and sheared horizontally — jet exit regions, sharp upper troughs, confluence zones — and a column diagnostic both misses those and over-calls places where the shear is large but the flow is not being deformed. The layer now also computes the Ellrod index (TI1 = vertical wind shear × horizontal deformation, Ellrod & Knapp 1992, the core diagnostic inside operational EDR products) and each cell takes the worse of the two. Deformation is measured on a fixed ~40 km stencil, not between adjacent grid cells: the shared grid is sampled across the viewport, so at high zoom neighbouring points fall inside one model cell and their difference would be interpolation, not weather. The Richardson stability factor is applied to the shear diagnostic only — damping TI1 by stability would silence it exactly at the tropopause, where CAT lives.
How it's computed: Vertical wind shear is computed between neighbouring pressure levels, as closely spaced as the model publishes them — 25–50 hPa apart below about FL050, 50–100 hPa above — so a thin shear layer isn't averaged away. The pairs are rebuilt per view from the levels the model actually publishes — the Nordic model returns 950, 900, 800 and 750 hPa as null, and pairing against a phantom level would read as enormous shear. 925 hPa (about 2,500 ft) is published and is now in the low pairs: without it the lowest pair spanned 360 ft to 4,780 ft and averaged the friction layer over 4,400 ft, halving the shear a light aircraft would actually meet there. Wind, wind direction and temperature for the slab's levels come through the shared weather grid, and the severity field is drawn as a WebGL raster (GPU colour look-up, smooth at any zoom). The shear in knots per 1,000 ft is mapped to the FAA's standard turbulence scale:
| Shear (kt / 1,000 ft) | Severity |
|---|---|
| < 2 | Smooth (not painted) |
| 2 – 4 | Light |
| 4 – 7 | Moderate |
| 7 – 10 | Severe |
| > 10 | Extreme |
The raw shear severity is then refined by three physically-motivated steps, so the layer flags where the shear is actually likely to break into turbulence rather than every windy gradient:
Each altitude choice reads the worst refined severity across the pressure pairs of its slab. Low is SFC–FL100, Mid FL100–FL180, High FL180–FL390. A flight level reads the slab it sits in: FL025 reads SFC–FL050, the friction layer itself (before build 2344 that rung mistakenly showed the FL050–FL100 slab above it); FL050 FL050–FL100; FL100 and FL140 FL100–FL180; FL180, FL240 and FL300 FL180–FL300. Auto (Total) is the union of every band's pairs, so it always shows the worst turbulence anywhere in the SFC…FL390 column — never less than the individual band beneath it — with the FL band labels telling you the altitude.
Cloud tops is one row with two sources: FMI (satellite observation, fine and current) and Model (this forecast, coarse but able to run forward). They answer the same question from opposite ends and share a colour scale, so switching between them compares like with like. The row shows one source at a time. On the Model source, colour carries how high the topmost deck reaches, in nine hard-edged steps (one per published level) on FMI’s own cloud-top scale — dark magenta at the surface, pink at FL050, near-white at FL100, green and pale blue at FL140–FL180, then yellow, orange and red from FL240 up — and the labels (on by default; Cloud tops — FL band labels under the row’s chevron) show the topmost deck’s top over its base (e.g. FL340 over FL180), on a red plate when the top is higher than the service ceiling of the flight on the map — or of your default aircraft when no flight is on the map. That marker is the point of the whole mode: the question a climbing pilot asks is not “what is the base” but “can I get on top”.
How it's derived, and what that costs. No model we can reach publishes a cloud top: cloud_top comes back null on every model, and convective_cloud_top (ICON only) describes convective cloud alone. So the band is derived from pressure-level cloud cover — the lowest and highest published level carrying at least 55 % — which means it is quantised to the levels the model publishes: SFC, FL050, FL100, FL140, FL180, FL240, FL300, FL340, FL390 — the conventional levels, roughly 4,000–6,000 ft apart. A top tolerates that, because “can I get above it” has the same answer at FL236 or FL301 for an aeroplane that stops at FL200.
The band is the topmost deck, not the whole column. It reports the highest level carrying cloud and walks down only as far as the first gap; separate cloud below that gap is flagged with a ▾ after the base rather than folded in. The first version returned the lowest and highest level with cloud and called that a band, which quietly asserted the sky between them was full — measured over the Nordics, 9.8 % of banded cells had a hole inside that envelope, one typical case reading 57 % at the surface, 22 % at FL050, zero at FL100/140/180, then 74 % at FL300: two decks with 18,000 ft of clear air between them, labelled as one 30,000 ft slab. Note also that “no band below” does not mean “no cloud below”: only cover reaching 55 % at a published level counts, and just under half of banded cells have some cloud beneath the band that misses that bar.
Why the base is not a ceiling. The step from 1000 to 850 hPa is 361 ft to 4,780 ft — one jump of 4,419 ft — and the entire VFR decision, 500 to 3,000 ft, lives inside it. The levels that would resolve it (950, 900, 800 hPa) are exactly the ones the Nordic model returns as null. So the base is drawn only as the bottom of a band, and below FL050 it is left off entirely rather than rounded into a number the data cannot support. For a ceiling, use the Ceiling row (Section 11.16) or a METAR/TAF — and note that FMI's own Cloud tops and Storm tops layers are observations, far finer than this, but they cannot forecast forward. This can.
What you see: A single combined, GPU-rendered overlay covering everything convective. It encodes two separate things, and it uses two different channels for them — hue for how bad, form for whether it is actually happening:
FL340). Where that top is missing or below about 3 km — a cell admitted on a thunderstorm code alone — the level is estimated from CAPE instead.SEV CB FL200 at one zoom and SEV CB FL20 at the next.How it's computed: The layer reads Open-Meteo's DWD ICON model — cape (Convective Available Potential Energy, J/kg), convective_inhibition (CIN, J/kg), weather_code, and convective_cloud_top / convective_cloud_base (the actual forecast cloud, used for the “active” test and the top FL), plus temperature_850hPa / temperature_500hPa / freezing_level_height for the lapse-rate cue below. ICON specifically, and this layer is the only one that insists on a model: it is the only source on Open-Meteo that publishes convective cloud top, cloud base and freezing level at all — MET Norway returns nothing for any of the three. Whenever the rest of the map is drawn from a different model, the source line under the layer’s key names each model with the layers it serves and its grid size, so you can see when cloud and convection come from two forecasts. ICON’s grid is about 7 km, and zooming further in will not sharpen it. Lifted index is not used: no European model on Open-Meteo publishes it — every one of them returns the field as empty — so the severity gates that once read it were running on nothing. CAPE and CIN run through a continuous severity function, and two floors can lift the result:
Two caveats about the inputs, because they change what the classifier can actually do. lifted_index is not available: Open-Meteo returns it as null for every European model (ICON, ECMWF, MET Norway, KNMI, best_match) and only the coarse global GFS carries it, so the LI half of the severity function contributes nothing and is correctly treated as absent rather than as zero. The lapse-rate cue (steep 850→500 hPa temperature difference over a low freezing level) is deliberately conditioned on CAPE ≥ 200 J/kg: without that condition it fired on two thirds of a Nordic viewport, because a ΔT of 25 °C is simply ordinary here. It promotes cells that already hold energy; it never paints a cell that would otherwise be blank.
The whole field is anchored to world latitude/longitude, so pan and zoom never move the patches relative to the ground.
| Label | CAPE alone (J/kg) approx. | Typical top FL |
|---|---|---|
| TCU | 150 – 600 | FL220 – FL280 |
| MOD CB | 600 – 1650 | FL280 – FL360 |
| STRG CB | 1650 – 3000 | FL360 – FL400 |
| SEV CB | > 3000 | FL400+ |
The CAPE ranges above (before CIN and the floors) set the severity tier (hue); the top FL printed on each label is read from the model’s forecast convective cloud top wherever that is at least about 3 km, so it reflects the modelled cell rather than a CAPE estimate. The “typical top FL” column is just the rough range you’d expect for each tier.
Caveats — what CAPE alone can and cannot tell you: CAPE is a potential, not a forecast that convection will actually happen. A capping inversion (CIN) can suppress it entirely; sparse triggers can leave it unused; vertical shear decides whether storms organise. Treat the layer as "where the atmosphere is loaded" — cross-check against radar, satellite and SIGMETs before launching when severity reaches MOD or higher.
What you see: A GPU-rendered, colour-filled pressure field — a diverging blue → white → red scale (deep blue for low pressure, white near the 1013 hPa standard, red for high) — with thin isobars drawn on top and H / L letters (and their core value) at the pressure centres. The layer’s settings (the chevron on its MSL pressure row in the Layers tab, or its chip) choose what is drawn: Colour, Isobars + H/L or Both (the default). The choice is remembered and travels with a view.
How it's computed: Open-Meteo's pressure_msl comes from the same model grid the other forecast layers read and is drawn as a WebGL raster (the colour comes from a GPU look-up table, smooth at any zoom). A marching-squares pass extracts the isobars (4 hPa interval); a connected-component search finds the high- and low-pressure centres.
Use it for: Reading the synoptic situation — tightly spaced isobars mean strong wind, a closing "L" pattern means a deepening low.
What you see: Two complementary sources of issued (non-model) hazard polygons in one overlay:
MOV direction + speed (e.g. MOV E 25KT); STNR SIGMETs get a small circle at the centroid instead. Only SIGMETs reaching into Europe (30–72°N, 25°W–45°E) are drawn.The polygon outline encodes activation timing — same SUA-style convention as Section 10.3: solid = active at the time on the bar; dashed = activating later the same UTC day. Only those two are drawn — an entry that has expired, or that starts tomorrow or later, stays hidden until the time bar reaches its day — so the layer reflects what is operationally relevant.
Hover any polygon for a compact two-line tooltip — a small severity pill on top and the event headline beneath. Click and the map popup (Section 7) gathers every alert under the point: issuing source, validity window in UTC, phenomenon / event headline, plain-English description, peak wind / probability parameters, and the altitude band (SIGMETs only).
The layer follows the time bar (Section 8). Scrub forward to watch dashed polygons flip to solid as their activation windows open — useful for planning a flight window around an incoming warning.
How it's computed: Both feeds are pulled live, not model-derived. International SIGMETs come from the NOAA Aviation Weather Center isigmet feed. FMI CAP warnings come from alerts.fmi.fi/cap/feed/rss_en-GB.rss via the app’s server-side proxy (/fmi-warnings); the en-GB <info> block is selected so the popup text reads in English even when FMI also publishes fi-FI / sv-FI variants. Both refresh every ~5 minutes.
What you see: the Nordic Significant Weather Chart itself — the forecasters’ sheet, drawn on the map, in place. Turn it on with the Nordic SWC view (Section 14) or the Nordic SWC row under Air mass & warnings in the Layers tab. The SIGWX scallops, the fronts, the jet axes, the 0 °C boxes and every cloud line with its flight levels sit over the terrain they describe, so you can see which of them your route actually crosses.
It is one sheet, and it scales as one. Zooming the map zooms the chart, exactly as zooming the PDF does — nothing is pinned at a fixed size, because a chart whose labels stayed put while its areas grew would no longer be the chart the forecaster drew. The lettering turns slightly with the map’s meridians; that is the projection, not a fault. At close-in zooms the ink gets large: this is a chart drawn to be read across the whole Nordic region, so use it at region scale and switch it off when you are working an aerodrome.
What the sheet drew of the world — coastline, borders, graticule, terrain shading, place markers — is not drawn: the map underneath already shows that, and better. Tap the layer’s chip and its sheet opens like any other layer’s, carrying the chart’s valid time and the chart’s own legend — the “Symbols and lines” strip from the bottom of the printed sheet, drawn from the same vectors so it stays sharp and re-laid two columns by two so it reads at its printed size. It explains every glyph on the layer.
The layer follows the chart: a new issue is published four times a day, and the layer picks it up within about five minutes of it appearing — the valid time in the sheet always says which issue you are looking at.
It does not follow the time bar, because there is nothing to follow it with: each Nordic chart is published only a few hours before its valid time, and only the newest is kept, so there is never a second chart ahead. When you move the time bar more than three hours away from the chart’s valid time, the layer’s sheet says which hour the chart is for and that no later chart exists yet. (Euro WAFC, Section 11.13, is published a day ahead and does follow the bar.)
How it’s computed: the chart is published as a vector PDF by FMI / SMHI / DMI / MET Norway, four times a day, valid SFC–FL450. The app’s server takes that PDF apart and returns the drawn ink as geometry; the app places it using the projection recovered from the sheet’s own printed graticule (polar stereographic, 15 E). Nothing is redrawn or interpreted — it is the forecaster’s sheet, moved onto the map. The valid time is shown in the layer’s sheet; the layer is cached for offline use with the other hazard charts (Section 24).
What you see: WAFC London’s fixed-time SIGWX chart for ICAO area EUR (FL100–FL450) laid on the map, in place — CB areas with their tops, icing and turbulence areas, jet axes with their levels, the tropopause. Like the Nordic SWC (Section 11.12) it is the forecaster’s chart moved onto the map as one object, and it scales with the map. Turn it on with the Euro WAFC view or the Euro WAFC row under Air mass & warnings in the Layers tab.
It follows the time bar. Four charts are published a day, valid at 00, 06, 12 and 18 UTC, and each is usable from three hours before its valid time to three hours after. The layer shows the chart whose window holds the time on the bar and switches cleanly at the boundary — two charts are never blended. Beyond the newest chart (roughly 18 hours ahead) it draws nothing and says when the next one is published.
The turbulence key comes with it. The numbered boxes on the chart (□4) refer to the strip under the chart, which gives each area’s severity and levels. The layer puts that strip’s own entry beside every box it can match on the map, so the value is read where the area is; the whole strip, untouched, is in the layer’s sheet when you tap its chip, along with the valid and issue time. A box the layer cannot match with confidence is left alone — its key is still in the sheet.
Limits, honestly: the chart is published only as a picture, about 4 km per pixel, so it reads well at Europe and Nordic scale and goes soft from about zoom 6. The chart’s own sea, land, coastline and graticule are removed so the map shows through; its city letters cannot be (they are the same black as the weather), and the turbulence areas lose their light grey fill but keep their outline and number. XXX means below the chart’s lower limit, FL100. WAFC retires these picture charts in November 2028.
Why it exists: the Nordic LLF in Section 13 is a forecaster’s product covering Sweden, Denmark, Finland and Estonia, and it stops at the Norwegian and Latvian borders — those two states are not part of it. Norway publishes its low level forecast a different way, as map layers from the Norwegian Meteorological Institute, and these five bring them in. Over Norway they are not a second opinion; they are the only low-level product the app has.
Where they are: in the Layers tab, as a MET NO source tag on five rows: Cloud cover and Visibility under Cloud & visibility, Turbulence under Wind & turbulence, and Icing and Freezing level under Icing — the last a row it shares with the model source described in Section 11.15.
| Layer | What it paints |
|---|---|
| Visibility (MET NO) | Visibility in 20 steps, 1 km bands above 1 km and 100 m bands below it. Above 10 km is drawn as nothing, so ink on the map is the reduced visibility. There is no ceiling half — MET Norway does not publish one here. |
| Clouds (MET NO) | Low cloud (surface to 6500 ft) in yellow, mid cloud (6500–13000 ft) in light brown and fog in red, all three at once, darker where denser. This is a different cut of the sky from the model’s cloud cover. |
| Icing (MET NO) | Atmospheric icing in four steps — trace, feeble, moderate, severe. |
| Turbulence (MET NO) | Moderate and severe only. Shorter horizon than the rest — see below. |
| Freezing level (MET NO) | The 0 °C isotherm as a continuous field, surface to above 10 000 ft, in 1000 ft bands. |
They follow the time bar, by the hour. Each layer steps in whole hours out to roughly +58 hours — considerably further than the Nordic LLF’s eight. The exception is Turbulence, which its own service publishes only about eight hours ahead. The layers do not all end at the same time and the app does not pretend they do: it reads each one’s published window from the service, and when you scrub past the end of one, that layer gets a red chip in the top-right strip naming its real window (e.g. TrbNO — data window (−1.6h…+7.4h)). A blank layer with no chip means clear weather; a blank layer with a red chip means you have run off the end of that product.
What the coverage actually is, and what it is worth. The underlying model is MET Norway’s MEPS (AROME‑Arctic in the far north), so the picture does not stop at the Norwegian coast — it covers Fennoscandia and the Baltic, which is why it also fills the Latvian gap. But MET Norway states that this is official flight documentation in Norwegian airspace only. Everywhere else it is model output with no more standing than the app’s own forecast layers, and it should be read as a second model, not as a briefing. It is automatically generated and does not replace TAF, METAR, SIGWX or SIGMET/AIRMET anywhere.
Each one carries its own key. Tap the layer’s chip in the rail along the bottom of the map and its scale opens above it, the same way every other layer’s key does (Section 11.6b) — the colour bar with its steps labelled, what the layer measures, and MET Norway’s own caveat. Every colour in those keys is taken from the service’s published legend, so the key and the pixels cannot drift apart. Clouds (MET NO) is the exception and says so in its own key: that layer is the one for which the service publishes no colour scale at all, so its chip carries no colour bar and its key explains the three colour families in words instead of showing a scale that would have to be invented.
Limits, honestly: these are server-drawn pictures, so there are no pop-up values — the service answers no point queries, and a colour is all a pixel will ever tell you. They are also fetched live and are not cached for offline use: with no connection they draw nothing, and unlike the radar layers their row does not yet grey out to tell you so.
What you see: the height of the 0 °C isotherm painted as a field across the map, in 1000 ft bands from the surface (blue) through green and yellow to orange-red at 10 000 ft, then on through magenta to pale lavender at 20 000 ft. The app has known this number in two other places for a long time — the LLF section’s 0°C row and the airgram’s hover readout — but both are points you have to go and ask for. This is the one that answers where along my route does the freezing level drop through my cruising altitude.
The MODEL half of the Freezing level row. It sits beside MET NO (Section 11.14) and the two paint the same colour scale on purpose, so a colour is the same height whichever is drawing — the same deliberate choice the two Cloud tops layers make. They differ in reach: this one covers ICON’s box, roughly ten times the area, at 7 km; MET NO covers Fennoscandia at about 2.5 km and runs further ahead. Both can be on at once, and where they disagree is worth a look.
A freezing level at the surface is drawn, not dropped. When the whole column is below freezing the model reports zero, and that is the leftmost band rather than a hole in the map — it is the most operationally interesting value the layer has.
The scale runs to 20 000 ft, and it has to. Measured across the whole ICON box on a September afternoon, 62 % of it was above 10 000 ft, the median was 12 100 ft and the highest 17 700 ft. A scale stopping at 10 000 painted two thirds of Europe one flat colour and said nothing about the half of the sky the aircraft can actually reach. The warm part of the ramp (blue up to red) is MET NO’s own and means the same height in both sources; above 10 000 ft the ramp continues through magenta to pale lavender, and those colours belong to the model layer alone — MET NO’s server draws everything above 10 000 ft in one red and it cannot be subdivided here.
Bands, lines, or both. Under the layer’s settings (the ⌄ on its row, or its chip) Freezing level — shown as switches between Colour bands, Bands + contour lines and Contour lines only. The lines are labelled with their level, so the area enclosed by the 6k line is where the freezing level is below 6000 ft — which is the question you actually ask on the way to choosing a cruising altitude, and one a colour band makes you look up in a key. Contour every sets their spacing (1000, 2000 — the default — or 4000 ft): 2000 ft reads well across a continent, 1000 ft matches the colour bands exactly and is worth it zoomed in. Lines-only leaves the chart underneath completely clear, and unlike the fills the lines are never dimmed by the weather-opacity slider. Both settings belong to the Model source; MET NO is a picture drawn on its server and always shows bands.
Limits, honestly: ICON only. It is the one model on Open-Meteo publishing this field — MET Norway’s Nordic model returns nothing for it at every hour, measured — so outside ICON’s box the layer has nothing to draw. At 7 km it is a regional freezing level, not a valley one, which matters in the mountains; MET NO on the same row is the finer answer where it reaches. It costs no extra download when Convective activity is already on, because both read the same bundle of model fields; on its own it fetches that whole bundle to paint one of them.
The layer the app has always called Ceiling does not draw a ceiling — it draws a flight category, VFR through LIFR, worked out from two numbers: a ceiling and a surface visibility. Those two are now layers of their own, so you can ask not only is it IFR but which of the two made it IFR.
Three rows under Cloud & visibility, in that order:
| Row | What it draws |
|---|---|
| Flight category | The verdict. VFR uncoloured, then MVFR / BIR / IFR / LIFR. This is the old Ceiling layer, unchanged. |
| Visibility | The visibility reading on its own, inked only where it restricts — 8 km or better is left clear. Steps at 8, 5, 3 and 1.5 km. |
| Ceiling | The ceiling reading on its own, inked only below 3000 ft. Steps at 3000, 1000, 600 and 500 ft. |
The numbers on the components are the category’s own. 8 km, 5 km and 1.5 km are exactly where the category changes on visibility; 3000, 1000, 600 and 500 ft exactly where it changes on ceiling. So a colour change on a component is a category change on the row above it, and the three layers cannot disagree: all three read one grid and one derivation, not three.
Why they are inked one-sided. Neither component has a “good” colour. Clear means this is not what is limiting you, and ink means this is. A green wash over half of Europe would be the layer answering a question nobody asked.
Zoomed out, a cell shows the WORST beneath it — the lowest visibility and the lowest ceiling of the cells it stands for, not their average, matching how the category takes the worst. Before this, the visibility number was an average, so a coarse cell could read “12 km” while being painted IFR because one small area inside it had 2 km. Visibility is stored to 50 m, so a value sitting exactly on 8 km may be a little either side of it.
CIG / VIS labels. Switch on Ceiling — CIG / VIS labels under the Flight category row’s chevron (off by default) and the non-VFR areas carry the two numbers behind their colour — CIG 1200 over VIS 4.0k — on the same white-plate badge the turbulence and icing layers use, the most interior spot of an area first and never one plate on top of another.
Nothing you saved has changed. A view that turned on Ceiling still turns on the same layer and still draws the flight category; only the row’s heading in the Layers tab is new. The ceiling-height layer is a separate, additional layer — an old view will never silently become it.
Limits, honestly: the components are the model’s, not an observation’s — the Fog layer is the one that blends live FMI and METAR visibility at “now”, and below 5 km it is the better answer. Model surface visibility is also weakest exactly where it matters most: measured against 206 Nordic METARs on a September afternoon, it caught 2 of the 7 stations actually reporting under 10 km, missing shower-driven reductions of 2600–4000 m entirely. Read the visibility component as the model’s reasoning behind the category, not as a forecast of the visibility you will meet.
The observed imagery — radar, satellite and lightning — has no menu of its own any more. It lives in the Layers tab of the Views window, on the rows that ask the same question as the forecasts: under Rain & storms, Radar (RainViewer or FMI, one at a time), CB / TCU (FMI), Storm tops (FMI) and Lightning (FMI heat map, Strikes); under Cloud & visibility, Satellite image (FMI) and Cloud tops (FMI, beside the Model source of Section 11.8b, one at a time). The Weather now view (Section 9, on the bar out of the box) turns on the FMI satellite with the radar and the last hour’s strikes over it in one tap; Weather radar in the view list is the same without the cloud. Unlike the forecast layers (Section 11), every one of these is an observation fetched live from its provider, so with no connection their rows grey out instead of drawing nothing. Layers tagged FMI come from the Finnish Meteorological Institute (ilmailusaa.fi / openwms.fmi.fi); how far each one reaches is in the table below.
| Layer | What it draws | Source |
|---|---|---|
| Sat. Image (FMI) | Latest Europe HRV (visible) channel + IR108 masked-night composite from Meteosat SEVIRI, ~15-minute cadence. By default it is drawn cloud-only, in the Clouds layer’s blue-grey — see Section 12.5. | FMI / EUMETSAT |
| Cloud tops (FMI) | Height of the cloud top for every cloudy pixel, from Meteosat SEVIRI (NWC SAF), ~15-minute cadence. Clear sky is transparent, so the chart stays readable underneath — day and night. Says nothing about the cloud base. | FMI / EUMETSAT |
| Radar (Rainviewer) | Pan-European precipitation radar composite, 10-minute cadence, tiles up to zoom 7. | RainViewer |
| Radar (FMI) | FMI’s Nordic radar composite, finer than the European one, 5-minute cadence. Step the time bar past now and the same row switches to FMI’s nowcast (FMIPPN) for up to +4 h — but the nowcast covers Finland only, so rain over Sweden and Norway drops out as soon as you step forward. | FMI |
| Lightning (FMI) | 10-minute flash-count heat map over Europe from the Meteosat Third Generation Lightning Imager — shows where thunderstorms have been active. | FMI / EUMETSAT |
| Lightning strikes (FMI) | Every ground-detected strike as a bolt, bright yellow when fresh and turning red as it ages through the 60 minutes before the time on the bar; refreshed every 45 s. The heat map says where it has been active, the strikes where one has just hit. | FMI (NORDLIS network) |
| CB/TCU (FMI) | Radar-derived convective-cell detection from the Finnish network — tighter than the generic European convective layer. | FMI |
| Storm tops (FMI) | For each vertical column in the Finnish radar grid, the highest flight level at which the reflectivity reaches 20 dBZ (the canonical “clearly precipitating / convective” threshold). Reads as a coloured FL band — brighter / higher = taller storm. Useful for spotting which cells are tallest before crossing them, and for verifying the Convective Activity forecast (Section 11.9) against real observed tops. | FMI (12-radar composite) |
All eight layers above ship to every user.
The time bar (Section 8) drives these layers. While observation layers are the only time-aware layers on — no forecast layer, and the route’s weather panel closed — it runs in observation mode, tailored to short-cadence imagery:
Approximate data windows per layer:
| Layer | Backward | Forward |
|---|---|---|
| Radar (RainViewer) | −2 h (dynamic, from frame list) | Nowcast frames when published (up to ~+30 min; can be none) |
| Radar (FMI) | −24 h | +4 h nowcast, Finland only |
| Lightning (FMI) | −24 h | Now only |
| Lightning strikes (FMI) | The 60 min before the time on the bar | Now only |
| CB/TCU (FMI) | −24 h | Now only |
| Storm tops (FMI) | −24 h | Now only |
| Sat. Image (FMI) | −24 h | Now only |
| Cloud tops (FMI) | −24 h | Now only |
Turn on any forecast layer as well and the bar leaves observation mode: ‹ › step whole hours, the picker lists hours from 12 h back to 7 days ahead, and an observation layer whose window the bar has left shows its red pill.
Each painted layer carries its own palette — the same RGB value means different things on the radar overlay vs. the lightning heatmap. The table below pairs each layer with what its colour ramp actually encodes; ramps are listed from weakest to strongest.
| Layer | Encodes | Palette (weak → strong) |
|---|---|---|
| Radar (Rainviewer) | Radar reflectivity (dBZ) ≈ precipitation intensity. | Universal Blue: light blue → cyan → green → yellow → orange → red → magenta. Transparent below ~10 dBZ; magenta > 60 dBZ ("hail-likely" cells). |
| Radar (FMI) | 1-hour accumulated rain-rate from the Nordic radar composite (mm/h equivalent). | FMI default rr ramp: very-light blue (< 0.5 mm/h) → cyan → green → yellow → orange → red → magenta (> 50 mm/h). Higher native resolution than the Rainviewer composite over Finland. Ahead of now the nowcast is drawn in FMI’s reflectivity (dBZ) ramp instead. |
| Lightning (FMI) | Cumulative flash count per 10-minute bin from the Lightning Imager. | FMI li_lfl_heatmap style: faint yellow (1–2 flashes) → orange → deep red (10+ flashes in a cell). Active thunderstorms read instantly. |
| Lightning strikes (FMI) | Individual strikes and their age. | One bolt per strike: bright yellow when fresh → orange → red as it ages, shrinking and fading towards the end of its 60-minute window. |
| CB/TCU (FMI) | Per-pixel CB / TCU classification from the FMI radar network. | Categorical, not graded: pink dots = CB candidate, cyan/teal dots = TCU candidate. No intensity gradient — classification is binary per pixel. |
| Storm tops (FMI) | Highest flight level at which the 20 dBZ echo is found in each column (echo top of "clearly precipitating" return). | FMI etop_dbzh ramp: dark blue (FL050) → cyan (FL100) → green (FL150) → yellow (FL200) → orange (FL250) → red (FL300) → magenta (FL350+). Brighter / warmer = taller storm; topping CBs read as red/magenta. |
| Sat. Image (FMI) | Real-time visible-channel daylight + IR night composite from Meteosat SEVIRI. | Depends on the layer’s drawing mode (Section 12.5). In the default Clouds colours the brighter the pixel — i.e. the thicker the cloud — the deeper the blue-grey, matching the Clouds forecast layer. In Photograph it is the raw product: true-colour-like by day (white clouds over coloured land and sea), and at night the IR108 channel shades cloud cold = brighter white, so high CB tops are the brightest patches. |
| Cloud tops (FMI) | Cloud-top height, cloudy pixels only. | Colour = height, keyed on the layer’s rail chip: magenta / pink below FL080, greens and pale blues to about FL200, yellow → orange → red above that. Red is CB-anvil territory. Compare with Storm tops: this is the top of the CLOUD, that is the top of the precipitation. |
Cross-checking tip: when verifying a CB forecast, the painted intensity in Radar / Radar (FMI) tells you how heavy the precipitation is, while Storm tops tells you how tall the cell is. A bright-magenta radar return at FL300 storm-top is a fully developed CB; the same magenta radar return at FL080 storm-top is just a stratiform-rain bullseye and far less hazardous.
The satellite product is a photograph, and that is the problem it has to solve. Unlike the other observation layers, nothing in it is transparent while the sun is up: clear ground is painted just as solidly as cloud, so laid flat over the map it hides lakes, coastlines and airport labels everywhere — including where there is no weather at all.
The Satellite image setting — under the chevron on the Satellite image row in the Layers tab, or on the layer’s chip — offers three ways to draw it:
| Mode | What you get |
|---|---|
| Cloud only, Clouds colours (default) | Brightness drives transparency, so clear sky lets the map through and only cloud is painted — and the cloud is repainted in the same blue-grey ramp the Clouds forecast layer uses, so an observation and a forecast of the same sky read as one surface instead of two unrelated pictures. |
| Cloud only | The same see-through treatment, but keeping the photograph’s own colours. |
| Photograph | The raw product, laid over the map at a flat opacity. This is what the layer looked like before. |
The choice applies to the printed briefing too: any map page you print with Sat. Image (FMI) switched on is drawn the same way as on screen.
Where to find it: the LLF source tag on six rows of the Layers tab (Section 10) — Flight category, Visibility and Ceiling (one LLF layer, LLF Vis/Ceiling, answers all three, so its tag lights on all three rows together), CB / TCU, Turbulence and Icing. The quickest way in is a view: Visibility & ceiling (LLF), CB/TCU (LLF), Icing (LLF) and Turbulence (LLF) show the official forecast on its own, and VFR conditions, Convective conditions, Icing conditions and Turbulent conditions lay it beside the model (Section 9.2). There is no separate LLF button any more.
Which area a field is in comes from the product’s own published polygons, not from an approximation of them. Until build 2796 the app used hand-written latitude/longitude boxes, and a box cannot follow a coast or a border: checked against every Nordic and Baltic aerodrome the app knows, 176 of 372 were given the wrong area, or an area at all. Oslo and fifty other Norwegian fields were shown a Swedish forecast although Norway is not in this product; Gothenburg and Malmö were given a Danish area, Luleå and Kiruna a Finnish one, and Copenhagen the North Sea area instead of Denmark’s. A field outside every area now shows no LLF section at all — including four Swedish mountain airfields near the Norwegian border (ESKS, ESNC, ESUE, ESUT) which sit genuinely outside the published areas, and Bornholm, which the product files under Sweden’s southern area rather than a Danish one.
LLF is a Nordic aviation-meteorology product, served to the app by the Finnish Meteorological Institute. Polygons depict aviation-significant low-level conditions (vis < 8 km, ceiling < 2000 ft, icing, turbulence, CB/TCU) updated every ~30 minutes. Outside the coverage the layers switch on normally and simply draw nothing.
Which countries, exactly — and which not. The product is issued as ten forecast areas: Sweden (four), Finland (three), Denmark (two) and Estonia (one). Norway is not in it, and neither are Latvia or Lithuania. This page said otherwise until build 2805, which was simply wrong. For Norway, use the MET NO sources in the Layers tab (Section 11.14) — that is where the Norwegian low level forecast lives, and its coverage happens to reach Latvia too. For Latvia the official low-level product is the FALV51 GAMET text, and the airport popup carries it — see Area forecast (text) in Section 6.3.
Each sub-layer is the LLF source tag on a Layers-tab row. LLF Vis/Ceiling is one FMI product that answers both questions, so it is the LLF source of Flight category, Visibility and Ceiling alike — switch it on from any of the three and all three light up. LLF CB/TCU sits under CB / TCU, LLF Turbulence under Turbulence and LLF Icing under Icing. Outside the ten areas every one of them is simply empty.
| Sub-layer | What it draws |
|---|---|
| LLF Vis/Ceiling | Coloured polygons per Nordic forecast area, green (VFR) → blue (MVFR) → red (IFR) → purple (LIFR) for the worse of visibility and ceiling (thresholds 8 km / 2000 ft, 5 km / 1000 ft, 1.5 km / 500 ft). A small G/L cross marker at each polygon centroid shows the general and local vis/cloudbase buckets side-by-side (G = area, L = local). Wind-barb WMS overlay is also part of this toggle. |
| LLF Turbulence | Pink polygons for FMI's moderate-turbulence areas (mturb endpoint). Each polygon carries a "∿ FLtop / FLbase" badge above the centroid (e.g. "∿ 050 / SFC"). |
| LLF Icing | Yellow polygons for moderate-icing areas (ice endpoint). "ICE FLtop / FLbase" badge below the centroid (e.g. "ICE 125 / 030"). |
| LLF CB/TCU | Red polygons for convective cells (cb endpoint). Badge shows the FMI qualifiers, e.g. "CB ISOL", "CB EMBD ISOL" or "TCU" — CB and TCU are now distinguished rather than collapsed into a single "CB CB" label. |
Tomorrow, where the product publishes it. Alongside the two-hour windows the LLF issues for the rest of today, it publishes a second set in four-hour windows reaching into tomorrow — but only for Sweden and Denmark (Finland and Estonia publish none), and only from some time in the afternoon. A leg briefed for tomorrow over Sweden now finds it instead of reporting that the forecast does not reach that far. It is used only where it reaches past the ordinary windows: earlier in the day the four-hour set merely re-covers hours already forecast in finer steps, and taking it then would make a briefing coarser and gloomier without telling it anything new. A leg today therefore costs exactly what it did before.
The FMI national CAP weather warnings (yellow / orange / red MeteoAlarm severity for strong wind, snow load, freezing rain, thunderstorm, forest fire, frost, etc.) live in the SIGMETs/Warnings overlay alongside the international SIGMET feed — see Section 11.11.
The three intensity-band badges (turb · ice · CB) are stacked vertically around the polygon centroid so they never overlap the G/L vis-cld cross at the same spot — turb above, ice below, CB further below.
Click inside any LLF polygon and the map popup (Section 7) opens with each LLF zone containing that point as a chip of its own, beside SIGMETs, warnings, airspace and the weather there. Rows include flight category (G + L when local differs), VIS, CLD, present weather (decoded), 0°C freezing level, cloud TOP, ICE, TURB, CB/TCU, plus an "Active weather layers" verdict block. All band-type rows (ICE, TURB, CB) are filtered by point-in-polygon against the actual click location, not just the LLF area code — a sea-fog band 200 km offshore no longer surfaces in a coastal popup.
The Weather tab's Low Level Forecast section (Section 6.3) draws from the same FMI endpoints. The category row uses "G" for area and "L" only when local data shifts the category; VIS and CLD use FMI's bucket convention ("blw 1.5 km / 3 km / … / 8 km+", "blw 500 / 1000 / … / 2000+ ft"). Outside every returned sub-polygon the airport is treated as implicitly VFR (vis 8 km+, ceiling 2000 ft+) — matching FMI's convention of returning only non-VFR polygons.
How it's computed: FMI publishes the structured GeoJSON feed via ilmailusaa.fi (endpoints vis-cld, ice, mturb, cb, ctop, zero, wnd, overview). The app re-renders polygons locally and never mixes in model-derived data — everything the LLF layers draw is the product's own forecast.
SWCs are the official aviation-meteorology summary — jet streams, fronts, CB tops, icing and turbulence zones — and remain the gold standard for go/no-go decisions on longer flights.
They are views on the map (Section 9.2), not a window of their own — and each is also a row under Air mass & warnings in the Layers tab:
For the printed briefing, turn one of these two layers on in the view you print — the sheet is on the map, so it goes onto the paper with everything else the view shows (Section 18). The flight briefing carries a chart of its own without being asked: its Area weather page picks the Nordic sheet for a Nordic route and the WAFC Europe one for anything wider (Section 17). A view of your own could attach such a page separately until build 2903, before the sheets were layers; that setting is gone (Section 9.4).
Until build 2831 the sheets also opened in a window of their own — three tabs (Finland, Nordic, Europe) for reading a chart whole and printing it — reached from an SWC ↗ entry on the views list. That entry is gone, and with it the window: the same charts are on the map, where the question is asked.
An airgram is a vertical cross-section of the atmosphere: distance (or time) along the X axis, altitude up the Y axis. It's the fastest way to spot icing, cloud, turbulence and convective layers along a route — before deciding which flight level to file.
The airgram reads a route, and routes are drawn in the route editor (Section 16): tap the RTE tile — the arrow at the top of the left-hand button column — then + New route (or + Edit / new route) in the card that opens. Draw or type the line, then press Airgram on the editor’s bar (it needs at least two points). The airgram opens over the map on that route, at the route’s FL and, when its DEP is set, at that departure hour.
From a flight plan, the same chart is a tab: Profile on any leg (Section 17). That one reads the leg, with its own cruise level and departure time.
The chart draws a climb → cruise → descent profile line from the departure elevation up to the cruise FL and back down. Its climb and descent come from an aircraft profile: on a flight plan’s Profile tab, the plan’s aeroplane; opened from the route editor, your default aircraft (Settings → Aircraft, Section 4.2) — not the one picked in the route’s ACFT box. TOC and TOD are marked with dots, and on a leg too short to reach cruise the line becomes a chevron.
The chart is built from Open-Meteo pressure-level data along ~16–60 samples spaced ~10 nm apart, interpolated bilinearly between samples and pressure levels. The Y axis is altitude from FL000 to the chosen Max (default FL300; FL250 / FL200 / FL150 / FL100 also available — see § 15.4 / § 15.7).
The ground is sampled separately, and far more finely. Weather is a smooth field, so ~10 nm spacing is plenty for it; terrain is not, and a ridge between two samples is exactly what a cross-section must not miss. The terrain along the bottom of the chart therefore comes from its own source at its own resolution — the Copernicus DEM every ~0.5 nm, plus a ±5 nm corridor maximum — and is drawn last, over every other layer.
| Element | What it looks like | Meaning |
|---|---|---|
| Sky background | Steel-blue fill | Clear air — one flat colour at every altitude. |
| Cloud | White patches | Cloud cover — the share of each area painted white matches the forecast cloud %, broken up by a noise texture so it reads as cloud rather than as blocks. |
| Terrain | Solid brown polygon along the bottom | Ground under the track, from the Copernicus DEM (~90 m) sampled every ~0.5 nm. If that data cannot be fetched the chart falls back to the weather model’s own surface height (an ~11 km grid cell read every ~10 nm) and the legend then reads Terrain (model). |
| Terrain corridor | Lighter brown band with a dashed top edge, behind the terrain | The highest terrain within ±5 nm either side of the track. You do not fly the pencil line, and ground read only under it hides the ridge you drift toward. Obstacles (masts, towers) are not included — this is elevation data, not a terrain-warning system. |
| AMA | Amber dashed stepped line | The estimated Area Minimum Altitude for the 30′×30′ quadrants the track crosses (§ 10.11) — drawn as steps because the value is constant across a quadrant and jumps at its edge. Finland only; the line simply stops where the grid has no coverage, and no line is drawn where none exists. |
| Freezing level | Solid red line | Where T = 0 °C in each column, so it rises and falls along the route. Above = sub-zero. Where the whole column is warmer or colder it runs along the top or bottom edge. |
| Route profile | Magenta line with TOC / TOD dots | Climb from the departure, cruise at the FL set in the panel toolbar, descent to the destination (Section 15.1). Its legend switch is Route; not drawn on an airport’s airgram. |
| Icing | Translucent blue fill: pale ice blue → sky blue → strong blue → navy | Trace, light, moderate and severe icing, computed from the temperature window + cloud + RH — the same formula and colours as the map’s Icing layer. |
| Turbulence | Diagonal hatching: olive → rust → wine | Vertical wind shear converted to FAA bands — moderate, severe, extreme. Light turbulence is not drawn. |
| Precipitation | Streaks or flakes falling from the cloud base to the ground, labelled RAIN / SLEET / SNOW with the cloud-base FL | Surface precipitation rate; the phase comes from how much of it the model forecasts as snowfall. |
| TCU / CB | Cloud silhouette with text | Drawn as a cloud from its base to its top — a flared anvil for CB, a rounded turret for TCU, an overshooting-top dome on the strongest cells, and a lightning bolt for thunderstorms. Labelled TCU or CB with its top FL above the cloud and its base FL below it; the intensity (WEAK / MOD / STRG / SEV) is in the hover popup. Severity and cloud top/base come from DWD ICON (the same source as the map's Convective layer). Where there's instability but no forecast convective cloud, a faint dashed CAPE column shows the potential. |
| Wind barbs | Black barbs, each with a magenta arrow | Wind read from the interpolated field on a regular grid — four to eight columns across the chart, a barb every 4,000 ft from 2,000 ft up. The magenta arrow is the aircraft’s heading there (route view only), so the wind reads against it. See Section 25 for the barb notation. |
| Bottom axis | Waypoint labels + UTC times + distance marks | Waypoints labelled with their ICAO / place name and ETA; five distance marks spaced evenly along the route, left out where they would print over a waypoint name. |
Hovering the chart (mouse) or tapping (touch) shows a context popup with the precise values at that altitude band and distance/time along the route. The popup adapts to which conditions are present — rows are added only when meaningful.
| Row | Example | Meaning |
|---|---|---|
| Header | FL070–FL080 139 nm | The altitude band you are hovering and the distance from departure along the route (or the UTC time, in the per-airport time view). Where you are pointing, and nothing else. |
| Ground row | Terrain 3673 ft ±5 nm 4900 ft AMA 5300 ft | What the ground does at that distance, on a line of its own because the three numbers are read against each other. Terrain comes from the same source the chart drew, so the number always matches the picture beneath it. ±5 nm appears only when terrain beside the track is at least 100 ft higher than terrain under it. AMA is the estimated minimum for the quadrant under that point (§ 10.11), read as a step and never interpolated between two quadrants, absent where the grid has no coverage. The whole row needs a real terrain profile; with the model fallback only the bare Terrain figure appears. |
| Wind row | 109° / 38 kt HW 27 / 27 LX | Wind direction (FROM) and speed at the hover altitude, then the components relative to the segment's true course: HW = headwind / TW = tailwind, and RX = right crosswind / LX = left crosswind. The numbers are always positive — the label tells you the direction. Example: HW 27 / 27 LX means 27 kt headwind with 27 kt of left crosswind. |
| Atmosphere row | -7°C 77% cloud RH 97% | Temperature, cloud cover percentage, relative humidity at the hover point. |
| Icing | ❄ ICING | Appears wherever the icing field the chart is drawn from is above zero at that point. |
| Turbulence | 🌪️ Turb MOD / SEV / EXT | Appears when shear-derived severity is moderate or worse. Skipped for light turbulence. |
| Convective | ☁ OCNL MOD CB (23 nm) / base FL050 – top FL380 ⚡ TS / ☁ ISOL CAPE (potential) / est. top FL250 | When you hover inside a convective column, at or below its top: coverage from how far it runs along the route (ISOL under 15 nm, OCNL under 50 nm, FRQ beyond) and that length, intensity (WEAK / MOD / STRG / SEV), CB or TCU, and its base and top FL; ⚡ TS = thunderstorm. Bare instability with no forecast cloud reads as CAPE (potential) with an estimated top. |
| Precipitation | ☔ rain 0.4 mm/h, top FL060 / ❄ snow … / ❄ sleet … | Rate and phase in that column, with the cloud base the precipitation falls from. Shown only when you hover at or below that base — there is no rain at FL200 over a rain band. |
| Freezing level | Freezing level 3873 ft ⚡ CAPE 640 | The 0 °C isotherm height at the hover column (surface freezing level forecast), and on the same line the CAPE in J/kg when it exceeds 300 — ⚡, ⚡⚡ above 1000, ⚡⚡⚡ above 2000. |
The wind row is the most condensed: e.g. 109° / 38 kt HW 27 / 27 LX means the wind is FROM 109° at 38 kt; relative to the segment's course you'll have 27 kt of headwind and 27 kt of left-crosswind. With the wind from behind, the first label reads TW instead — e.g. TW 10 / 5 LX = 10 kt tailwind, 5 kt left crosswind. The numbers are never negative; the letters carry the direction. On an airport’s airgram (time axis) there is no course, so only direction and speed are shown.
Rows for clear-sky cells just show the header, ground, wind and atmosphere lines — no icing/turbulence/convective rows are added when the hazard is absent. This keeps the popup compact so the rows that do appear are the ones that matter for that point in the route.
The toolbar lives in two rows above the chart.
Row 1 (view + time + display options) carries the Side / Top toggle, the departure date+time scrubber, and two display selects (Scale, Max). Scale and Max apply to the Side view only and disappear from the row when Top is active.
Row 2 (flight-plan inputs + read-outs) has the cruise FL input, an IAS / TAS airspeed button with its number, and four read-only spans (Flight time, GS, Dist, Wind) computed from row 1 + 2 inputs and the per-leg winds.
| Control | What it does |
|---|---|
| Side / Top toggle | Side = vertical cross-section (default). Top = a plan view of the weather at the pressure level closest to the cruise FL, over a corridor either side of the route — nine sample rows across it, ±20 nm on a route under 100 nm, widening to ±200 nm on the longest. Its legend switches layers the same way (§ 15.5). The choice is remembered. |
| Departure scrubber | « ‹ [label] › ». ‹ / › step the chosen departure time by 1 h; « / » step by 6 h. The label uses a compact three-letter weekday plus the hour in UTC, e.g. Mon 19Z or Wed 06Z. Range is clamped to [now, now+7 days] — the buttons grey out at either end. It starts at the route’s own departure hour when the route editor’s DEP is set, otherwise at the current hour. The choice is ephemeral: not saved between sessions, and rebuilding the panel starts it again from there. |
| Scale (side view only) | Linear (default): each foot of altitude gets the same number of pixels. Scaled: pressure-weighted Y axis (linear in ISA pressure) so lower flight levels get more vertical room than upper ones — useful when planning a VFR cruise where FL050–FL100 detail matters more than FL200+. Choice persists across sessions. |
| Max (side view only) | Top of the airgram chart: FL300 (default) / FL250 / FL200 / FL150 / FL100. Lower caps give better vertical resolution when the planned cruise is well below FL300. The cap also selects the upper-air pressure-level set used to sample the atmosphere (see § 15.7), so a new fetch fires whenever it changes. Choice persists across sessions. |
| FL (editable) | Cruise FL in hundreds of feet. Drives the magenta cruise line, the altitude used to sample winds for GS, the popup altitude-band rounding, and the Top-view sampling. |
| IAS / TAS button + value (editable) | Airspeed in knots. The small IAS / TAS button on the left toggles between the two modes — click to switch. In TAS mode (default) the value is used directly as true airspeed in the wind triangle. In IAS mode the value is corrected to TAS using the ISA density formula at the selected FL (TAS ≈ IAS / √σ). The chosen mode and the entered number are both persisted across sessions; toggling auto-converts the displayed number so the underlying speed is preserved. |
| Flight time (read-only) | Total block time derived from the airspeed, FL and per-leg winds at each leg's midpoint. Updates when any editable field changes or when fresh wind data lands. |
| GS (read-only) | Route-average ground speed derived as GSleg = TAS − HWleg, then distance-weighted across legs. Shows kt directly after the number, e.g. 113kt. |
| Dist (read-only) | Total great-circle distance of the drawn route in NM. |
| Wind (read-only) | Route-average headwind or tailwind component at the selected FL: HW NNkt (positive headwind), TW NNkt (tailwind), or calm (< 1 kt). Updates whenever a fresh wind fetch lands. |
| Maximize / restore | Expand the panel to fill the viewport — useful when reading mid-route detail. On a phone or tablet the panel opens maximized already when you reach it from the route editor’s Airgram button, because at that screen size a floating window leaves the chart barely bigger than its own toolbar; press this to shrink it back. On a desktop it opens as a window sized to your browser window, and this button fills the screen. |
| Resize handle | Drag the bottom-right corner to grow the panel. The airgram canvas adapts to the new dimensions in real time. |
| Drag the header | Move the floating panel out of the way without closing it. |
The legend at the bottom of the chart doubles as per-layer visibility control. Each named overlay (Cloud, 0°C, Route, Precip, Icing, Turb, CB/TCU, Wind) is a clickable button — Route being the magenta climb / cruise / descent line, absent on an airport’s airgram —: a single click hides that overlay from the chart, a second click brings it back. Hidden items render in muted grey with a strike-through. Precip covers the rain / sleet / snow streaks and the RAIN/SLEET/SNOW top labels with cloud-base FL. Sky, Terrain (labelled Terrain ±5 nm, or Terrain (model) on the fallback) and AMA (est.) are base layers and are not toggleable — ground is the most safety-critical thing on a vertical cross-section, so it is also drawn last, over every other overlay, and can never be hidden behind a wind barb or an icing blob.
Hover-tooltip rows are not affected by toggles. Turning off the Icing overlay declutters the visual but the hover readout still says ❄ ICING wherever the underlying severity is positive — information stays accessible even when the colour wash is hidden.
Layer choices are ephemeral: never written to localStorage, and a full panel rebuild (e.g. fresh popup open or page reload) restores every layer to ON. Toggling is also a cache-free operation: the airgram re-renders from the already-fetched response data, so flipping a layer is instant and uses no network.
Turbulence intensity uses the FAA scale (LGT / MOD / SEV / EXT), computed from vertical wind shear between sampled pressure levels. Light turbulence is not drawn; from moderate up the overlay is diagonal stripes — olive, rust, wine — over a bilinearly interpolated severity field in both distance and altitude — the same continuous-field approach as the icing blob — so the blob edges feather smoothly across pressure-level boundaries.
The airgram fetches Open-Meteo upper-air data at a set of pressure levels chosen to match the Max cap. Each set carries one level above its own ceiling, so the top of the chart is interpolated between two real levels rather than extrapolated past the last one.
| Max FL | Pressure levels fetched (hPa) | Count | Best for |
|---|---|---|---|
| FL300 (default) | 1000, 975, 950, 925, 900, 850, 800, 700, 600, 500, 400, 300 | 12 | Full troposphere; matches IFR and ATPL planning |
| FL250 | 1000, 975, 950, 925, 900, 850, 800, 700, 600, 500, 400, 300 | 12 | Heavier IFR. Identical to FL300: 300 hPa (≈ FL301) is the only published level above FL250 |
| FL200 | 1000, 975, 950, 925, 900, 850, 800, 700, 600, 500, 400 | 11 | Mid IFR |
| FL150 | 1000, 975, 950, 925, 900, 850, 800, 700, 600, 500 | 10 | Light IFR / DA62 typical cruise |
| FL100 | 1000, 975, 950, 925, 900, 850, 800, 700, 600 | 9 | VFR / general aviation |
Why these levels and no others. Open-Meteo documents a 25 hPa grid below 750 hPa, but the model that answers the airgram’s main request publishes only ten pressure levels in all: 1000, 925, 850, 700, 600, 500, 400, 300, 250 and 200 hPa. Asking it for any other level is not an error — the response arrives carrying the field you asked for, the right length, and every value in it null. Four more — 975, 950, 900 and 800 hPa, roughly 1,100, 1,800, 3,200 and 6,400 ft, the band a light twin flies in — exist only in DWD ICON. The airgram already makes a second, ICON request for its convective fields; that request carries the whole profile too, and every value the main model leaves empty is filled from it, while levels the main model does publish keep coming from the main model. Under Weather: Europe both requests read ICON-EU, the model the map’s layers are drawn from. Levels such as 875, 825, 775 and 725 hPa, which this table once listed, are answered by neither and are not asked for.
Switching the Max cap changes the upper-air request (the cache key includes the cap), so a new fetch fires: both the chart’s altitude range and the levels sampled within it change, rather than the existing data simply being zoomed.
The panel has a second view: Airspaces, on the same two axes as the Airgram — distance across, altitude up — but showing the ground and the airspace instead of the weather. Switching tabs keeps the route in exactly the same place under your eye, so the two read as one chart seen two ways.
It is a separate tab rather than another overlay for two reasons. The weather chart already carries wind barbs, a cloud raster, isotherms, icing and convective columns; airspace boxes on top would make both unreadable. And this view needs no forecast at all — airspace is local data and terrain is cacheable — so it still draws when the weather fetch fails.
| Element | What it looks like | Meaning |
|---|---|---|
| Airspace box | Coloured rectangle between its floor and ceiling, type colour, name and band inside | An airspace the route crosses, drawn from where you enter it to where you leave. Leave and re-enter and you get two boxes — the gap you fly through in the clear is real and is kept. |
| A floor that curves | Bottom edge following the terrain | An AGL floor. A flat bottom edge is an MSL altitude or a flight level. This is the whole reason the terrain had to come first: an AGL floor cannot be drawn without the ground under it. |
| Dashed outline, no fill | Thin dashed border | The area is not in force yet — it is activating, or its AIP supplement is in force so it may activate at any time. Never given even a faint fill, because faint fills stack: three of them over one another look exactly like one area in force. |
| “NOTAM” after the band | e.g. GND–FL130 NOTAM | The band shown is the one the activating NOTAM gives, not the AIP maximum. Areas are routinely activated far below what they are published to — EFR105 KATAJALUOTO is published GND–UNL and activated to FL130. |
| Magenta line | Climb, cruise, descent, with TOC / TOD dots | The planned vertical profile — the same line the Airgram draws, from the same function, so it means the same thing on both. On a leg too short to reach cruise it degenerates into a chevron rather than a crossed-over polyline. Cruise level comes from the Airgram toolbar’s FL, which starts at the route’s (or the leg’s) own level, or FL080. |
| Terrain, corridor, AMA | As on the Airgram | Identical drawing, from the identical data — see § 15.2. |
The same toolbar as the Airgram sits above the chart — departure hour, Scale, Max, FL, airspeed, flight time, GS, distance and wind — because the two views share an altitude axis and a planned profile, so those must be settable from either. Every control redraws the tab you are on. Side / Top is the one thing that does not carry over: it picks between the weather cross-section and the weather plan view, and this tab has no plan view.
Three switches, under the chart. SUA (restricted, danger, prohibited, TSA / TRA), Terminal (CTR, TMA, CTA, ATZ, RMZ / TMZ and the ICAO classes) and ACC / FIS are independent — click one to show or hide that group. Toggling rebuilds the chart from data already loaded, so flipping a group on to check it and off again is instant. ACC / FIS starts off: sectors cover the whole route from the ground up, so left on they are a full-height wash over everything else. Your choices last as long as the panel is open and reset when it is reopened.
Only what is in force, or coming into force. A special-use area is drawn when it is active now, when it is activating, or when its AIP supplement is in force and it may be activated at any time. Areas that are dormant, finished for today, or scheduled for tomorrow are left out — drawing every reservation block buries the one area that actually matters inside a wall of boxes. The number left out is printed under the chart, so an uncluttered picture is never mistaken for an empty sky. An area with no activation verdict at all is kept, not hidden: the absence of a verdict is not a verdict of “inactive”.
Hovering reads out the level band and distance, then the ground (terrain, the ±5 nm corridor and the AMA, as in § 15.3), then every airspace containing that exact point with its band. When the point is clear it says so — and names the lowest thing above it with the gap in feet, e.g. Clear here — EFTP TMA EAST base 2000 ft (1126 ft above). That is the VFR question in one line: how much room is there under it.
The ICAO class is printed after the name where the state publishes one — EFHK TMA UPPER (C), EFTU TMA (D). It comes from each country’s own ENR 2.1 class column, not from a rule of thumb: Finnish TMAs are both C and D, and guessing would be inventing regulation. Areas whose publication carries no class are printed without one rather than with an assumed letter.
An ACC sector stops where a TMA starts. These are not two airspaces in force at the same altitude: where a TMA or CTR is established, that is the airspace, and the sector is the enroute volume around and above it. So sectors are cut out wherever a terminal airspace occupies the same block — over EFTU, EF ACC SECT E is drawn only above the TMA ceiling, not from the ground up through it. The cut is a real subtraction, not a raised floor: where a TMA floor sits above a CTR ceiling, the sector reappears in the gap between them, because there it genuinely applies.
Flight levels move with QNH. A flight level is a pressure surface, not an altitude: FL65 sits at 6500 ft only when the QNH is 1013. At 985 hPa it is about 760 ft lower — which is most of the margin a pilot thought they had under a TMA floor. The chart applies the conversion using the QNH from the METAR nearest the route and names that station under the chart. When no QNH is available it says so and falls back to standard 1013 rather than quietly pretending.
What it cannot say, it says. An area whose published limits cannot be read is counted and reported under the chart rather than guessed at. If an airspace source could not be loaded, that is named too. And because ACC sector data exists only once the ACC Sectors layer (Layers tab of the Views window) has loaded it, switching that group on before then reports “no sector data loaded” rather than an empty chart — an empty chart must never be readable as “nothing there”.
Airspace is fetched for the route’s bounding box, not the map’s, and without regard to which overlays you have switched on — so the profile is the same whether or not you have been panning around the airspace layers.
The same chart is also available from any airport popup via the Airgram tab. The X axis becomes a 24-hour timeline anchored at the departure moment from the scrubber (so Mon 14Z plots the next 24 hours from Monday 14:00 Z onwards). The toolbar is a single row: the same departure scrubber, and the Scale and Max selects without their labels so the row fits the popup. The legend toggles work the same way, minus Route. There is no Side / Top toggle and no FL / IAS / Flight time / GS / Dist / Wind row, because a single-point view has no route geometry.
The Scale and Max selects share their localStorage state with the route airgram: a choice made on either view shows up on the other one the next time it opens. The departure scrubber state is ephemeral on both views and does not cross between them.
Click × in the panel header. The panel’s own copy of the route is discarded, together with the toolbar’s read-outs; the route you opened it from is untouched — still on the map and in the route editor — and its Airgram button opens the chart afresh.
The airgram panel has no save button: the route you are reading is already kept by the route editor. When the weather says go, close the airgram and press Make flight plan → on the editor’s bar (Section 16.4). The plan takes the route’s points, FL, aircraft and departure — not the FL, airspeed or departure hour you tried out in the airgram toolbar, which change only the chart. Set those on the route before making the plan, or on the leg in the Flight Planner afterwards.
A route is a shape: where you would go, and nothing else. No departure date, no aeroplane of its own. It is the thing you draw when you are wondering rather than planning — “what does the coast look like if I go round the west side” — and it is the thing you keep when the answer turns out to be one you fly often.
A route can say where it lands on the way. Mark an aerodrome on it as a landing and the route reads as the flights it really is — each on its own tankful, priced on its own row — and Make flight plan → makes one leg of each (Section 16.2.4). That is still a shape, not a plan: the dates, the alternates and the filing belong to the flight plan the route becomes.
It has no fuel plan either, unless you ask for one. ⛽ on the editor’s bar adds a single question — does this fit in the tanks, and how far do they reach — answered with the Flight Planner’s own arithmetic. It is off until you press it, and off is exactly as the bar was before (Section 16.2.1).
That is the whole difference from a flight plan (Section 17), which is a dated, fuelled, multi-leg object you file and fly. Routes feed flight plans and never the other way round: Make flight plan → copies a route into a new plan, and from that moment the two have nothing to do with each other. Editing the route afterwards does not touch the plan, which is the point — a filed plan must not change under you.
Two tabs, one store.
Identical shapes are folded into one row, however many objects the store holds for them. A route with fewer than two points is not listed at all — an empty editor is not a route.
There is no delete button on a row. This list is a history of shapes you have drawn, and a destructive control on every line of a list you scroll to pick from is a trap with nothing to win. Instead the store keeps the last 60 and drops the oldest beyond that — never a favourite, never a route you have named, and never one a flight plan was made from. Star it or name it and it stays.
A bar across the top of the map, with the map itself as the canvas. On a phone held upright it is a sheet along the bottom of the screen instead, and the controls along that edge move up to clear it.
EFHK DCT PORVO EFTU, codes, published points, or coordinates. It is deliberately strict: a token it cannot resolve stops the whole route with a reason, rather than quietly dropping itself. There is no “nearest similar”, because a route that silently went somewhere else is worse than one that refused.198 NM · 1:03 · 17.9 gal · ETA 18:21Z · 2 kt head (with the fuel option on, req 36 follows the burn and the verdict ends the line — Section 16.2.1). Before the forecast arrives it says still air rather than showing a number that quietly assumes calm. Once the route lands on the way it stops answering for the whole thing and reads 4 legs · 1672 NM · 8:48 airborne · longest 657 NM, with a row per leg underneath (Section 16.2.4).⛽ is a toggle, and it starts off. Pressed, it adds one row to the bar and one figure to the header; pressed again, the bar is exactly as it was. The choice is remembered per route, so a route you plan on fuel opens that way next time.
It costs one row and two figures in the header, and it says each thing once. It can be switched on before there is a route at all — with a single point on the map the ring already answers “how far can I get from here” (Section 16.2.2).
· req 36 straight after the trip burn — what has to be in the tanks before you can start, against what the flying itself costs — and · ⛽ 50 spare (or ⛽ 6 short) at the end. Both stay when you close the bar. Hover the line for the arithmetic: required = trip + reserve (45 min) + taxi, with no alternate in it.≈ when that figure is an estimate rather than a gauge reading).⚠ 6 gal short — reaches 191 NM of 198. When it fits there is no line at all, because the header has already said so — and when it does not, that line adds the one figure nothing else shows: how far the tanks actually reach.With the fuel option on, the editor draws a dashed amber ring around the last point of the route, from the fuel that would be left on reaching it — which on a route that lands on the way means the fuel left since the last landing, not since the first departure. Place another point and the ring shrinks; that is the whole idea. It answers the question the ⛽ mark cannot — the mark says this route breaks its reserve here, the ring says from here you can still get there — so you can plan by fuel rather than check afterwards.
reserve in 4:04 · one way: that is how long you can fly and still land with the final reserve in the tanks. It is not a radius of action — how far out you could go and still come back is half of it.When the verdict says the route is short, press it: it opens a row of up to five aerodromes that sell your aeroplane’s fuel and that this route can still reach. Each one shows how far along the route it sits, what the diversion adds if it is not already on the line, and PPR where prior permission is required. Tap one and it goes into the route at the point where it costs least to fly to.
On the map, ⛽ marks where the tanks reach the reserve. One mark per leg — on a route that lands on the way each leg flies its own tankful, so the label names it: leg 2 · reserve at 804 NM, counted from that leg’s own departure. An amber label sits on the line at the mile it happens and reads reserve at 81 NM — that is the point on an 198 NM route where the fuel on board falls to the aeroplane’s final reserve, so everything past it would be flown out of the reserve. It is drawn only when that point falls before the destination, so seeing it at all is the warning; there is nothing to switch on, and nothing to read when the route is comfortable. It disappears by itself as soon as the tanks are enough. The flight plan puts the same mark on its own line, with a clock time instead of a distance, because a plan has a date and a route usually does not.
Draw Tampere to Sicily and the header says 1672 NM · 8:57 · 152.2 gal · ⛽ 85 short. Every figure is true and not one of them is useful: no tank holds 152 gallons, and nobody flies that in one go. What the app is missing is the one thing it cannot work out for itself — which of those points you land at. A point on Hamburg is the same object whether you overfly it at FL090 or sleep there.
So you say. Press the ⛽ on an aerodrome’s chip and the route lands there. It works with the fuel option off as well: a landing is a fact about the route, not a fuel setting.
2 ESSB → EDDH 433 NM · 2:17 · 38.7 gal 29 spare.
That is the answer to “does the leg I have just drawn fit”, which is the question you are actually asking while placing the points — and the one a total counted from the departure cannot answer.29.5 gal · req 45): the step between them is the reserve and the taxi, and without it the list looks like it does not add up.⚠ 6 short is a button, and it opens the list for that leg (Section 16.2.3).The map carries exactly one route at a time — a saved route, a flight plan, or nothing. That is a rule, not a coincidence: two lines on a chart with no control saying which one you mean is how the map used to look, and it was never clear which was being planned.
EFTP → EFKU), and a ×. The chip’s name opens the editor; the × takes the line off the map and keeps the route — it is a display choice, like switching a weather layer off.Make flight plan → creates a new plan whose first leg carries the route’s points and level — and the fuel you set on it, if you set one, so the tank figure you had just been thinking about is not silently replaced by full tanks. The plan flies the route’s aircraft from its DEP hour (the current hour when none is set), and the Flight Planner opens on it. From there it is an ordinary flight plan: give it a date, an alternate, more legs. The route is left exactly as it was.
The copy is one-way and it is not a link. The plan remembers which route it came from — that is how the library knows not to prune it — but nothing you do to either one afterwards reaches the other. To reshape a leg, open the leg’s own On map › (Section 17.4.5), which edits that leg rather than any route.
The Flight Planner is where a flight plan is built: aircraft profile, fuel reserves, per-leg wind, TOC/TOD computation, an airport-popup-grade briefing for every leg, and a printable navlog. Open it with the Flight planner button (the folded-map icon) in the stack at the top-left of the map, under the route button.
It is a full-screen window in two columns. The left is the plan — its name, its aeroplane, its legs, its totals. The right is the one leg you have selected, under tabs. Which flight plan you are on is a rare choice and keeps its own dialog in the header; which leg you are on is a choice you make constantly, so it gets a column.
Aircraft profiles — your fleet plus any overrides on the built-in presets — are managed in Settings → Aircraft (Section 4.2). The Flight Planner’s aircraft picker reads from that list. Per-flight tweaks to perf can also be made in the planner’s own aircraft block (Section 17.2); those edits are local to that flight (see the info box at the end of Section 4).
Open it from the Menu in the bottom-left corner (the person icon, or your initial when signed in) → Flight plans, or from the Flight plans button in the planner’s own header.
It lists every plan you have saved, grouped Upcoming and Past by departure date — with a Filed group ahead of both for plans that have a leg live with ATC, when your autorouter account is connected (Section 17.12) — and the current one marked CURRENT. Each row gives the departure date and time, the leg count, the distance and the flight time, an offline-readiness chip (✈ Offline · wx 20 min, Section 24), and three icon actions: print briefing, duplicate (a new plan with the same aircraft and route, times cleared) and download (the plan as a .json file). Log flight under the row takes that plan into the logbook (Section 22); once it is logged the row shows what was flown instead. Tap anywhere else on the row to open the plan. + New flight plan starts an empty one; Upload flight plan brings in a .json plan exported from this app. There is no delete on the row: Delete flight plan stands alone at the foot of the planner’s left column, and removes the plan only — logbook entries made from it are kept.
Flight plans name themselves. A new plan takes its name from its route as you build it — EFHK → ESSB, EFNU local for a there-and-back, EFHK → EFTU → EFPO for a multi-leg one — so the library never fills up with “Untitled”. Type a name of your own at any point and it is never overwritten again, however much you change the route afterwards.
Loading a flight plan draws it — every leg, each in its own colour. The map carries one route at a time (Section 16.3), so a saved route that was on it steps aside.
What is drawn is named by a chip on the layer strip, just after Airports: the legs’ colours as bands, the plan’s name, and a ×. The × takes the plan off the map and keeps it loaded — a display choice, not a change to the plan. The name opens this window again.
While Track my flight is recording against a leg of this plan, the flight owns the map: it shows the leg being flown, and the route you had selected before comes back when the recording ends (Section 20).
Pick an aircraft from the dropdown — the list is built from the presets and your custom aircraft as configured in Settings → Aircraft (Section 4.2). The selected aircraft populates fuel capacity, cruise TAS and burn rate plus the climb/descent perf needed for TOC/TOD math.
Only the choice of aircraft is on screen by default. Its performance figures sit behind a one-line summary (150 kt · 12 gph · 60 gal · 45 min res) with a ⚙ button to open them: picking the aircraft is a decision every flight makes, while its TAS / burn / climb numbers are right almost every time and were opening the panel on figures nobody came to read. To change the aircraft itself, head to Settings; to tweak perf only for the current flight, open the block and edit the numbers — the badge then reads Edited, the block opens by itself whenever that flight carries such edits, and Reset to aircraft snaps back to the Settings values.
Each leg has its own Rules box, beside its departure and cruise level: pick VFR, IFR or leave it as —. The selection feeds the AI route brief (so it can recommend “needs IFR” / “VFR-only with caveats” against the actual weather), decides which channel a filed flight plan goes down (Section 17.12) and sets ICAO field 8.
A flight plan is one or more legs; a leg is two or more waypoints. + Add leg adds one at the end, and a leg that lands on the way can be split in two where it lands (below).
The legs are a list in the left column. Each row carries the leg number in its map colour, where it goes, its departure time, distance and time, the two verdict boxes below and, once the leg is filed, its filing status. Tap a row to open it in the detail column; the row and the column then share a stripe in that leg’s colour.
The detail column states the leg’s facts once, across the top — ETD, ETA, ETE, distance, fuel required — because they are true whichever tab is showing. Under them:
| Tab | What it is for |
|---|---|
| Route | Where it goes and what it costs, in four captioned groups: Route (the route card, departure / cruise / rules, a note), Navlog (a small map of the leg, the waypoint list with per-segment wind and ETAs, and the wind row), Fuel (what is on board and the ledger it decides) and Actions. The tab a new leg opens on. |
| Brief | A decision card for this leg — Can it be flown (fuel, weight & balance, timing against the leg before, flight plan), then the weather at both ends and along the way, freezing level, active airspace, and NOTAM triage with Ask AI per aerodrome, read from the same sources the printed briefing uses. It opens nothing and prints nothing; it is the read you do before deciding to print. |
| Profile | The leg’s vertical cross-section with two tabs of its own: Airgram for the weather (Section 15) and Airspaces for the terrain and the airspace it passes through, at the leg’s own cruise level and departure time. |
| Charts | The plates for the aerodromes this leg actually uses: departure, destination, and the alternate under the departure on a wide screen. No enroute charts — those are not a property of a leg. |
| W&B | The loadout and the envelope for this leg (Section 17.13). |
| File | The ICAO form, grouped the way a flight plan is: the aeroplane, the flight, the supplementary details (Section 17.12). |
On a narrow screen the two columns become one: picking a leg slides the detail over the list, and the ‹ in the leg’s header goes back.
Two verdicts ride on every leg’s row in the list, so a leg you are not looking at still tells you where it stands. They are status, not buttons — tapping the row opens the leg as usual, and both verdicts are spelled out in full inside it (the Fuel group, the W&B tab, and the Brief tab’s Can it be flown).
| Green | Red | Pale grey | |
|---|---|---|---|
| W — weight & balance | within limits | outside limits | loads not entered yet |
| F — fuel | covers trip, alternate and reserve | insufficient | — |
A box that cannot be computed is not drawn at all rather than shown grey: no W&B model for the aircraft → no W box; fewer than two waypoints → neither. Hover either box for the full sentence. Both read the same figures as the leg’s Fuel group and W&B tab, so they can never disagree with what is inside.
Per-leg fields on the Route tab:
The first thing in every leg is where it goes. The card is a view of the leg’s waypoint list — first waypoint, last waypoint, and everything between — not a second copy of it, so anything you do on the map shows up here and vice versa.
There are three ways to put points on a leg, all acting on the leg selected in the list: type its ends into From / To (Section 17.4.3), write the whole route in the route editor, or shape it on the map. The planner covers the whole map, so there is no clicking points onto the chart behind it any more — the map work happens in the RTE window, bound to the leg (Section 17.4.5).
64.711, 26.867), European decimal commas (64,711;26,867), hemisphere letters (60.32N 24.96E) and degrees-minutes-seconds with a variety of separators (60°10'N 24°58'E) — as well as a filed route’s speed/level group (N0157F100) and procedure designators, so an autorouter result round-trips unchanged. Apply replaces the leg’s waypoints with the new list, so it works equally well for editing a leg or composing one from scratch (paste EFKI 64.3803,27.2994 MAINU EFHK and Apply).
This is where route work lives. Auto route and Validate sit in this editor too, beside the route text they produce and check — a pilot building a route looks at the route, not at the foot of the panel. Clear via points empties the middle without touching the ends.
On map › on the route card hands the leg to the route editor’s window (the RTE window, Section 16) and gets the planner out of the way. Its header names what you are editing — EFTP → ESSV · leg 1 of 2 · Weekend away — and every gesture is the route editor’s own: tap the map to add a point (an airport or reporting point snaps to its published identity), drag a point to move it, drag the line to insert one, tap a point to remove it, and ↩ takes back the point added last. Two actions end it: Done → writes the points back to the leg and reopens the planner; Cancel leaves the leg as it was. The favourite star, Airgram, Auto route and Make flight plan are not offered here — each would make a second thing out of a leg you are fixing.
With the planner closed, the plan on the map is for reading:
The waypoint list in the leg’s Navlog group is a readout with a few controls: each point numbered as on the map, the segment under it (distance · true track · wind · ground speed with its head- or tailwind · time · fuel · ETA), ▲ / ▼ to move a point, × to remove it, and ⛽ on an intermediate aerodrome to split the leg there (Section 17.4).
EFHK · Helsinki-Vantaa).Each leg has its own departure time, and the legs chain together so the plan reads as one continuous timeline. Press the Depart (UTC) chip and a picker opens: two wheels, the day (two weeks back to ten weeks ahead, today and tomorrow by name) and the time in five-minute steps, with a row of quick buttons above them:
Nothing reaches the leg until Done (or Enter); Cancel or Esc throws the change away.
Setting one leg’s departure cascades through the legs after it: each downstream leg keeps its existing gap from the previous arrival (rounded up to the quarter-hour), so a 30-minute turnaround stays 30 minutes when you shift an upstream departure. When you add a new leg, its departure is pre-filled to the previous leg’s arrival plus about 30 minutes, ready to adjust.
A saved plan whose departure has passed keeps its times — nothing rewrites them for you. To fly the same trip again, Duplicate it (among the flight’s actions, or the library row): the copy keeps the aircraft and the route and clears the times.
From about zoom 9.5 the route line labels itself, so the map reads like a kneeboard navlog. Everything here is drawn for the current flight and updates as you edit it — you don’t have to be flying.
HDG 343M · 53 nm · 32 min. A segment too short on screen for even the heading shows no tag.T suffix instead of M means you are outside the declination grid and the value is true.label · ETA · fuel on board.The leg’s figures are stated once, in the header above the tabs, where every tab can see them: ETD, ETA, ETE, Distance and Fuel req (trip + alternate + reserve + taxi, in red when what is on board does not cover it), plus the filing chip once the leg is filed. They update as you edit waypoints, level, fuel or wind.
On the Route tab the Fuel group carries the verdict in its caption — ✓ Fuel OK or ⚠ INSUFFICIENT FUEL — and shows its working under the On board box, as a column you can add by eye, in whole units of the aircraft’s fuel unit:
Whether any of these can be believed is the wind row’s job, at the foot of the Navlog group (see Wind in the field list above).
Below the legs, Flight summary adds the plan up: leg count, departure UTC of the first leg, total distance, total flight time, and the final-leg arrival UTC. On a single-leg flight there is no totals block — it would print that leg’s own summary a second time, a few rows below the first.
Under it sit the flight’s own actions: Calendar (Section 17.14), Duplicate (a new plan from this one, times cleared), Summary (Section 17.9) and, filled because it is what the window is for, Briefing (whole plan) (Section 17.8). Delete flight plan stands alone at the foot of the column. There is no flight-wide Weight & Balance roll-up any more: each leg row’s W box says it (Section 17.4.2).
Under the Fuel group, in a group captioned Actions, sit the things you do with a finished leg, captioned by when you use them — this was an eleven-button slab, and the captions are what tell the once-per-flight download apart from the control that talks to ATC:
| Caption | Controls |
|---|---|
| Before flight | Briefing (leg) — the printable pack for this leg. Under it, as a text link: Email handling. |
| After flight | Attach flown flight (then Show / Hide flown track) and 📖 Log flight (or ✎ Edit log) |
Three things are deliberately not here. File plan is a tab of its own, File (Section 17.12): it is the one control that files or amends a real flight plan with ATC, and it carries live state. Download .fpl (a file for ForeFlight / Garmin) is the route in a file, so it is a link under the route card, beside Copy filed route. And Auto route / Validate belong with the route text they produce and check, inside the route editor (Section 17.4.4); a validation verdict is reported here, under the leg’s actions.
The leg’s vertical cross-section is the Profile tab, with the same two tabs as the drawn-route panel (Section 15): Airgram for the weather and Airspaces for the ground and the airspace you cross. The leg’s waypoints, its own cruise FL and its departure UTC are pre-loaded — not the drawn route’s — so the magenta climb / cruise / descent line is this leg’s. The chart updates whenever you edit the leg, and your tab choice is remembered per leg.
The AI route briefing streams from Claude into the printable briefing, one per leg (Section 17.8). It sees the leg’s METAR/TAF for every airport waypoint, structured TAF periods with absolute UTC timestamps (no DDHH decoding), per-leg SUA list within a 30 nm corridor (multi-sample classification across the flight window), SIGMETs / national CAP warnings sampled along the track, LLF, the airgram, and the full aircraft perf. The output is exactly two blocks: a colour-coded dashboard (WIND / CEIL / ICING / TURB / CONV / NOTAM as Green / Yellow / Red) plus a hazards table.
The Briefing (leg) button opens the same printable briefing as the whole-flight one (Section 17.8) but scoped to that single leg — the cover/summary, navlog, airgram, AI brief, that leg’s airports and a route map covering just this leg. The leg keeps its real number in the flight (so leg 3 still prints as “Leg 3”) and the PDF filename suggestion is the leg’s own label. Use it when you only need a fresh briefing for one leg of a multi-leg trip rather than re-printing the whole flight.
Two buttons at the foot of a leg’s actions tie the plan to what you actually flew. Attach flown flight brings in the real track (Flightradar24, or a Track-my-flight recording) and then shows or hides it on the map; Log flight logs this leg into your logbook, prefilled from the plan, and opens the entry — once logged it becomes Edit log and opens the existing one. Log flight shows once the leg is at hand — flown, undated, or leaving within the next 24 hours — and only when you keep a logbook; Attach flown flight is always there.
.fpl)The Download .fpl link exports the leg as a Garmin .fpl flight plan — the standard route format that ForeFlight (and Garmin avionics) import directly. It downloads one file per leg, named DEP-DEST.fpl, so a multi-leg trip becomes several ForeFlight routes. Waypoints map as follows: airports carry their ICAO; named fixes and navaids carry their identifier; other points export as user waypoints with their coordinates. The leg’s alternate is not included (it’s a divert field, not a route point).
To import on an iPad / iPhone: open the downloaded .fpl (from Files, an email attachment, or AirDrop) and choose Open in ForeFlight. The route loads on the Maps view, ready to drop into a flight.
.fpl format does — and doesn’t — carry. The Garmin .fpl format is route-only: it transfers the waypoints and the route, so ForeFlight loads it as a route (on Maps), not as a ready-made entry in the Flights section. By design it does not carry the departure date/time (nor altitude or speed) — no public flight-plan file format populates ForeFlight’s departure time. After importing, create the flight in ForeFlight from the loaded route and enter the departure time there. The planned ETD is already on the Briefing pack if you need it for reference.
The Email handling link opens a pre-filled flight-announcement email in your mail app for the leg’s destination. The recipient is left blank (address it to the field’s handling agent yourself); the subject and body are filled from the leg and the trip’s aircraft:
Flight announcement: {registration} - {arrival date} {arrival time}Z.Crew X / PAX X placeholder line, followed by two blocks and the Services requested block.From {origin} and ETA {date} {time}Z — this leg into the destination.To {next destination} and ETD {date} {time}Z — the next leg out of this same field. On the final leg there is no onward departure, so the whole Departure block is hidden.AC parking. Fuel: when the next leg starts with more fuel than this leg lands with — i.e. you refuelled here — a Fuel {grade} line is added. The grade is Jet-A1 or AVGAS per the aircraft’s Fuel type (Section 4.2). No refuelling between legs → no fuel line.The registration and MTOW come from the aircraft profile — set them in Settings › Aircraft (Section 4.2). All times are UTC.
A flown leg is debriefed, not briefed. Once a leg carries an actual track — recorded by Track my flight or imported from Flightradar24 — its pages change purpose. Out go the heads-up flags, the airport weather overview, the airgram, the AI route briefing, the area weather and the model overview page: none of it applies to a flight already made. In their place the leg’s navlog becomes a planned-vs-flown table — ETA against ATA with the difference in minutes, planned fuel against what was actually logged — followed by an actual summary (OUT/OFF/ON/IN, air time against plan, distance, maximum altitude, average and maximum ground speed, any fuel checks). Actual times come from the in-flight recording when it has them, and are otherwise derived from the track’s closest approach to each waypoint — which is what makes a Flightradar24 import comparable at all. Fuel is only shown where it was logged; it cannot be derived from a track. Airspace activation and the NOTAM lists go too — they are read at print time, so on a flight already made they describe today rather than that day, and the heading would even stamp today’s state with the old flight’s window; the R/D/P shading is dropped from the map for the same reason, while CTR / TMA outlines stay because those are structural. The route map draws both: the plan as a dashed line, the track flown over it. A pack whose every leg has been flown is titled debrief and the airports section is dropped with the rest of the current-weather material; in a mixed flight each leg gets the treatment it deserves and flown legs are marked FLOWN.
Where a phase card’s model weather comes from. When no METAR or TAF covers a phase, its card reads the model, and the source line says which: OM 14:00Z (ICON-EU) under Weather: Europe inside ICON-EU’s box, (best match) elsewhere or past ICON-EU’s five-day reach (Section 11). The ceiling on that card is the same derivation the map’s Ceiling layer and the airport popup use (Section 6.3), so the brief, the popup and the map of one field agree on it.
Past legs carry no weather. No source in the app reaches backwards: METAR and TAF are the current issue, and the model is queried as a forecast starting now. A leg whose time has passed therefore gets no weather verdict — its phase cards read “time has passed — no weather is available for a past time” and show only current conditions, labelled now, and its airgram carries a banner saying the cross-section is current weather along that route rather than the weather that was there. Past legs also raise no heads-up flags, so today’s CB can’t masquerade as a hazard on a flight you already made. (Reviewing what the weather actually was is a job for an archive service, not for this briefing.)
Which legs get briefed. A flight whose legs span several days — out on Friday, back on Sunday — doesn’t need Friday’s pages on Sunday morning, and those pages would carry forecasts for an hour that has already passed. The briefing toolbar therefore shows a leg picker, pre-ticked with the legs still ahead of you: a leg counts as past once you attach an actual flown track (or log it), or once its departure is more than 6 hours ago — the grace window means a delayed departure never makes the leg you are about to fly disappear. Undated legs are always treated as upcoming, and if every leg is behind you the whole flight is briefed rather than nothing. Tick any leg back on, or use All legs / Upcoming only to flip between the two. Nothing vanishes silently: omitted legs are listed on the cover page (“Not briefed: Leg 1: EFHK → EFTU (flown 2026-07-26)”), so the paper pack still accounts for the whole flight. The picker is hidden for single-leg flights and is never printed.
Briefing (whole plan) among the flight’s actions (or the printer icon on the plan’s row in the library) renders a complete printable briefing in a window of its own, with Print and Close in its toolbar. The pages are laid out in A4 landscape so the wide navlog table + side fuel panel fit on each sheet; Safari ignores the orientation a page asks for, so the app reminds you to pick Landscape in its print dialog. The browser’s "Save as PDF" filename suggestion is the flight’s own name ({flight} — briefing.pdf) instead of the host page’s tab title.
The page order is fixed and each section is forced onto its own sheet so the print is easy to flick through on a kneeboard:
352·343) — so the gap between them is exactly the wind correction, and you can re-derive a heading yourself if the forecast wind turns out wrong. A single figure means the correction rounded to zero (head- or tailwind), or that no wind was applied. TOC / TOD pseudo-rows appear inline. The airgram cross-section for the leg sits at the bottom of the page, ~10 % taller than before so the climb / cruise / descent bands have more vertical resolution.mag, because a model states direction in true degrees and the Weather box above quotes the model — the runway diagram drawn from the published threshold coordinates, and a table of each end: magnetic bearing and threshold elevation, size and surface with its PCN from AD 2.12, the declared distances where they differ from the pavement, and the approach aids. A runway with no published coordinates is named under the drawing rather than silently missing.The Summary button among the flight’s actions in the left column opens a quick fixed-width popup summarising the whole flight — one block per leg with departures, arrivals and refuels, each shown in both Zulu and local airport time. Local time is resolved from the airport’s ICAO region (DST-correct for the planned date; a day-rollover is flagged, e.g. 0230L+1), with a longitude-based fallback for airports outside the covered regions. Each leg lists distance, ETE and the start → end fuel; between legs a GROUND line shows the turnaround time and, when the next leg starts with more fuel than this one lands with, a refuel +N line in the aircraft’s fuel unit (grade per the aircraft’s fuel type). A TOTALS line follows (distance, flying time, leg count, refuels), and an AIRPORTS list closes it out — every airport on the flight (plus alternates) as code · name · country. Copy puts the text on the clipboard for a logbook or email; Close or Esc dismisses it. All times shown with Z are UTC and L are local.
Every change is written to your account in real time (with a per-browser cache for instant load). Saved flights and aircraft profiles survive reloads, new app versions, and follow you to any browser where you sign in — see Section 3.3 for the full sync list. The library’s per-row download (a .json file) and Upload flight plan are still there when you want a local backup.
Your stored times are never rewritten behind your back: a plan whose departure has passed keeps it until you change it (Section 17.4.6).
After a flight you can attach the actual flown track (from Flightradar24) to a leg and compare it against the plan — deviation from the planned route, actual block / airborne times and an altitude profile, with the real track overlaid on the map. Each leg’s Actions carry Attach flown flight under After flight; once a track is attached that button shows or hides it on the map, and an Actual flown block with Show on map, Re-attach and Remove joins the leg. The full workflow is covered in Section 21, The Flown Track Tool.
With an autorouter account connected (Section 4.4), each leg can be routed and filed under your own account. You can file both IFR and VFR flight plans — the channel follows the leg’s flight rules (Section 17.3). Until you connect, the buttons still appear but prompt you to connect first.
Finds and validates IFR routes for the leg using your autorouter account and the leg’s aircraft. Open it from the route editor (Modify › on the route card → ✈ Auto route) — it lives with the route text it produces. If no matching aircraft is found in your autorouter fleet, you’re guided to create / match one. (Auto route applies to IFR only; for VFR you enter the route yourself.)
Each result is one line: number, the route as chips (scrolls sideways when long), distance · time · fuel, and Try. Try applies that route to the leg so you can look at it on the map — it is a preview, not a commitment:
A route from Auto route carries locked procedure points (a SID is a designator, not a point), so its route card shows the From and To as text rather than fields — typing an endpoint would rebuild the waypoint list and throw the procedure route away. Everything else still works: the aerodrome names open their popups, the alternate row is there, and Modify › opens the route editor, which round-trips a procedure route unchanged — designators, speed/level group and all — so you can re-run Auto route, validate it, or edit the points by hand.
Copy filed route, a link under the route card beside Download .fpl, copies the exact field-15 string that will go to ATC — hover it to read the string first. It is offered only while that route still matches the leg’s waypoints.
Checks the leg’s current IFR route against Eurocontrol (IFPS / CFMU) validation without re-routing — useful after hand-editing waypoints. It sits in the route editor beside Auto route; pressing it closes the editor, and the verdict — with the route it judged — is listed under the leg’s actions on the Route tab, so you can fix the route before filing.
Each leg’s File tab is the ICAO flight-plan form itself. The leg’s status rides as a chip on its row in the leg list and in the leg header (e.g. Filed, with a CTOT chip when one is issued). Without an autorouter account the tab says so and points to Settings → Autorouter. How a filed plan is transmitted depends on the flight rules (field 8):
The view is the full ICAO flight plan, pre-filled from the leg and the aircraft profile. You can edit any field; an Assembled FPL preview at the bottom shows the exact message that will be sent and updates live as you type. The boxes follow the ICAO item numbers:
| Item | What it is |
|---|---|
| 7 — Aircraft identification | Registration (no hyphen) or callsign, max 7 characters. |
| 8 — Flight rules / type | I (IFR), V (VFR), Y (IFR→VFR), Z (VFR→IFR), and flight type (usually G — general aviation). This field decides the IFPS-vs-AFTN channel. |
| 9 — Number / type / wake | Aircraft count (blank for a single aircraft), ICAO type (e.g. DA62), wake-turbulence category. |
| 10 — Equipment | Radio / nav capabilities (10a) and surveillance / transponder (10b). A ≡ picker offers a checklist. |
| 13 — Departure / EOBT | Departure ICAO and off-block time (UTC, HHMM). The EOBT is taken from the leg’s departure time. |
| 15 — Speed / level / route | Cruising TAS, level (or VFR), and the route string. |
| 16 — Destination / EET / alternates | Destination ICAO, total time enroute, and up to two alternates. |
| 18 — Other information | DOF/, PBN/, REG/, OPR/, RMK/ … with a PBN picker and a field-18 editor. The RMK and Slot (ASL) helper boxes fold their text into item 18. |
| 19 — Supplementary | Endurance, persons on board, emergency radio, survival gear, life jackets, dinghies, aircraft colour and pilot-in-command. Kept by the filing office for search & rescue — not transmitted to ATC. |
Item 19 C/ (pilot-in-command), and a contact phone in RMK/, pre-fill from your captain profile (Settings → Captain). Three buttons sit above the filing bar: Validate (IFPS) runs the route / format check (for a pure VFR plan it notes that IFPS isn’t applicable), Copy FPL copies the assembled message, and Reset to computed discards your edits and rebuilds the plan from the leg.
The filing bar at the bottom of the view offers only the actions valid for the current stage. You confirm before anything is transmitted — the prompt names the channel (IFPS or AFTN).
The leg’s row, the leg header and the File tab all carry a colour-coded status chip mirroring this state. Every filed plan is also reachable from Settings → Autorouter → Manage filed flight plans.
Edits you make in the form are stored on the flight (so they survive reload and sync) and flow into both the assembled message and Validate route. When a plan is already filed, the form keeps the two versions clear:
Prepare Flights includes a data-driven Weight & Balance tool: set up your aircraft’s W&B once, then load each flight and see the take-off and landing mass and centre of gravity checked against the envelope — on screen and in the printed briefing.
Open Settings → Aircraft, edit one of your aircraft (a custom aircraft, not a built-in template), and find the Weight & Balance block. There are two ways to start:
De-icing fluid (TKS) and other consumables are entered in litres and converted to mass using their fluid density.
Every number must be in the units shown above it. A POH often mixes them — limits in kg, an envelope in lb, an empty CG in metres while the station arms are in inches — and a mismatch is invisible in the results: the arithmetic stays correct and simply reports that the CG is outside the envelope. The editor therefore checks the model against itself and warns in amber when something cannot be right: an envelope whose masses don’t bracket MTOM (naming the likely unit, e.g. “they look like lb”), an empty arm outside the envelope’s arm range, or a mass limit below the empty mass. The same warnings appear above the results on the leg’s W&B tab, so the aircraft is fixed in Settings rather than hunted for in the loading.
The CG chart is always scaled to the envelope. A loading that falls outside it is pinned to the edge of the chart as a triangle and named in red (“T/O off scale”) rather than stretching the axes, so the envelope stays readable even when the model or the loading is wrong.
W&B is checked per leg — each take-off and landing with that leg’s own fuel, so a multi-leg trip’s intermediate stops aren’t missed — and it is edited inside the leg, on its W&B tab, which opens straight onto the work with the verdict in its heading. The tab has something to show once the aircraft has a W&B model (above) and the leg has both ends.
The verdict uses four marks in the W&B tab’s heading; the W box on the leg’s row says the same thing in colour (Section 17.4.2):
| ✓ | within limits |
| ⚠ | outside limits |
| ? | no occupant / cargo loads entered — it computes, but empty aircraft + fuel is not a weight & balance |
| — | not computed |
There is no flight-wide roll-up: on a multi-leg flight the W box on each leg row is the at-a-glance answer, and tapping the row opens that leg.
Need a quick check without a flight open? The Menu in the bottom-left corner has a Weight & Balance row that opens the same calculator with an aircraft picker. (It was a button inside the flight-plan library until build 2343 — which meant opening your list of saved flight plans to reach a calculation that is not about any one of them.)
When you’ve entered loads, the printed briefing gains a Weight & Balance load manifest per leg — an itemised list (people / cargo / aircraft items), a full weight table with fwd/aft CG limits, a CG chart, and a captain-signature line — a document you can sign and file.
The Calendar button (among the flight’s actions in the left column, under the legs) downloads an .ics file you can open in Apple Calendar, Google Calendar or any calendar app — so your planned flight shows up as an appointment, and is easy to share with a passenger.
Set a departure time on at least one leg first. This is a one-off snapshot (no live subscription): if you change the flight later, add it to your calendar again.
Menu (bottom-left) → Print › → Current view opens a print-ready briefing of the map as it is now. The briefing opens in its own window for review; click Print there (or Ctrl/Cmd+P) to print to paper or “Save as PDF” for a paperless kneeboard reference. The pages are laid out in landscape — some browsers (notably Safari) don’t switch orientation automatically, so pick Landscape in the system print dialog if needed.
The row opens a submenu rather than a window of its own — a page of the same menu, with ‹ to go back. It is in three parts. First, what you can print without choosing anything: the Navlog of whatever line is on the map (Section 18.3), the Weather overview page, and Current view — exactly what the map shows at that moment. Then the views you have saved yourself, most recently saved first (Section 9.5 — a built-in view is printed by applying it and choosing Current view): every row below that rule asks you to pick a layer set first, which is what separates them from the three above it. Then what every sheet carries besides the map, below. Print had a tile of its own in the top-right column until build 2330, and that tile opened a second floating window to show these same lines.
The Weather overview page in that submenu is generated rather than captured: four model panels for the flight area — Winds, Cloud + convective, Icing and Ceiling — flight category — on a plain outline base with your route drawn across each one, all at the time the bar is on. Three of them read the whole SFC–FL240 column; the winds panel has to pick one level, and it says which in its title. It picks the level you are flying: the cruise level of the route or flight on the map (the highest one, on a flight with several legs), failing that your aeroplane’s service ceiling, and failing both FL100. That altitude is turned into a level by the same banding the route winds use, so the panel and the navlog’s head/tailwind cannot disagree about which rung an altitude belongs to: under 2,500 ft → FL025, under 7,500 → FL050, under 12,000 → FL100, under 16,000 → FL140, under 21,000 → FL180, above that FL240. Until build 2903 the level was fixed at FL180 on a computer and FL100 on a phone or tablet, which is to say it answered nobody’s flight; the two now agree. (Which of the two renderers you get still depends on the device — image panels on touch devices, live map panels on the desktop — but only the drawing differs, not the level.)
A map print is a map sheet. Until build 2910 it was a map sheet plus everything the app could say about whatever was on the map: a quiet view came out with 25 aerodromes and their METARs attached, and which airspace tables came with it depended on the overlays you happened to have left on — which is an implementation detail wearing the clothes of a document. The tables are three named blocks now, at the foot of the print submenu under ADD TO EVERY SHEET:
Both start off, each is remembered on this device, and the choice applies to every map print, so the pack you want is one tap the first time and none afterwards. The navlog is not among them: it is what the navlog sheet is, not a garnish on the others, and a weather sheet that arrives with a navlog attached has been turned into a different document. (A switch for it existed for three builds, 2910–2912.) Switching the aerodrome block off also skips the work behind it: the unofficial-observation sweep, the model fetch for every field without a METAR and the raw TAFs are simply not made, so a map sheet prints in a fraction of the time.
The print map is rendered in a hidden iframe so it doesn’t disturb your live session. The iframe receives the full view state via URL parameters: bounds (the sheet's box — Section 18.1 — so the map, the aerodrome table and the airspace tables all describe the same ground), basemap choice, the list of enabled weather and observation overlays, the currently selected altitude key, the time-bar offset, and the label-visibility toggles. The browser’s print stylesheet then lays each map (Section 18.1) on its own landscape page, with every appendix heading starting on a fresh page so the packet reads cleanly. The aerodrome table also fills in unofficial weather (EFLA Flyk, EFNU CloudATIS, nearest IL AWS — Section 6.6) for fields with no official METAR, before falling back to the Open-Meteo model.
With a saved route on the map, the print submenu gains one more entry:
The navlog sheet ignores the zoom thresholds. Every detail layer hides itself when you zoom out — obstacles at zoom 9, power lines at 10, VFR points at 8.5, navaids at 9, IFR point names at 8 — and this sheet is fitted once to the whole route, which for a 200 NM flight lands around zoom 7. Every one of those layers used to switch itself off on the one page you fold onto a kneeboard. Since build 2907 they draw and label themselves anyway, if the view you print has them on; the SUA area tags have worked this way for longer. Nothing appears that the view did not ask for, and no other print is affected — Current view is a picture of the screen and keeps the screen's thresholds.
Obstacles and power lines stop at 1:1 000 000. They are not symbols you read one of, they are a field you read the shape of, and past a certain scale that field is just ink — on a Gulf of Bothnia route they covered the sheet and the route line was lost inside them. The limit is written as a scale rather than a zoom, because the printed map is always 277 mm wide: the same zoom is 1:1.16 M at 60 °N and 1:0.94 M at 66 °N, and a Lapland flight should not get a denser sheet than a southern one for the same map. 1:1 M is where charting itself stops — obstacles are drawn on the 1:500 000 VFR chart and selectively on the 1:1 M, and no coarser chart shows them at all. On the page that is 277 km / 150 NM across; a 600 NM route prints near 1:4 M and gets neither layer. It is still a relaxation: on screen these two hide at zoom 9 and 10, which on this sheet is 1:540 000 and 1:270 000. Points, navaids and IFR names have no such limit — they are names, and naming them is exactly what an enroute chart does at 1:2 M.
The header prints the sheet's scale, and says so when the scale cost it a layer: “Sheet scale: approx. 1:2.6 M — obstacles and power lines not drawn at this scale”. A layer you switched on, listed in the same header, and then silently absent would be worse than one never offered.
Below that limit one more valve applies, because even a 150 NM sheet can be crowded: when more than 400 obstacles fall inside it, only the tallest of each cluster is drawn — the same test that decides which mast in a wind farm carries a height label on screen — and above that count the height numbers drop out while the symbols stay. Measured over a Lahti–Turku box (212 km, 1:765 000): 1 078 obstacles want the page, 760 of them are cluster leaders.
It is offered only for a saved route (Section 16.3). A flight plan on the map does not get it: a flight plan’s own pack, navlog included, is Briefing (whole plan) or Briefing (leg) in the Flight Planner (Section 17.8). Nothing here goes digging in a plan you are not looking at.
The workflows below walk through the app the way the tool is meant to be used — from the synoptic big picture, down to the route, down to the cruise level, then back out to airspace and observations. Times are rough budgets, not deadlines: a clear-blue-sky day might end at step 2.
BR / FG / FZFG badges on the markers flag observed fog.Mon 09Z) so the chart starts at your planned wheels-up moment.Once you’ve planned a flight you can fly it with a live moving map: own-ship position with course guidance on the chart, a running PLOG (planned vs. actual), and automatic OOOI timing that feeds straight into your logbook. It all starts from the ☉ Track-my-flight button (a crosshair circle) at the top of the top-left button column, above the route and planner buttons.
What you need: you must be signed in, and your browser must allow location access. A live session keeps the screen awake — following as well as recording — and works fully offline — see Section 20.8.
If location is blocked on an iPhone home-screen app. An app added to the home screen keeps its own location permission, separate from Safari: allowing the site in Safari does not carry over, the app has no entry in Settings > Privacy & Security > Location Services, deleting its website data does not clear the decision, and re-adding the icon does not reset it. Once you have refused the prompt, iOS will not ask again. Two things work:
app.prepare.flights in Safari instead. Location works there, and it is the same app with the same flights.Some iPhones refuse without ever showing a prompt, and on iOS 26 installed web apps have been reported as denied on phones where earlier versions worked. Occasionally the prompt opens in Safari’s window instead of the app’s — worth a look before resetting anything. None of this is under the app’s control.
The screen stays on in both stages. Following holds the screen awake exactly as recording does: the map is open and the aeroplane is moving in both, and the app cannot tell a flight from a position check by looking. If you use ☉ on the ground as a quick check of where you are and would rather it did not pin the screen, turn off Keep screen awake while following in Settings › Track my flight. Keep screen awake above it is the master switch and covers recording too.
When the system refuses to keep the screen on, the app says so instead of letting it quietly go dark: ⚠ Screen may sleep appears on the ▶ Start flight pill while following, and as an amber band in the flight panel while recording. Low power mode is the usual reason (it blocks the request outright on iOS and Android); a browser too old for the feature is the other. Returning to the app from the home screen or another app makes it try again, so the warning clears by itself once the block is lifted. Nothing is shown when you turned the setting off yourself — that is an answer, not a fault.
While a flight is running, a compact panel sits at the bottom of the map:
There is no Stop button on the panel: ending the flight is Stop & save flight in the ☉ button’s menu, a full-size target rather than a small chip. Pan the map away and a ⊙ Recenter button appears; after 20 seconds without a gesture the map follows the aeroplane again by itself (Re-centre automatically in Settings › Track my flight).
Starting a flight grows the map’s buttons for a thumb on a yoke and draws them as an outline over the chart rather than a filled tile, so the terrain runs straight through them. It happens by itself — the app already knows when you are flying, and a mode you have to remember to turn on is one you turn on at the hangar and forget in the air. If you would rather the controls stayed their ground size, turn off Bigger controls in flight in Settings › Track my flight.
Nothing is hidden any more. Until build 2669 this also cut the planning tools out of the map — presets, filters, the flown-track tool, the route editor, the planner, SWC, print and the whole bottom-left column — and a FLY badge sat at the top of the right-hand stack to put them back again. The list it was cutting emptied on its own as the map was tidied: the weather menus became one Layers sheet, the ⌄ and ⋯ folds went, the two route tiles merged. What was left to hide was four buttons, which is not simplifying a screen, and the badge was an escape hatch from a room with no walls. Both are gone; every control you had on the ground is still there in the air, only larger.
A recording with a leg linked to it takes the map’s route slot: the map shows the flight plan being flown, not whatever route you had selected on the ground. That selection is remembered and handed straight back when the recording ends — taking the map for the duration of a flight is not the same as undoing your choice.
The layer strip keeps its route chip, and in the air it keeps only its × — taking a line off the map is a display choice and belongs in flight; opening an editor is planning and does not. For the same reason the route’s line stops being a door into its editor while you are flying.
Unlink the leg (the chip in the flight panel → Don’t link) and the map goes back to whatever it was showing, since an unlinked recording has no route of its own to draw.
While following, the aeroplane is held a third of the way back from the centre along its track, so two thirds of the map shows where you are going (Look ahead; below 25 kt it is simply centred), and a dead-reckoned Predicted path runs off the nose with marks at 1, 2 and 5 minutes — where it leaves the magenta line, you are drifting. While a leg is flown the map shows only that leg of the plan (Map shows only the tracked leg). All three are in Settings › Track my flight.
At the top of the HUD sits the airspace strip: two fixed rows for frequencies — the upper one names the area you are in now with its frequency, the lower one what comes next and when — and a third for special use airspace (below). Rows that never move, because a strip which re-lays itself every time an ATIS or a second frequency appears is a strip you cannot read in flight. Departure and arrival slot in where they belong — the field’s ATIS and ground before taxi, the arrival ATIS in its five minutes before descent, ground again on final. The prediction follows your flight plan while you are on it (within 3 nm of the active leg and going the right way along it) and falls back to your ground track on vectors, and every point along it is evaluated at the altitude you will actually be at — climbing out of a small field the answer is the TMA, not the ACC you would meet by staying level. At the lead time set in Settings → Track my flight the lower row turns amber, counts down and, if you asked for it, chimes. The strip can be switched off in the same place; a live warning still shows itself regardless, since a chime pointing at nothing on screen would be worse than the row.
Tap the strip for the full picture. First the vertical column of every area stacked over your present position — the answer to “if I climb, who do I talk to” — then the origin and destination field frequencies, then the whole chain ahead: up to eight crossings, 90 minutes or 250 nm along the route, whichever runs out first (and never past the destination, because the flight does not go past it either). Near crossings are given as a duration, ones more than 40 minutes out as the clock time they happen at — “+64 min” is arithmetic homework, “12:47Z” is a time. A run of ACC sectors on one controller prints the call sign once: what changes down that list is the numbers, and repeating “HELSINKI CONTROL” five times only buries them.
Areas the countdown steps over are shown, not hidden. An area held for less than a minute is dimmed and labelled with how long it lasts (~42 s) — nobody works two frequencies for that, so the countdown goes to whatever follows it. But an area that simply vanished from the list would read as a wrong prediction rather than as a deliberate rule, so it stays on the page.
The third row answers a different question from the two above it, which is why it is a row of its own and not another line of the same list. “Whose frequency” is a question of containment: one area, one answer. “May I be here” is a question of conflict: several areas at once, no winner — and the case that matters most to a VFR flight is the one where you are not inside anything at all. Skirting a live danger area is the whole point; being beside a TMA means nothing.
The row is always there whenever the strip is, and it changes state rather than coming and going — a row that appeared and vanished with the airspace would shove the two above it around, which is exactly what the fixed rows exist to prevent. It shows one of:
| What it says | What it means |
|---|---|
SUA · none live | Checked, and nothing live within 2 nm of your track. If the reading has gone stale it says how old it is, because a confident “nothing here” from old data is the one sentence in this feature it would be dangerous to print. |
SUA · not read | No activation picture yet — not the same statement as “nothing here”. |
12 min name | Your corridor enters that area in twelve minutes. |
1.4 nm off | An active area passes 1.4 nm to one side. The words off are there on purpose: in a column where every other row says how long until you reach something, a bare distance reads as distance ahead. |
| amber | You will enter it within your warning lead time. |
| ⊘ IN | You are inside an active area now. |
Only entering one ever warns you. Passing beside a live area never chimes and never colours the row: a VFR route runs along the edges of live areas all day, and an alert that fires on every one of them is an alert you stop reading — taking the penetration warning down with it. When it does warn, the chime is three notes, where a boundary ahead gets one and a boundary crossed gets two.
Only areas that are live are listed. Finland publishes hundreds of TSA/TRA areas that sit dormant unless the
AUP takes them, and listing those is how the one area actually taken gets buried. An area whose reservation cannot be looked
up is not quietly dropped — it stays, marked reservation ?. A band that could not be resolved (a floor
published above ground level, with no terrain on this path to resolve it against) is marked band ? and the area is
kept. Absence of a verdict is never treated as a verdict of “clear”.
In the sheet, the same areas get their own section, grouped as the ones you are inside, the ones ahead and the ones you will pass, with the age of the activation reading printed above them. Tap any of those rows for that area’s full card — the same card the map gives when you click the area itself, opened over the list so you keep your place and the map keeps following the aeroplane. The list is capped, and when it caps it says how many it did not show.
Switch the row off in Settings → Track my flight → Special use airspace line.
When ATC passes one over, say so. Sectors get skipped in real life: you are handed straight past the next one to the one after it. Tap that row and it is waved off — it stays listed, greyed, its frequency struck through, and the strip’s next row and countdown move on to the one you were actually given, immediately. Tap it again to put it back. A wave-off overrides a prediction that may yet turn out to have been right, so it is never permanent: it retires the moment you enter that area anyway, retires by itself if the area falls out of the prediction for a minute (a re-plan, a turn, or simply having passed it), and it ends with the flight. Nothing is carried forward — a frequency waved off on one leg must never start the next one silent.
The app stamps the four OOOI events — off-block, take-off, touchdown, on-block — from your movement, and derives block and airborne time. You don’t need to touch them in flight: everything is reviewable with ±1 min nudges on the finish sheet (20.6), or live on the expanded HUD’s OOOI strip if you prefer.
It works wherever you land. A landing is recognised from the aeroplane being slow and its altitude no longer changing — not from being near the departure field’s elevation, which is the ground you left. Divert to a field 900 ft higher, land on a lake, put down on a strip nobody has surveyed: on-block still registers, the Flight complete pill still appears, and the recording still stops.
More than one landing on one recording. A fuel stop, a precautionary landing or a full-stop circuit no longer ends the timing. Off-block stays where the day began and on-block follows the last landing, so block time spans the whole thing — while air time counts only the segments actually in the air, not the hour on someone else’s apron. The take-offs and landings are counted as they happen and arrive pre-filled on the finish sheet.
What you enter always wins. Detection is deliberately slow to commit (on-block, for instance, wants a full minute stopped), so tapping Now the moment it happens usually beats it. A time you set, nudge or confirm is locked: the detector will not write over it, and the strip marks it set by you. The other events are still detected normally, so an early tap on the wrong one costs you nothing but that one time. On an event that hasn’t happened yet, −1 / +1 set it relative to now — handy when the moment has just passed.
Tap the ALT cell to set the level you were cleared to when it is not the one you planned. The list offers 500 ft steps around where you are, with the planned level and your present altitude both marked. It is used for two things: how high the airspace prediction looks ahead, and whether the GS vs. plan readout is being computed at cruise at all — a climb to a different level is not a slow cruise. While a clearance is set the cell’s label reads CLR 7000 ft instead of GPS ALT, so the number the app is reasoning with is never a hidden state, and the position report quotes it. The flight plan is not changed; Back to the planned level undoes it. In the simulator the aeroplane actually climbs or descends to the level you set, at the aircraft’s own rates, so the clearance can be flown rather than only declared.
POS on the HUD writes the position report you read on the radio — where you are from a named reference, your altitude, and the rules and route of the linked leg (“10 miles east of Nummela, 2500 feet, VFR EFHV to EFTP”) — and freezes it, so it does not change while you are transmitting. The sheet shows how old it is; Update takes a fresh one and Copy puts the text on the clipboard. A dashed yellow line on the map runs from the reference to you, because the direction (from the place to you) is the part that is easy to say backwards.
The reference is picked for how readily a controller will place it — a reporting point or an aerodrome with ATS beats a closer private strip — and the runners-up are listed under Say it from: tap one to use it instead. The altitude is the planned (or cleared) level while you are within 200 ft of it, otherwise GPS altitude rounded to 100 ft, and the line under the sentence says which; tap it to type the level you want reported, which then sticks for the rest of the flight. With no named reference within 40 nm the report is given as coordinates.
The Emergency tab, headed Squawk 7700 · 121.5, gives your position as coordinates with altitude, track, ground speed and the nearest aerodrome.
Log on the HUD (or a tap on the WPT ETA cell) opens the PLOG — one row per waypoint, plan against reality. On phones it is a bottom sheet: drag the handle to resize, drag it down to close. A pinned line at the top sums up the destination ETA, Δt, fuel difference and reserve, with the waypoint you are flying to pinned under it as NEXT; Detailed in the header adds per-segment time and burn columns, and ⚙ opens the Track-my-flight settings.
The track is autosaved every few seconds. If the session is interrupted — crash, reload, dead battery — the next launch either resumes the live recording seamlessly (fresh interruptions) or offers a recovery banner with Save to plan, Save to logbook and Discard. Even if the original flight plan has been deleted, the flight is saved to the logbook rather than lost.
Your upcoming flight’s data — weather, NOTAMs, charts and basemap tiles along the route corridor — is packed automatically in the background (see Section 24, Offline). GPS itself needs no connection, so own-ship, course guidance and the PLOG keep working in the air; the saved track syncs once you’re back online. Before heading somewhere without coverage, open Menu → Offline packs and press Refresh now for the freshest weather.
While a flight is running, a button appears at the bottom of the top-right control stack showing an aerodrome’s ICAO code. One tap opens that field’s charts in the plate viewer (Section 6.8) — with your position on the page wherever the chart carries it. The button exists only while a flight is live and disappears when you finish.
Which field it offers changes with the flight, and the code on the button is how you see it change:
| When | Button | It opens |
|---|---|---|
| Before takeoff — taxiing out | Departure field | The aerodrome chart, i.e. the taxiways |
| Airborne (from the moment OFF is recorded) | Destination | The visual approach chart where one is published, otherwise an approach or aerodrome chart |
| After landing | Destination | Still the destination — which is its aerodrome chart, for taxiing in |
Whatever it opens, the viewer’s own picker and the ‹ › edge arrows reach every other chart at that field in one more tap, so the button only has to get you to the right aerodrome.
Flying without a plan? A recording that is not linked to a planned leg — a local flight, a session started from the map, the simulator — still gets the button: it then offers the nearest aerodrome within 15 NM, which is the field you are taxiing on or the one you are arriving at. Linking the recording to a leg (tap the HUD’s “Link to plan” chip) gives the better answer, because the plan knows where you are going before you get there.
The button is hidden when the field in question has no charts at all, so it never opens onto nothing.
Everything in this section is easier to learn by doing than by reading, and none of it can be practised in the air for the first time. So the app will fly for you: Menu → Try a demo flight (the person-icon button at the bottom left). It works with nothing set up — no flight plan, no aircraft, no account.
It demonstrates this section and no more. A demo flight is about the app in the air — the HUD, the airspace strip, the frequencies ahead, the OOOI times, the flight panel and the finish flow. Planning a trip, briefing it, the weather layers, the charts and the logbook are all things you do sitting down, and you can try those simply by doing them. This is the half that otherwise has to be learned while flying.
It is the real thing with an invented position. The map, the HUD, the airspace strip, the frequencies, the NOTAMs, the OOOI detection, the finish flow — all of it is the same code doing the same work it does in flight. Only the aeroplane is made up. That is what makes it worth practising on, and it is also why it is fenced in as carefully as it is.
You can also just take the controls. Touching any of the heading or level arrows during a guided flight hands you the aeroplane where it is, at its present position, level and heading. There is no separate button for that, because grabbing the controls needs no explaining and a button does.
The speed buttons (1× to 60×) compress time, so a forty-minute leg can be watched in forty seconds. The panel minimises with the chevron — it sits over the middle of the map, which is where the aeroplane is — folding away the mode row and the commentary and leaving the controls you reach for while it flies.
A demo cannot leave a mark, and this is deliberate rather than incidental:
To leave, tap the Exit on the amber banner. That closes the demo, releases the position back to the device and tidies the demo route away. The panel’s own × does the same thing.
Short callouts appear as the flight goes, pointing at whatever has just started happening — the HUD, the strip, the amber boundary row, the special-use row, the finish flow. One at a time, each once, and Skip tips turns them off for good.
The Flown Track tool shows the route you actually flew — every flight the app is holding, plus whatever Flightradar24 still has — so you can review the flight and compare it against your plan. Open it from the Menu button (person icon, bottom-left) → Flown track, the row next to the Logbooks it feeds. It had a button of its own at the bottom of the top-left control stack until build 2329 — it is something you do after landing, not a control you reach for in the air, and that stack is what you navigate with. (To record a flight live from your own GPS instead of pulling it afterwards, use Track my flight, Section 20.)
What you need: the lookup is keyed on your aircraft’s registration, so add your aircraft (with its registration) in Settings → Aircraft first. The flight must have been seen by Flightradar24’s ADS-B network.
Pick an aircraft from the dropdown. The list is one column, newest first, and it holds every flight for that registration whatever road it came in by: flights you recorded in the air, flights imported from Flightradar24 and saved to your pilot log, a flight plan leg or the aircraft log, and whatever Flightradar24 still has from the last 14 days. A flight that is in both places is one row.
The stored flights are listed the instant the window opens, before any request goes out — so the tool works with no network, and a Flightradar24 outage costs you the last 14 days, not your own history. Flightradar24 forgets after about a month; anything you saved is yours for good.
The chip on the right says where the track came from:
| Chip | Means |
|---|---|
| FR24 ↓ | From Flightradar24 and not on this device yet. Opening it fetches the track and spends one lookup from your quota. |
| FR24 | From Flightradar24 and already on this device — it opens straight from the device, with no lookup and no network. Hover it to see whether that is because you saved it, or only because you have looked at it before (see below). |
| Recorded | Recorded by this app in flight (Track my flight, Section 20). |
| Sim | A simulated flight. Marked everywhere, and never counted in pilot-log totals. |
The second line says which log the flight is in — pilot log (your own hours, the Logbook window), aircraft log (what the airframe did, including flights someone else flew), pilot log + aircraft log, or not logged in amber. Those are different books: a renter’s flight belongs in one and not the other. A flight is recognised as logged even when the entry was typed in by hand with no track attached, so an import will not quietly duplicate one you already have.
If the same flight has more than one stored track, the row says so — 5 tracks in amber — and lists the flight once. That is duplicated storage rather than duplicated flying: builds before 2681 wrote a new track record every time a flight was saved again, instead of overwriting its own. The count is left visible because those copies sync, and nothing can clean up what a list has quietly tidied away.
If the flight is also attached to a leg of a flight plan, the plan is named after it in blue — plan: Tampere weekend. That is a different thing from being logged, and worth seeing: only a flight linked to a plan has a debrief, a planned-versus-actual comparison and a navlog behind it.
Click a row to load its track; click it again to close it, which also takes the track off the map.
Opening is not saving. A lookup you have paid for is kept on the device, so the same flight never costs two lookups — the arrow disappears and the row opens for free from then on, even after a reload. But that shelf is a convenience: it holds the last 15 flights (up to about 400 kB), it is not synced to your other devices, and older entries are dropped as new ones arrive.
A flight becomes yours only when you save it — Save to … / Attach to this leg, Log to pilot log, or Aircraft log only. That writes the track to your own store: it syncs to your other devices, it is available offline, it is never fetched from Flightradar24 again, and it outlives Flightradar24’s own history (roughly 30 days). If you want a flight in a year, save it now.
Selecting a flight opens a detail card under its row, with one primary button chosen by the situation — Attach to the leg when you came from the planner, Open in pilot log when the flight is already logged, Save to the leg when one saved leg matches it (Save to a planned leg… when several do), and Log to pilot log when nothing does. Everything else is one tap away under More: the other destinations (Aircraft log only for a flight that is not yours; Change the plan it belongs to… on a logged flight), Compare vs planned (only when a planned leg matches), ▶ Play and Export GPX. The card carries:
~.Under the buttons, the card repeats the same state with a line per book — ✓ Already in the pilot log (with the plan it is attached to, if any) and ✓ Already in the aircraft log — each with its own way in: Log flight details opens the entry, Open aircraft log opens the airframe’s. A flight in both books shows both lines. Right after a save the line says Saved to… / Added to… instead, and the row above updates at the same moment.
You can attach a flown flight to a leg in the Flight Planner and keep it with the trip. There are two ways in:
Once attached, the header chip turns to ✓, the button becomes Show flown track / Hide flown track, and the leg gains an Actual flown comparison block: actual block / airborne times, distance flown, max altitude / speed, and how far the track strayed from the planned route (max and RMS cross-track distance). The profile draws your planned cruise altitude for reference.
More → Export GPX downloads the flown track as a GPX file (lat / lon, altitude and timestamps) for use in other tools.
A built-in pilot logbook that fills itself from the flights you fly — EASA-style — and is fully editable. Open Logbooks from the Menu button (person icon, bottom-left): it is one window with two tabs, Pilot log (this section) and Aircraft log (Section 23). Like the moving map, it is available to signed-in users.
Until build 2343 these were two separate windows reached from two separate menu rows — the pilot logbook from its own row, the aircraft log from a tab inside the Flights library — and you had to remember which window held which. They are two tabs of one window now, and the flight-plan library is only flights again.
The logbook follows EASA conventions so it can stand in for a paper logbook:
Tap any row to open the inline editor — adjust times, function, landings, fuel or remarks; times cross-fill (OUT↔OFF, IN↔ON) so block and airborne stay consistent. Summary cards at the top total Total time (block time, per the EASA basis above), IFR, VFR, Night, PIC and SE / ME hours and the number of Flights, plus Landings (90d) — the rolling 90-day landing count, with the block time of those 90 days beneath it. The cards follow the filters (22.4).
For a flight on a recognised aircraft (its registration matches a saved profile in Settings → Aircraft) a Consumables section appears: fuel at start / remaining, TKS at start / remaining (anti-ice only) and oil added. These feed the Aircraft Log and the Flight Planner’s fuel-on-board estimate — the remaining you log becomes the aircraft’s known fuel state for your next flight.
The Print button renders a printable EASA logbook page — the standard column layout with running and page totals and signature columns — covering the rows currently shown. It opens in its own window; use “Save as PDF” for a paperless copy or print it for a physical logbook.
The Aircraft Log tracks an airframe’s utilisation — air time plus fuel, TKS and oil — separately from your personal pilot logbook. Where the pilot log answers “what did I fly?” (EASA hours), the aircraft log answers “how much has this aeroplane flown, and what has it burned?” — across every flight, including ones flown by other pilots. It is the second tab of the Logbooks window (Menu → Logbooks → Aircraft log). Like the pilot log, it is available to signed-in users, and it never affects your EASA hours.
Each flight has a single home, so you never enter it twice:
Because your own flights come straight from the logbook, the + Add flight button is meant only for flights that are not already in your logbook.
+ Add flight opens an editor: date and registration, From / To (with ICAO search and auto-uppercase, like the logbook), OFF / ON times (air time is computed as ON − OFF, or type it directly), and consumables — fuel at start / remaining, TKS at start / remaining (only for an anti-ice aircraft) and oil added. “At start” pre-fills from the airframe’s last known remaining, so each flight continues from where the previous one ended. Tap any MAN row to edit or delete it.
The Export (▾) menu writes the selected aircraft’s flights as CSV or Excel (.xlsx, durations as h:mm). The export includes the logbook-sourced flights too — so it is the airframe’s complete picture — minus any duplicate manual rows. Export works even with no flights, giving you a headers-only template to fill in for an import.
Print renders an airframe utilisation record: date, route, OFF / ON, air time, fuel used and remaining, TKS used, oil added, pilot and note, with a totals line and a signature block. It is not the pilot log’s EASA page — an aircraft log has no such form, and what this document is for is showing an airframe’s hours and consumption to a maintenance organisation, a co-owner, or whoever rents the aeroplane. It opens in its own window; use “Save as PDF” for a paperless copy.
Import loads flights from an Excel (.xlsx) file — handy for back-filling an aircraft’s history, or for adding air times and fuel to logbook flights that were imported with block time only.
File format. One flight per row, with these column headers (the export template has them ready):
| Column | Meaning |
|---|---|
Date | Flight date (YYYY-MM-DD, or an Excel date). |
Reg | Registration (hyphens optional). |
From / To | Departure / destination ICAO. |
Off / On | Wheels-up / wheels-down time (HH:MM). Optional — if both are given and differ, air time is computed from them; both-blank (00:00) falls back to the Air column. |
Air | Airborne time (h:mm or decimal hours). Used when OFF/ON are absent or equal. |
FuelStart(gal) / FuelRem(gal) | Fuel at start / remaining, US gallons. (Older files’ FuelAdd column still imports.) |
TKSStart(L) / TKSRem(L) | TKS fluid at start / remaining, litres (anti-ice aircraft). |
OilAdd(L) | Oil added, litres. |
Pilot / Note | Free text. |
The import preview. Every row is checked against both the aircraft log and your pilot logbook, then classified so you decide row by row what happens:
“Add to logbook” — the key action. For an IN LOG flight this fills the file’s air time and consumables (fuel/TKS at start and remaining, oil) into the matching logbook flight, but only where those fields are currently blank. Your EASA-critical figures — block time, IFR/VFR, night, landings, function — are never changed. This is exactly how you give air times to flights you imported into the logbook with block time only: the logbook keeps its block time, and gains the airborne time the aircraft log needs. Because it only fills blanks, it is the default for every confirmed IN LOG row: a flight that already has all of those figures is simply left as it was.
How duplicates are matched. A row is the same flight when the date, registration, route and air time agree. Failing that, date, registration and route are enough — deliberately tolerant of a time difference, because a logbook flight may carry block time while the file carries air time for the very same leg — as long as the take-off times agree within 10 minutes where both sides have one. If they disagree the rows are different flights; if either side has no time the row comes out as a MAYBE. The Pilot column is not used for matching: in an aircraft sheet it is usually the operator, not the PIC. The bulk buttons act on all duplicates at once: Skip all, Update all (store rows update, logbook rows get the “Add to logbook” fill; MAYBE rows are left alone) and Add all. Import (N) applies the choices.
The app works offline automatically — there is no offline mode to switch on or off. The app itself is installed into the browser, your upcoming flights’ data is packed in the background while you have network, and whenever the connection is slow or gone the app silently serves the freshest cached data it has — with a visible amber cached data pill so stale weather is never silent.
For each upcoming flight (a leg departing between 6 h ago and 72 h from now, or the flight open in the planner unless it has already been flown — at most three, soonest first) the pack contains:
Each packed flight shows a small ✈ Offline · wx X min chip on its card in the flight-plan library, and a row under Flights ahead in the Offline packs window (24.4).
Flight packs cover the route you planned. A country pack covers everywhere you might divert to instead: pick the countries you fly in, and everything that changes on the AIRAC cycle is kept on the device for every aerodrome in them, current by itself. Menu → Offline packs → Choose countries…, then tick your countries. Tapping a country’s row in the Offline packs window opens this screen at that country.
Selecting a country stores, for every aerodrome in it:
Two things are then a separate tick per country, because their costs are not comparable. They appear under a country once you have selected it, each with what it would cost:
The map figures are what that country would add. Neighbouring countries share more than half of this data, so Sweden reads 20 MB on its own and 13 MB once you already have Finland — and every row’s figure changes as you tick others. A country entirely covered by its neighbours reads no extra space, which is a real answer and not a missing one.
What is not in this download: weather, NOTAMs and the hazard charts. They perish in hours, so downloading them by hand buys nothing — they refresh on their own for these same countries while the app is open (24.5). Nor is the aeronautical data — airspace, navaids, airways, obstacles and reporting points — a per-country choice: it is about 15 MB for the whole region and every device keeps all of it.
Menu → Offline packs (the window itself is headed Offline) is the one place to see and manage everything. A summary line at the top says what is stored and whether it is current — 2 countries and 1 flight stored · all current · weather 40 min old — and names the problem instead when there is one: weather not fetched yet or more than 6 hours old, or a country download older than an AIRAC cycle (28 days), since map tiles never expire on their own and an old pack goes on showing the previous cycle’s chart content offline. It is a statement of what is stored, not a verdict that you are ready to fly. Below it, everything is grouped by whose data it is:
The buttons along the bottom: Refresh now refreshes the aeronautical data, the airport summaries, the weather and NOTAMs for your countries and the flight packs, lighting up each group while it works on it, and then reports what it did — or why the weather was not refreshed. Approach charts are not included: those are the download with a size on it, above. Choose countries… opens the country screen (24.3), and Free up space… the clearing options (24.8).
Weather and NOTAMs are never part of a download you press. For the countries you have selected, and for the airports of your upcoming flights, they keep themselves current in the background while the app is open — at most every 3 hours, and the summary line of the Offline packs window says how old the weather is. That covers METAR, TAF and NOTAMs, the area NOTAMs, the SIGMET and LLF hazard documents, and the model forecast behind the airport Weather tab.
One difference is worth knowing before you meet it in the cockpit: the stored model forecast runs 48 hours, where a connection gives seven days. Offline you will see two days rather than a seven-day frame with five days of blanks — what is stored is what is shown.
Works offline (from packed data): airport popups with METAR / TAF / NOTAMs / AIP / charts and the Weather tab’s model sections — the hourly strip, freezing level, icing, turbulence and convection — for every aerodrome in your selected countries and on your packed flights; the Flight Planner and library; the briefing print; the in-flight moving map and Track my flight (GPS needs no network); PLOG; logbook and aircraft log; the basemap in packed areas and the regional map of your selected countries; Help and this manual.
Needs network: live map weather layers (winds, clouds, icing, turbulence…), radar and satellite, SWC and LLF charts, webcams, live traffic, AI summaries, autorouter (validation, filing, CTOT), Flightradar24 import, and weather for arbitrary map points — the click-anywhere popup away from an aerodrome you have stored.
Saving a flight, logbook entry or setting while offline stores it locally at once and queues the server push. The queue drains automatically when the network returns — no buttons.
Packs, charts and tiles live in the browser’s local storage; the This device heading in the Offline packs window shows how much this browser grants and how much is in use. Free up space… lists what can go, each with what it holds and what comes back by itself — nothing on it touches your flights, logbook or settings:
If the device runs critically low on space the app protects itself by skipping large downloads until space is freed. The per-aerodrome forecasts are the first thing it will skip: they are the most replaceable data here, and going without them costs a panel section rather than the app.
Wind barbs follow standard meteorological conventions. The staff points to where the wind comes from: the feathers sit on the upwind end and a small dot marks the downwind end — a staff running north from its dot, feathers at the top, is a northerly wind (from the north). Speed is encoded as additive feathers on the staff:
Wind speed is rounded to the nearest 5 knots. Barbs are additive: a pennant + two full barbs + one half barb = 75 kt. With the Winds aloft layer set to report gusts (Section 4.1.1) the barbs show the gust.
Barbs are not the only wind symbol in the app: the wind chip under an airport marker and the arrows in the forecast tables point the way the air is going — downwind — the opposite of a barb.
| Cat | Letter | Colour | Ceiling | Visibility | What it implies |
|---|---|---|---|---|---|
| VFR | V | Green | > 3,000 ft | > 8 km | Comfortable VFR |
| MVFR | M | Blue | 1,000–3,000 ft | 5–8 km | Marginal VFR — experienced VFR pilots only |
| BIR | B | Orange | 600–999 ft | 1.5–5 km | Below IFR base — instrument approach territory |
| IFR | I | Red | 500–599 ft | — | Standard IFR conditions |
| LIFR | L | Purple | < 500 ft | < 1.5 km | Low IFR — CAT II/III approaches |
| Code | Meaning | Code | Meaning |
|---|---|---|---|
| RA | Rain | BR | Mist |
| SN | Snow | FG | Fog |
| DZ | Drizzle | HZ | Haze |
| PL | Ice pellets | FU | Smoke |
| SG | Snow grains | DU | Dust |
| GR | Hail | SA | Sand |
| GS | Small hail | SQ | Squall |
| TS | Thunderstorm | FC | Funnel cloud |
| FZ | Freezing | SS | Sandstorm |
| SH | Shower | DS | Duststorm |
| BL | Blowing | VA | Volcanic ash |
Modifiers stack: +SHRA = heavy rain shower; -FZDZ = light freezing drizzle; VCFG = fog in vicinity.
| Code | Coverage | Oktas | Forms a ceiling? |
|---|---|---|---|
| FEW | Few | 1–2/8 | No |
| SCT | Scattered | 3–4/8 | No |
| BKN | Broken | 5–7/8 | Yes |
| OVC | Overcast | 8/8 | Yes |
| VV | Vertical visibility | — | Yes (special: in fog/precip) |
| Measurement | Unit | Notes |
|---|---|---|
| Wind speed | Knots (kt) | 1 m/s = 1.944 kt |
| Visibility (Europe) | Metres | 9999 = 10+ km |
| Visibility (US) | Statute miles | 1 SM = 1,609 m |
| Ceiling / Altitude | Feet (ft) | 1 ft = 0.3048 m |
| Temperature | °C | "M" prefix in METAR = negative (M05 = −5 °C) |
| QNH (Europe) | hPa | "Q" prefix (Q1013) |
| QNH (US) | inHg | "A" prefix (A2992 = 29.92 inHg) |
| Distance | Nautical miles (nm) | 1 nm = 1,852 m |
| Layer / feature | Source |
|---|---|
| Basemaps — Aeronautical (visual), Aeronautical (enroute), Standard / Light / Bright / Topographic (map) | OpenFreeMap vector tiles, rendered with MapLibre GL JS — based on © OpenStreetMap contributors (the two Aeronautical styles are re-themed to a chart look; Topographic adds Esri hillshade) |
| Basemap — Topographic (MML) | Finnish National Land Survey (Maanmittauslaitos) topographic tiles |
| Basemap — Satellite | Esri World Imagery |
| Basemap — Outline | Natural Earth coastlines and borders |
| Airport database (~22,000 airports worldwide) | OurAirports (PDDL public-domain), refreshed weekly |
| Aerodrome charts & the position drawn on them | The states’ own eAIP publications (FI Fintraffic ANS, SE LFV, NO Avinor, DK Naviair, EE EANS, LV LGS, FR SIA, AT Austro Control), served as published — the app never re-hosts or alters a chart. Where a state publishes a chart as a georeferenced PDF, the position it carries is read from that file; temporary runways and works come from the states’ AIP supplements (FI / SE / NO / EE / LV); for Finnish GA fields without an AIP chart, community charts from lentopaikat.fi (unofficial, labelled) |
| METAR | NOAA — the per-station tgftp files first, aviationweather.gov filling any gaps |
| Unofficial observations at fields without a METAR (Section 6.6) | Finnish automatic stations (FMI, via ilmailusaa.fi), Flyk (e.g. EFLA) and on-field ATIS systems (e.g. EFNU), collected by the app’s server every 5 minutes |
| TAF | FMI for Finnish fields; NOAA (tgftp, then aviationweather.gov) elsewhere |
| NOTAMs (aerodrome + FIR area) | FAA NOTAM Management Service (NMS) API, polled every 3 minutes into the app’s own store |
| Webcams (airport popup) | Fintraffic Digitraffic weathercams (CC BY 4.0), Finland only |
| Terminal Airspaces (TMA / CTR) | National eAIP ENR 2.1 + AD 2 scrape (FI / SE / NO / DK / EE / LV / LT), authoritative where it exists; Flyk for the Finnish gaps; OpenAIP elsewhere, from the app’s own per-country export rebuilt weekly |
| Special Use Airspaces (R / D / P) | National eAIP ENR 5.1 scrape (FI / SE / NO / DK / EE / LV / LT), authoritative where it exists; temporary areas from the states’ AIP supplements (FI / SE / NO / EE / LV) and, in Finland, NOTAM-driven areas from Flyk; OpenAIP (weekly export) elsewhere |
| TSA / TRA reservations (Finland) | AMC Finland’s own AUP / UUP, read from ais.fi; the local training areas from Flyk |
| ACC Sectors | The states’ own ENR 2.1 (FI / SE / EE / LV); Denmark’s FIR with Naviair’s sector frequencies; Norway’s OpenAIP outlines with AIP frequencies; OpenAIP weekly export for the rest of Europe |
| IFR Points, Airways | National eAIP ENR 3 / 4.4 scrape (FI / SE / EE / LV / LT / NO / DK), refreshed each AIRAC |
| VFR Points | Read from the states’ own visual approach charts in AD 2 (FI / SE / EE / NO), refreshed each AIRAC |
| Navaids (VOR / DME / NDB) | National eAIP ENR 4.1 (FI / SE / EE / LV / LT / NO / DK); OpenAIP weekly export elsewhere |
| Obstacles | The states’ own official obstacle sets — Traficom (FI), LFV (SE), Avinor (NO), Naviair (DK), EANS (EE), LGS (LV), Oro navigacija (LT, ENR 5.4); OpenAIP elsewhere. Symbols per eAIP GEN 2.3. |
| AMA Grid (area minimum altitude, estimate) | Computed with the Fintraffic ENR 6 AMA formula from terrain elevation tiles + the obstacle set above. Not the official AIP AMA. |
| Kaliningrad FIR (drawn as a P area) | Derived from the three neighbours’ published FIR limits — Lithuanian AIP (Vilnius CTA), Swedish AIP (Sweden FIR), Polish AIP (FIS Gdańsk / Warszawa Północ). No Russian source exists for this app, and the P class is this app’s rendering of “do not enter”, not a Russian designation; nothing inside the boundary is mapped. |
| Power lines | OpenStreetMap power-line data |
| Traffic (ADS-B) | adsb.fi community ADS-B, with adsb.lol as a fallback; aircraft / route lookups from adsbdb.com; optional flown track from Flightradar24 |
| GPS Interference | gpsjam.org daily H3 dataset (CC-BY), derived from ADS-B Exchange aircraft NIC reports — previous-day aggregate |
| Model forecast layers — Winds aloft, Cloud cover, Flight category, Visibility, Ceiling, Fog, Cloud tops, Precipitation, Convective activity, Turbulence (CAT), Icing, Freezing level, Spot forecasts, Temperatures, MSL pressure (the Model / ICON sources) | Weather: Europe — the app’s own 7 km tiles over 30–72 N, 25 W–45 E, built mainly from DWD’s ICON-EU (some cloud-top and icing levels from Météo-France ARPEGE Europe) out of Open-Meteo’s open-data copies of those models. Weather: Global — Open-Meteo’s forecast API, its best-match model blend. |
| Click-anywhere and airport-popup model forecasts, airgram, leg briefs | The same model as the map: ICON-EU inside the Europe box under Weather: Europe, otherwise Open-Meteo’s blend (MET Nordic for the Nordic region, ICON / ECMWF elsewhere) |
| Terrain profile under a route (airgram) | Copernicus DEM GLO-90 (~90 m) via Open-Meteo’s elevation service. Elevation data only — no obstacles, and not a terrain-warning system. |
| Radar (RainViewer) | RainViewer public tile API |
| Radar (FMI), CB / TCU (FMI), Storm tops (FMI) | FMI radar products (ilmailusaa.fi / openwms.fmi.fi WMS) |
| Satellite image (FMI), Cloud tops (FMI) | FMI / EUMETSAT Meteosat imagery (ilmailusaa.fi WMS) |
| Lightning (FMI) | FMI / EUMETSAT MTG Lightning Imager, 10-minute flash-count product |
| Lightning (Strikes) | FMI open data — individual ground-detected strikes from the Nordic lightning network (NORDLIS), via the app’s server |
| SIGMETs & warnings | NOAA Aviation Weather Center international SIGMET feed; FMI’s weather warnings (alerts.fmi.fi) for Finland |
| LLF (Low Level Forecast) — SE / DK / FI / EE (the LLF sources, Section 13) | ilmailusaa.fi (FMI). The same product is published by northavimet.com from the same API; the app reads FMI’s copy. |
| Low Level Forecast — Norway (the MET NO sources, Section 11.14) | MET Norway HALO WMS — MEPS / AROME‑Arctic model fields. Official flight documentation in Norwegian airspace only; model data elsewhere. |
| Area forecasts as text — Latvia’s GAMET, Norway’s IGA (airport popup) | Latvia via northavimet.com; Norway via MET Norway’s aviation-forecast API |
| SWC charts (Section 14) | FMI, MET Norway, WAFC London |
| Nordic SWC layer (FMI) | FMI’s Nordic SWC sheet (ilmailusaa.fi), its vector PDF drawn on the map |
| Euro WAFC layer | WAFC London’s EUR medium-level SIGWX chart (PGDE14 EGRR, FL100–450), published as a PNG by the Icelandic Met Office (vedur.is) |
| AI summaries (weather briefing, NOTAM explanation) | Anthropic Claude, prompted on-demand via the app’s server-side proxy |
Usage counts. To see how the app is used over time, its server counts one visit per day when the app opens. Signed in, that is a note that your account was active on that date. Not signed in, it is a code made from your IP address and browser with a key that is replaced every day — enough to count you once that day, never enough to recognise you the next — and after the day only the totals are kept. No IP address is stored, and no cookie or identifier is set for this: the device keeps only the date it first opened the app, so a new device can be counted as new. The pages also count visits with Plausible, which works the same way.
How often the aeronautical data is rebuilt. Three cadences, worth telling apart when you are judging how current something is:
| Data | Rebuilt |
|---|---|
| National eAIP scrapes — airspace, R/D/P areas, navaids, IFR points, airways, AD 2 aerodrome data (FI / SE / NO / DK / EE / LV / LT) | Each AIRAC cycle (28 days), from the state’s own publication |
| OpenAIP-sourced airspace, navaids and reporting points — the rest of Europe | Weekly. OpenAIP is volunteer-maintained and not AIRAC-locked, so it is rebuilt on its own schedule rather than on the cycle |
| Finland’s AUP / UUP reservations (AMC Finland) | Every 15 minutes through the day, re-read by the app every 10 minutes, and re-evaluated against the current hour every time the layer draws |
| Flyk NOTAM supplements and reservations | Every 15 minutes, fetched through the app’s server |
| The states’ AIP supplements | Daily |
Weather, NOTAMs and traffic are live and are not part of this — see their own sections.
Prepare Flights — User Manual
For pilots, by pilots · Updated September 2026