User Manual — Plan, Brief, Fly & Log
This is a browser-based weather and airport information 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. Here is every control you will see and what it does:
| Where | Control | What it does |
|---|---|---|
| Top-left | Search bar | Find an airport by ICAO code, IATA code, or name (Section 2.2) |
| Top-left, under ★ favourites | Filter (funnel) | Filter the visible airport markers by type, runway length, surface, ATC, country, elevation and fuel (Section 5.4) |
| Top-left, below zoom | ◉ Locate | Show your current GPS position on the map; tap again to stop tracking |
| Top-right, above the globe | Presets (layers) | Built-in VFR / IFR layouts (everyone) plus your saved viewpoints — apply to the map or print as a briefing in one tap (Section 9) |
| Top-right | 🌐 Map layers (globe) | Basemap style and airspace overlays (Section 10) |
| Top-right | ⛅ Weather forecast | Forecast layers: weather map, winds, clouds, precip, fog, icing, etc. (Section 11) |
| Top-right | 📡 Radar / satellite | Observed imagery: live satellite, daily true-colour, precipitation radar, lightning, CB and storm tops (Section 12) |
| Top-right | SWC | Significant Weather Charts (Section 14) |
| Top-right | LLF | Nordic Low Level Forecast — four independent map sub-layers: Vis/Ceiling, Turbulence, Icing, CB/TCU (Section 13) |
| 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 19.9) |
| Bottom-left | ↗ Draw airgram line | Draw a route on the map → vertical weather cross-section (Section 15). Stacked on top of the Flight Planner toggle. |
| Bottom-left | Flight planner | Multi-leg flight editor with fuel / wind / TOC·TOD planning (Section 16). Sign in required — see Section 3. |
| Bottom-left (with a flight loaded) | 👁 Flight on map | Show / hide the active flight on the map — and, on a multi-leg flight, pick which legs are shown. The printed navlog sheet follows the choice (Section 16.1.1) |
| Bottom-left | ⎙ Print briefing | Print or save the current view as a kneeboard PDF (Section 17) |
| Bottom-left corner | 👤 Menu (your initial) | The app’s one menu, and the account with it: sign in / log out, Logbook, Aircraft log, Offline packs, Settings, Refresh, Legend, Help, Feedback and About. The button shows your initial once you are signed in (Section 3) |
| Bottom-right | “Updated N min ago” | Age of the map’s weather colours, colour-coded by freshness (Section 5.2) |
| Bottom edge (always) | Time bar | Past 12 h ↔ +7 day forecast scrubber — always available (Section 8) |
| Bottom-centre (when needed) | Altitude bar | Pick the level for layers that vary with altitude (Section 8.1) |
That's the entire UI. The map fills the rest of the screen.
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.
The map, weather overlays, METAR / TAF, airgram tool, NOTAMs, SWC and radar work without an account. Sign in to unlock the Flight Planner (Section 16) and to have your saved flights, aircraft profiles and weather-layer preferences follow you across devices and browsers.
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:
The list is flat and grouped by four rules: reading (About, Help, Feedback) at the top, the map’s own controls (Legend, Refresh) next, what you set up (Settings, Offline packs) below that, and your flights and your account at the bottom — nearest the thumb, since the menu opens upward from the corner. About is the topmost entry in both states, and opens the version, contact and disclaimer dialog (Section 4.6).
In flight (while the tracking HUD is up) the button is hidden with the rest of the planning chrome — minimise the HUD to bring it back.
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 persists for up to a year on each browser; you only need to sign in again if you log out explicitly or clear your cookies.
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 three 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 entry. The panel is a master–detail: a Home view with cards for Display, Aircraft and Presets (saved map-layer viewpoints — Section 9), each of which opens its own page with a ← Back button. Display goes one level deeper again — it opens a short list of groups rather than one long page, so a map-button preference is not buried below eight symbol toggles. Close with the × button in the header, by pressing Escape, or by clicking outside the panel.
Settings is for signed-in users — every change there is written to your account and propagates to your other browsers on their next sync. (The About dialog is separate: it lives in the bottom-left menu for everyone, not inside Settings — Section 4.6.)
Display opens three groups. Everything in them is a look-and-feel choice — nothing here changes the weather data itself, only how it is drawn or what the printed briefing includes.
General — the map’s own controls and the printed briefing.
Weather — how each forecast overlay annotates itself. These are the same toggles you would otherwise hunt for in each overlay’s legend strip, pulled out so you can set your defaults once.
Radar — the observed-imagery layers (Section 12).
Changing anything here updates the live map immediately if the corresponding layer is on, and the choice is remembered for next time.
The Aircraft page has three sub-sections.
Defaults. Four fields used by the Flight Planner whenever you create a new flight:
Presets. A dropdown lists the built-in aircraft presets — DA62, DA40, SR22, C172, C182, PA28 and a generic GA tourer. 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 call name, cruise TAS and burn, and has Edit and Delete buttons. A + New button at the top of the list opens a blank editor.
The editor is a single form. The performance fields drive the planning math; Registration and MTOW are optional and feed the per-leg Handling flight-announcement email (Section 16.7).
| Field | What it drives |
|---|---|
| Name | Display label in the Flight Planner aircraft picker and in saved flights. Also used as the “Type” line in the flight-announcement email. |
| Registration | Tail number (e.g. OH-ABC). Used in the flight-announcement email subject + A/C line. Optional. |
| MTOW (kg) | Max take-off weight, shown in the flight-announcement email. Optional. |
| Class | Engine class — SEP / MEP (single- / multi-engine piston) or SET / MET (turbine). Drives the over-water life-jacket threshold in the briefing Heads-up (Section 16.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. |
| Fuel type | AVGAS or Jet-A1. Pre-set per preset (the Diamond diesels default to Jet-A1, the piston fleet to AVGAS). Used to label the fuel line in the flight-announcement email when refuelling is detected. |
| Fuel capacity (gal) | Default starting fuel for a new flight’s first leg. |
| Cruise TAS (kt) | Used for ground-speed (with wind) and ETE per cruise segment. |
| Cruise burn (gph) | Used for fuel-used per cruise segment. |
| Climb rate (fpm) | Drives TOC distance / time. |
| Climb TAS (kt) | Drives TOC ground-speed (with climb-leg wind). |
| Climb burn (gph) | Drives TOC fuel. |
| Descent rate (fpm) | Drives TOD distance / time. |
| Descent burn (gph) | Drives TOD fuel. |
Reserve and taxi are not in this editor — they live under Defaults (17.2). The reasoning: reserve and taxi are pilot / operator preferences, not aircraft properties.
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 version and date, 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.
| Type | Default colour | Visible from |
|---|---|---|
| Large airport | Red | Always |
| Medium airport | Blue | Zoom ≥ 5 |
| Small airport | Green | Zoom ≥ 7 |
An Airports switch at the top of the layer menu (🌐) 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).
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.
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 Weather Map (Section 11.1) or any 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. To force a fresh pull at any time, click the ↻ Refresh button in the bottom-left button column.
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 funnel button sits at the top-left of the map, stacked directly under the ★ favourites button. Click it to open the Filters panel; the panel floats above the map controls so nothing hides it. A live “N / M shown” count at the bottom tracks how many of the loaded airports pass your filters, and a Reset button clears everything back to defaults.
All filters combine (an airport must pass every active one to stay on the map). Favourite airports are exempt — a starred field stays visible even when its type or size is filtered out.
FI, SE, EE); blank = any.Your filter selections are remembered between sessions. When you are signed in (Section 3) they also sync to your account, so the same set follows you to every device and browser.
Click any airport marker. The popup opens centred on screen and auto-pans if it would otherwise be clipped at the top edge. 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. The default tab is Info. Tabs are only shown when their data is available.
| Tab | What's inside |
|---|---|
| Weather | The full weather briefing (Section 6.3): AI summary, METAR, TAF, LLF (Nordic), and Forecast (Open-Meteo). |
| Info | ATC class, frequencies grouped by purpose, opening hours (AIP + active NOTAM adjustments + per-day tower/AFIS schedule), runway table with crosswind / headwind for the current wind, BEST / WORST flags, PAPI / approach-lights aids, external links (AIP, Google, SkyVector, OurAirports, Windy, Map, Lentopaikat.fi). Hours used to be a separate tab; it is now embedded above the runway table. |
| NOTAMs | Active NOTAMs as raw text. 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. |
| 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. |
| 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. |
| 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 AIRAC cycle and a view AIP link to the source page. 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. |
The Weather tab stacks five clearly separated boxed sections. Each section has a coloured top stripe identifying its data source.
| Section | What's inside |
|---|---|
| Summary (lavender stripe) | "Ask AI" button on the right. 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 — flight-category pill leads (VFR/IFR/…), then Ceil and Vis each prefixed with a coloured dot indicating their individual VFR / MVFR / IFR / LIFR category (same encoding as the marker hover tooltip, so the limiting factor is visible at a glance), then Wind / T-Td / QNH. Wind and Ice warning badges appear next to the category when relevant. Raw METAR text under the chips for cross-checking. |
| 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 Open-Meteo table underneath. Raw TAF text at the bottom. |
| 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. |
| Weather (Open-Meteo) (green stripe) | A model-derived simulated METAR ("OM-METAR") plus a TAF-style forecast table, rendered in the same style as the real METAR/TAF above — but always a model estimate, not an observation.
|
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 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 Weather (Open-Meteo) 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. |
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. 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.
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 History button. 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 marked NOW on the right. It reads like a simplified forecast grid — a coloured flight-category letter per column, then rows for WND, VIS, CIG, WX / CB and QNH — 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 side by side with the TAF section directly above 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 banner above the decoded weather always states the source and that it is “unofficial — not an ICAO METAR”.
| What you may see | What it is |
|---|---|
(unofficial from Flyk) | An observation distributed by the Finnish Flyk network for a field that has no internationally published METAR (e.g. EFLA). |
ATIS INFO x (unofficial) | 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. |
(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. |
est · nearest code N nm | An estimate from the nearest reporting station when nothing sits on the field itself. Shown on the marker hover card and used for the marker colour, but 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 and TAF sections simply read “No METAR available” / “No TAF available” followed by a pointer: “See Open-Meteo model estimate for METAR / TAF below.” The Weather (Open-Meteo) section (Section 6.3) then supplies a fully model-derived OM-METAR and OM-TAF 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. The ★ button is visible to everyone; saving favourites requires you to be signed in (Section 3), after which they sync to your account and follow you across every device. If you open the panel while signed out, it explains the feature and offers a one-tap sign-in.
Removing a favourite is done from the airport’s popup (tap the star off), so the panel 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. |
| 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 23). 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. The popup auto-pans into view if its top would be clipped, and 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. Each has a coloured top stripe identifying its data source. The order is deliberately Open-Meteo first because it covers the whole planet, then LLF only when the click point is inside a Nordic forecast area.
| Section | What's inside |
|---|---|
| Summary (lavender stripe) | "Ask AI" button on the right. 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. |
| Weather (Open-Meteo) (green stripe) | Identical to the airport popup’s Weather (Open-Meteo) section (Section 6.3): a model-derived OM-METAR (flight-category badge; strong-wind and CB/TCU symbols when convective; chips for ceiling, visibility, wind, present weather, temperature/dewpoint and QNH; and a METAR-encoded OM-METAR … line) followed by a TAF-style OM-TAF 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. Click-anywhere weather popup now matches the airport popup's width. |
When forecast layers are switched on, a section labelled Active weather layers appears at the bottom of the popup. Each active layer (Weather Map, Winds, Clouds, Icing, Turbulence, Convective, Precipitation, Fog, MSL Pressure) contributes a one-line verdict for the click point — e.g. Weather Map shows the symbol condition and temperature at that point and time. Verdicts respect the selected altitude and the current time-bar offset, so the popup tracks both inputs in real time.
wx-layer-ctx-warn tint when severity is MOD or worse.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.
| Button | Action |
|---|---|
| « | Jump 6 hours back |
| ‹ | Step 1 hour back |
| label (centre) | Current offset and the absolute date / Zulu time (e.g. Tomorrow 14:00Z) |
| › | Step 1 hour forward |
| » | Jump 6 hours forward |
| Now | Reset to real-time (offset 0) |
The range is approximately −12 h ↔ +168 h (7 days) when a forecast layer is on, and at least the Open-Meteo marker-forecast window (about −2 h ↔ +48 h) even with no overlay selected. Past observations are limited by the source (e.g. radar nowcasts only publish a recent window). Turning the last forecast overlay off snaps the time back to Now so the next layer you open doesn't inherit a stale offset.
Some forecast layers (Clouds, Icing, Turbulence, Winds, Precipitation, Convective Activity, MSL Pressure) are inherently three-dimensional. A shared altitude bar appears in the top-right whenever you switch on a layer that needs one. 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. Hover any button for a tooltip explaining what it represents and which pressure levels it draws from.
| Key | Altitude band | Pressure levels |
|---|---|---|
| Total | Worst-case across all altitudes | 1000 – 200 hPa |
| Low | SFC – FL100 | 1000 – 700 hPa |
| Mid | FL100 – FL210 | 700 – 450 hPa |
| High | FL210 – FL390 | 450 – 200 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 | 450 hPa |
The bar hides itself when no altitude-aware layer is on and resets to Total automatically so the next altitude-aware layer you open starts in its default state.
A preset is a named set of map layers (plus an optional SWC chart for briefings). It serves two purposes: apply it to the live map in one tap to switch between viewpoints, or print it as a briefing in one click without changing the map you’re looking at. The button lives at the top of the right-hand control column, above the globe.
Two built-in presets are available to everyone, signed in or not:
Each switches the basemap and its overlay set in one tap. Beyond those, your own saved presets (convection, icing, a custom VFR layout…) sync across every device you sign in on and require sign-in.
The quickest way to use them is the Presets button — the stacked-squares icon at the top of the right-hand control column, above the globe. It opens a small panel that lists your presets: tap one to apply it to the map, tap the printer (⎙) on a row to print it as a briefing, or tap + Save current view to capture the layers currently on the map as a new preset. Manage in Settings opens the full editor, where you can also attach an SWC chart for briefings.
Beyond the main-screen Save current view, the full editor is at Settings › Presets. Two ways to start:
In the editor you pick exactly what the print should contain — you don’t need to turn anything on the live map first:
Each saved preset shows on the list with a layer count and a short summary; Edit reopens the editor, Delete removes it.
Click the bottom-left print button and pick the preset from the menu. The app prints its saved layers, altitude, time and SWC choice 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.)
The globe-icon menu in the top-right corner picks the underlying basemap and toggles a stack of chart overlays — airports, airspaces, ACC sectors, IFR / VFR points, navaids, airways, obstacles, the AMA grid, power lines, live traffic and GPS interference. Open it by clicking the globe; click any other layer-menu icon (or anywhere on the map) to close. Your overlay selections are remembered across reloads, and the built-in VFR and IFR presets (§ 9) switch the basemap and the matching overlay set in one click.
Nine basemaps are offered; the top two are aviation charts, the rest are general map or imagery styles. 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 | Look | Best for |
|---|---|---|
| Aeronautical (VFR) | VFR-chart styling — pale-green terrain, farmland, water and roads, with the app’s aviation drawing on top | Everyday VFR flying; pairs with the VFR preset |
| Aeronautical (IFR) | Quiet, label-free enroute look — controlled airspace shaded yellow, aerodromes as crosshairs | Enroute IFR overview; auto-loads the IFR layer set |
| Outline | Minimal land / water outline, no detail | A clean canvas under heavy overlays |
| Standard (map) | Liberty — full-colour, balanced | General use; airport icons and roads clear |
| Light (map) | Positron — quiet greyscale | When weather overlays are on; muted base lets colour-coded cloud, precip and fog stand out |
| Bright (map) | High-contrast vector style | Outdoor use in sunlight |
| Topographic (map) | Shaded-relief topographic style | Terrain awareness on a general map |
| Topographic (MML) | Finnish National Land Survey (MML) topographic map | Detailed terrain and features over Finland |
| Satellite | Esri aerial imagery | Visual reference and landmark identification |
Aeronautical (VFR) is a vector base restyled to read like a VFR sectional. 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 preset to load the full working set in one click.
Aeronautical (IFR) is a label-free base with the enroute working-chart look. Selecting it automatically switches on the enroute set — Navaids, IFR Points, Airways, ACC Sectors, Terminal & Special Use Airspaces and the AMA Grid — and shades controlled airspace (CTR / TMA / CTA) yellow with aerodromes drawn as crosshairs. Switching back to another basemap restores your previous layers.
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 and Latvia — 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.
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. Same palette as the legend swatches in the bottom-left legend panel. |
| 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.
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.
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’s eAIP is PDF-only, sourced via the autorouter document library; it 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 World menu. A legend appears in the bottom-left legend panel (ⓘ button) with 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 legend panel). 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 airplanes.live ADS-B network, fetched by your browser roughly every 10 seconds 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, first in the menu 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 Area 1 sets in Finland, Sweden, Norway, Denmark, Estonia and Latvia, 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 and Latvia use their own official Area 1 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.
Click the cloud-and-sun icon (top-right) to open the forecast menu. You can have several layers on at once. Every layer in this menu is computed from Open-Meteo model data unless noted, and every layer responds to the time bar (Section 8) and the altitude bar (Section 8.1, where applicable).
The legend panel at the bottom-right shows colour scales and on-screen tweaks for each active layer.
What you see: The first entry in the menu — 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”).
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 same forecast horizon as the other forecast layers (the map no longer freezes at +48 h).
How it's computed: temperature and WMO weather code sampled from Open-Meteo on the lattice (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).
What you see: Animated particles streaming across the map at the chosen flight level. Particles flow in the wind direction; their density gives a feel for speed; speed is colour-coded (cool = light, warm = strong).
How it's computed: The forecast model's u and v wind components at the selected pressure level are sampled on a viewport-fitted grid. 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.
What you see: A smooth grey cloud-cover raster (GPU-rendered, so it zooms cleanly). The shading darkens and grows more opaque as forecast cloud cover rises. Optional category labels show the low / mid / high cloud amounts as WMO oktas (e.g. OVC / SCT / –, where “–” = clear), one per contiguous area; toggle them from the legend’s Show category labels checkbox.
How it's computed:
cloud_cover_low/mid/high directly (each shown at its own weight).Use it for: Quick "is there a hole?" assessment, ceiling height awareness, comparing cloud cover at different cruise levels.
What you see: A GPU-rendered tint with animated rain drops / snowflakes overlaid. The tint colour ramps by rate, from pale blue (very light) through blue and dark blue to purple and red (extreme); snow washes the colour toward white; sleet is a mix. Forecast probability is shown as colour saturation — uncertain areas read greyer / washed-out, confident areas fully saturated. Opacity stays constant so even light-but-likely precipitation remains visible.
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 drives the saturation. The animated drops/flakes fall by phase — blue rain streaks, white drifting snow, magenta freezing precip.
| Rain (mm/h) | Tag | Snow (cm/h) |
|---|---|---|
| 0.1 | Trace | 0.1 |
| 1 | Light | 1 |
| 3 | Moderate | 3 |
| 8 | Heavy | 8 |
| 16 | Very heavy | 16 |
| 40+ | Extreme | 40+ |
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 selected — All shows the 2 m surface temperature, while Low / Mid / High and the FL050…FL240 bands switch the heatmap to the temperature at the corresponding pressure level (see How it's computed). An optional Show °C labels checkbox in the legend 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 | Standard atmosphere baseline at sea level |
| +30 °C | Orange-red | Density-altitude penalty starts to bite |
| +40 °C | Dark red | Severe density-altitude / engine performance loss |
How it's computed: Open-Meteo temperature is sampled on the same shared 80×80 viewport grid as the cloud and precipitation overlays, so when several of those layers are on the data is fetched once and shared. The selected level picks the field: All uses temperature_2m; the altitude bands use the nearest pressure level — Low/FL050 → 850 hPa, Mid/FL100 → 700 hPa, FL140 → 600 hPa, High/FL180 → 500 hPa, FL240 → 400 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:
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.
Annotations (legend radio): 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: Open-Meteo's surface visibility (m) and temperature_2m (°C) are fetched on the same shared 80×80 viewport grid as the Clouds, Precipitation, and Temperature layers (48 h horizon; Nordic area uses MetNo Seamless). 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 METAR visibility from every airport in 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. 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.
What you see: A GPU-rendered orange / red / magenta raster at the chosen pressure level, indicating Moderate / Heavy / Severe icing risk. Light icing is intentionally hidden — pilots don't plan around it and painting it drowned out the more serious bands. Optional horseshoe pictograms (∪ for moderate, ∪∪ for severe) can be enabled from the legend toggle; in the multi-level slabs (Total / Low / Mid / High) each pictogram also carries the FL band where the icing was detected.
How it's computed: Risk is non-zero only when:
A relative-humidity boost increases severity at high RH. The model draws from a slab of pressure levels — "Total" takes the maximum risk through the column; "Low / Mid / High" sample the corresponding slabs; FL050…FL240 sample one level each. A 3×3 averaging pass smooths single-cell hot spots. Temperature, humidity and cloud cover are fetched on the shared 80×80 viewport grid (48 h horizon), and the risk field is drawn as a WebGL raster — the colour comes from a GPU look-up table so it stays 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 marked with a distinct violet ∪∪∼ freezing-rain glyph (Total / Low slabs).
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.
What you see: A GPU-rendered yellow → red → magenta raster at the chosen FL slab, flagging clear-air (CAT) turbulence. Light turbulence is suppressed; only Moderate and worse paint. Optional wavy-line glyphs (1 / 2 / 3 waves for MOD / HVY / SEV) can be toggled from the legend; in the multi-level slabs they also carry the FL band where the shear lives.
How it's computed: Vertical wind shear is computed between closely-spaced Open-Meteo pressure-level pairs (25–50 hPa apart) so a thin shear layer isn't averaged away. Wind, wind direction and temperature for the slab's levels are fetched on the shared 80×80 viewport grid (48 h horizon) 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 |
|---|---|
| < 4 | Light (hidden) |
| 4 – 7 | Moderate |
| 7 – 10 | Heavy |
| > 10 | Severe |
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 band (Low / Mid / High / FL050 … FL240) reads the worst refined severity across the pressure pairs within that band. All (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 glyph's FL label telling you the altitude.
What you see: A single combined, GPU-rendered overlay covering everything convective. The colour encodes two things at once:
FL340) — not an estimate.How it's computed: The layer samples Open-Meteo's DWD ICON model on a viewport grid — cape (Convective Available Potential Energy, J/kg), lifted_index (LI, °C), convective_inhibition (CIN, J/kg, negative = atmospheric cap), weather_code, and convective_cloud_top / convective_cloud_base (the actual forecast cloud, used for the “active” test and the top FL). The CAPE/LI/CIN values run through a continuous severity function with three guard-rails:
The weather code acts as a floor so observed showers / thunderstorms register even when the modelled CAPE/LI are mild. The whole field is anchored to world latitude/longitude, so pan and zoom never move the patches relative to the ground.
| Label | CAPE (J/kg) approx. | LI (°C) approx. | Typical top FL |
|---|---|---|---|
| TCU | 300 – 800 | −1 to −3 | FL220 – FL280 |
| MOD CB | 800 – 1500 | −3 to −5 | FL280 – FL360 |
| STRG CB | 1500 – 2500 | −5 to −7 | FL360 – FL400 |
| SEV CB | > 2500 | < −7 | FL400+ |
The CAPE/LI ranges above set the severity tier (hue); the top FL printed on each label is read directly from the model’s forecast convective cloud top, so it reflects the actual modelled cell rather than a CAPE/LI 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. A legend radio lets you choose what's drawn: colour only, isobars + H/L only, or both (the default). The choice is remembered.
How it's computed: Open-Meteo's pressure_msl is sampled on the shared 80×80 viewport grid and 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 no arrow.The polygon outline encodes activation timing — same SUA-style convention as Section 10.3: solid = active right now; dashed = activating later today or tomorrow. Polygons are only drawn when they are active now or activate within the next 24 h (already-expired entries and far-future ones stay hidden), 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 for the full popup: issuing source, validity window in UTC, phenomenon / event headline, plain-English description, peak wind / probability parameters, and the altitude band (SIGMETs only).
The unified time bar (Section 8) appears whenever the layer is on. 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.
The radar-dish icon (📡) on the top-right control stack opens the observed-imagery menu. Unlike the Weather forecast layers (Section 11), every entry here is a near-real-time tile from an external WMS feed — pick whichever you need and toggle them on independently. Layers tagged (FMI) are sourced from the Finnish Meteorological Institute (ilmailusaa.fi / openwms.fmi.fi) and only cover Finland and the Baltic; the others are pan-European or global.
| 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) | Finnish-network precipitation radar at higher resolution than the European composite, 5-minute cadence over Finland. | FMI |
| Lightning (FMI) | 10-minute flash-count heat map over Europe — pulses each refresh, highlights active thunderstorm cells. | FMI / EUMETSAT |
| 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 seven layers above ship to every user.
When any radar/satellite layer is on, the unified time bar (Section 8) switches into observation mode tailored to short-cadence imagery:
Approximate data windows per layer:
| Layer | Backward | Forward |
|---|---|---|
| Radar (Rainviewer) | −2 h (dynamic, from frame list) | +30 min nowcast (when published; can be 0) |
| Radar (FMI) | −24 h | Now only |
| Lightning (FMI) | −24 h | Now only |
| CB/TCU (FMI) | −24 h | Now only |
| Storm tops (FMI) | −24 h | Now only |
| Sat. Image (FMI) / Fog / Turb (sat) | −24 h | Now only |
| Cloud tops (FMI) | −24 h | Now only |
If you also turn on any forecast layer (Weather menu), the bar reverts to mixed mode: ±6 h steps reappear, ±15 min hides, and the layer pills now sit alongside a Forecast-aware longer range (−12 h…+7 d).
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. |
| 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). Pulses each refresh — active thunderstorms read instantly. |
| 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 mode set in Settings (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 in the legend panel: 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 every other layer in this menu, 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.
Settings → Display → Radar → Satellite image 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 dedicated LLF button on the top-right control stack (directly below the SWC button) — LLF used to live in the Weather menu but is now its own control with four independently togglable sub-layers.
LLF is a Finnish Meteorological Institute product covering Finland, Sweden, Norway, Denmark and the Baltic. Polygons depict aviation-significant low-level conditions (vis < 8 km, ceiling < 2000 ft, icing, turbulence, CB/TCU) updated every ~30 minutes. Outside the Nordic LLF coverage the menu still works but every sub-layer will simply be empty.
| Sub-layer | What it draws |
|---|---|
| LLF Vis/Ceiling | Coloured polygons per Nordic forecast area, green → blue → orange → red for the worst-of (vis, ceiling) bucket. 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. |
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 any LLF polygon to open the detail popup. 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 in the LLF view is FMI's own forecast.
The SWC button (top-right) opens a small panel with three tabs:
| Tab | Source | Best for |
|---|---|---|
| Finland | ilmailusaa.fi (PDF link too) | Detailed Finnish low-level SIGWX |
| Nordic | MET Norway | Nordic-region overview |
| Europe | WAFC London EUR SIGWX | European mid-level chart, ICAO standard |
SWCs are the official aviation-meteorology summary — jet streams, fronts, CB tops, icing/turbulence zones — and remain the gold standard for go/no-go decisions on longer flights.
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-line tool supports multiple waypoints. The route can pass through airports or arbitrary map points.
The chart draws a climb → cruise → descent profile line from the departure elevation up to the cruise FL and back down. Its climb / descent angles come from your default aircraft (Settings → Aircraft → Default aircraft) — its climb & descent rates and TAS — so the profile reflects the aircraft you actually fly rather than a generic gradient.
| Tap / click on… | Resulting waypoint |
|---|---|
| An airport marker | Snaps to the airport (ICAO code becomes the label, e.g. EFHK). |
| Within 5 nm of an airport (open country click) | Snaps to the nearest airport. |
| An airspace / SIGMET / LLF polygon (SUA, terminal areas, etc.) | Adds a waypoint at the clicked latlng — popups are suppressed while drawing so the click always produces an anchor. |
| Open country / sea | Reverse-geocoded to the nearest place name (e.g. Tampere). |
| Action | How |
|---|---|
| Undo last waypoint | ↺ Undo button, or Backspace, or Cmd/Ctrl+Z |
| Finish & open the airgram | ✓ Airgram button, double-click (mouse), double-tap (touch), Enter |
| Cancel — discard the line | ✕ in the banner (always available, on every device), Esc, or the ↗ button again |
| Cancel | Click ↗ button again, or Esc |
| Pan the map (touch) | Single-finger drag |
| Pinch zoom (touch) | Two-finger pinch |
| Pan the map (mouse) | Left-click + drag |
The tool adapts to the input device automatically — phones and tablets get the tap / pan / pinch flow, laptops and desktops get the click + drag-to-pan flow. A touch-screen laptop with a mouse uses the desktop flow.
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).
| Element | What it looks like | Meaning |
|---|---|---|
| Sky background | Steel-blue fill | Clear air. Darker blue = higher altitude. |
| Cloud | White fluffy patches | Cloud cover — opacity reflects cloud %, texture mimics stratiform layering. |
| Terrain | Brown polygon along the bottom | Model surface elevation under each sample. |
| Freezing level | Solid red horizontal line | Where T = 0 °C at each column. Above = sub-zero. |
| Cruise FL | Solid magenta horizontal line | The FL you set in the panel toolbar. |
| Icing | Orange → red → magenta translucent fill | Computed severity from temperature window + cloud + RH. Magenta indicates SLD (supercooled large droplet) potential. |
| Turbulence | Yellow → red → magenta diagonal hatching | Vertical wind shear converted to FAA bands. LGT is hidden, MOD+ shows. |
| Precipitation | Blue droplets / snow asterisks / freezing rain rings | Surface precipitation type from WMO weather code + intensity. |
| 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. Labels: TCU / MOD CB / STRG CB / SEV CB with base & top FL. 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. |
| Fog | Cool blue-grey haze near surface | Forecast surface fog / mist. |
| Wind barbs | Magenta arrows + black barbs | Wind sampled at each pressure level the chart was fetched against (set depends on the chosen Max FL — see § 15.7 for the per-cap list, typically 9–13 levels between the surface and the chart top). See Section 24 for the barb notation. |
| Bottom axis | Distance + UTC times + waypoint labels | Distance ticks every ~60 nm; waypoints labelled with their ICAO / place name and ETA. |
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 Terrain 3673 ft | Altitude band you're hovering, distance from departure along the route, terrain elevation under that distance. |
| 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 / SLD ICING | Appears when the icing severity > light. Magenta SLD label warns of supercooled large droplets (high-severity icing band). |
| Turbulence | 🌚 Turb MOD / HVY / SEV | Appears when shear-derived severity is moderate or worse. Skipped for light turbulence. |
| Convective | OCNL MOD CB / base FL050 – top FL380 ⚡ TS / ISOL CAPE (potential) | Cumulonimbus / cumulus when hovering inside a convective column, with coverage, intensity, 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 / SNOW / DRIZZLE / FZRA | Type and intensity at the surface column below the hover. Freezing rain (FZRA) and freezing drizzle (FZDZ) are flagged separately. |
| Fog | FOG vis 1500 m | Forecast surface fog with visibility estimate. |
| Freezing level | Freezing level 3873 ft | The 0 °C isotherm height at the hover column (surface freezing level forecast). |
| CB column note | CB top FL280, base FL040 | When the hover column is inside an identified CB cell, the cell's vertical extent. |
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. If HW is shown with a negative number it's a tailwind — e.g. HW −10 / 5 LX = 10 kt tailwind, 5 kt left crosswind. Crosswind sign convention: positive = from the right side of the track, negative = from the left.
Rows for clear-sky cells just show the header + wind + 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 top-down 5×N corridor view of weather along the route at the cruise FL. |
| 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. The choice is ephemeral: not saved between sessions, and rebuilding the panel resets it to the current hour. |
| 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. |
| 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, FL, Precip, Icing, Turb, CB/TCU, Wind) is a clickable button: 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 and Terrain are base layers and are not toggleable.
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 shear scale (LGT / MOD / HVY / SEV), computed from vertical wind shear between sampled pressure levels. The overlay is drawn as diagonal yellow stripes 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 tailored to the chosen Max. Lower caps use denser low-altitude levels so VFR-band detail (FL025–FL100) is sampled finely; higher caps spread the same effort across the full troposphere.
| Max FL | Pressure levels fetched (hPa) | Count | Best for |
|---|---|---|---|
| FL300 (default) | 1000, 925, 850, 775, 700, 600, 500, 450, 400, 300 | 10 | Full troposphere; matches IFR and ATPL planning |
| FL250 | 1000, 925, 850, 775, 700, 600, 500, 450, 400 | 9 | Heavier IFR; chart top still hits FL240 |
| FL200 | 1000, 925, 875, 850, 800, 775, 700, 650, 600, 550, 500 | 11 | Mid IFR with denser low-altitude resolution |
| FL150 | 1000, 950, 925, 900, 850, 800, 775, 725, 700, 650, 600, 550 | 12 | Light IFR / DA62 typical cruise |
| FL100 | 1000, 975, 950, 925, 900, 875, 850, 825, 800, 775, 750, 725, 700 | 13 | VFR / general aviation — ~500 ft spacing at low altitudes |
Switching the Max cap changes the upper-air request (the cache key includes the cap), so a new fetch fires. This means the chart genuinely changes resolution rather than just zooming the existing data.
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 row 1 scrubber (so Today 14:00Z plots the next 24 hours from 14:00 Z onwards). Row 1 of the toolbar (departure scrubber + Scale + Max) is identical to the route airgram, and the legend toggles work the same way. Row 2 (FL / IAS / Flight time / GS / Dist / Wind) is absent because a single-point view has no per-leg 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 drawn line is cleared automatically and the airgram-line button returns to its idle state.
The airgram panel’s action row has a Save as Flight button next to the print / maximize controls. Clicking it captures the drawn route — every waypoint with its lat/lon, the entered cruise FL and IAS/TAS, the departure-scrubber time, and the per-leg winds — and creates (or updates) a Flight in the Flight Planner (Section 16). The Flight Planner panel opens automatically with the new entry highlighted, ready for fuel planning, multi-leg expansion or a full print-briefing.
This is the bridge between quick what-if exploration (draw a line, read the airgram) and committing to a planned flight (fuel reserves, TOC/TOD, briefing). Re-saving an already-saved airgram updates the existing flight in place rather than duplicating it.
The Flight Planner is a full multi-leg flight-planning panel: aircraft profile, fuel reserves, per-leg wind, TOC/TOD computation, airport-popup-grade briefing for every leg, and a printable navlog. Open it with the small briefcase-style icon at the bottom-left of the map (stacked just below the airgram-line button). The panel docks on the left side; drag the header to reposition.
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 directly on the leg row; those edits are local to that flight (see the info box at the end of Section 4).
The top of the panel shows the Flights library — every saved flight with a name, departure airport / destination summary, leg count, total distance and a small action row (rename, duplicate, delete, set as current, Print briefing). A flight imported from the airgram (Section 15.10) or saved from the Route Planner’s Save as Flight button appears here automatically. Flights are stored on your account and sync across browsers (Section 3.3). Import / paste lets you bring in a flight exported from elsewhere via JSON.
Each flight remembers its own map-visibility preference. The eye button in the top-left control stack (visible whenever a flight is loaded and the planner panel is closed) hides the active flight from the map without unloading it — you can still edit it, brief it and file it. The choice is saved with the flight, so reloading the app keeps a flight you hid as hidden, and each flight restores its own state when you load it. A newly-created flight starts visible.
On a flight with more than one leg, the eye button opens a small Flight on map card instead of toggling straight away. The first row is the whole flight — Hide flight / Show flight — and below it every leg has its own row: colour swatch, leg number, route, distance and time, with its own eye. Multi-day flights are grouped by departure date. The same eye also sits in each leg’s header inside the planner panel, which is where you reach it while editing.
Two ways to get to “just this leg”, whichever suits you:
Show flight always brings the whole route back, so there is no separate “show all” button. The flip side, on purpose: hiding the flight forgets which legs you had picked. Per-leg taps never lose the selection; only the whole-flight row does.
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. To change the aircraft itself, head to Settings; to tweak perf only for the current flight, edit the numbers inline on the leg row — the badge will read “Edited for this flight” and Reset snaps back to the aircraft’s Settings values.
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), enables the matching reporting-point overlay (VFR Points / IFR Points), and turns on the Terminal Airspaces overlay automatically.
Each flight is one or more legs; each leg is two or more waypoints. Add a leg with + Add leg. Each leg header carries an eye to show / hide that leg on the map (Section 16.1.1), ▲ / ▼ buttons to reorder the leg up or down (disabled at the ends) and a × to remove it. Reordering re-cascades the departure times down the chain (each leg keeps its turnaround gap after the previous leg’s new arrival); if a moved leg no longer starts where the previous one ends, a small ⚠ appears on its title so you can reconnect the route via its waypoints. Per-leg fields:
There are four ways to add a waypoint to a leg. They all target the currently-expanded leg in the accordion (or the last leg if none is expanded explicitly).
EFHK, HEL, Helsinki).DOPGA, ROBVU, NUMSU).64.711, 26.867 or 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, 60 10 30 N 24 58 12 E). The candidate result is shown with a crosshair icon and the reverse-geocoded place name.EFKI 64.3803,27.2994 MAINU EFHK and click Apply).With the editor panel open you can also reshape an existing route directly on the map:
The waypoint list inside the leg accordion mirrors the on-map state:
EFHK · Helsinki-Vantaa).Each leg has its own departure time, and the legs chain together so the plan reads as one continuous timeline. Beside the date/time field is a row of quick buttons:
Setting one leg’s departure cascades through the legs after it: each downstream leg keeps its existing gap from the previous arrival, 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.
When you open a saved flight whose departure has already passed, the planner asks whether to re-anchor the whole plan to start now (keeping every turnaround gap) rather than silently rewriting your times — answer Cancel to keep the stored times and edit them yourself.
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.Each leg shows a live summary: departure date+time (weekday + UTC), distance, flight time, fuel used, fuel required (= fuel used + reserve), fuel-at-end with reserve OK/below badge, and arrival UTC. Numbers update as you edit waypoints, FL, IAS or wind.
Below the legs the panel shows flight totals: leg count, departure UTC of the first leg, total distance, total flight time, total fuel used, fuel required (used + reserve + taxi), and the final-leg arrival UTC. Same fuel-required math as the per-leg row, summed across all legs.
Open a leg and its body shows, below the editable fields, a row of per-leg tools: two collapsible panes (Airgram, AI brief) and three action buttons (Print leg, FPL, Handling). When you’ve connected an autorouter account (Section 4.4), the leg also gains ✈ Auto route, Validate route and a flight-plan filing control — covered in Section 16.12.
The two collapsible panes:
The Print leg button opens the same printable briefing as the whole-flight one (Section 16.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 leg buttons tie the plan to what you actually fly. PLOG opens Track my flight (Section 19) in follow mode with that leg pre-selected and the PLOG open — recording starts from the ▶ Start flight pill. Log flight creates the matching logbook entry (Section 21), or, once a flight is already logged for the leg, the button becomes ✓ Edit log and opens the existing entry instead.
.fpl)The FPL button (to the right of Print leg) 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 Print leg briefing if you need it for reference.
The Announcement button 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.
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.
The Print briefing button (in the flights library row, the panel toolbar, and the Route Planner) renders a complete printable briefing. The dialog opens in landscape orientation by default and the content is auto-scaled to 90 % so the wide navlog table + side fuel panel fit comfortably on each sheet. 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.The ☰ Summary button in the panel toolbar 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 gal line (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 JSON paste / file controls are still there for offline export when you want a local backup.
Reopening a flight whose departure has already passed prompts you to re-anchor it to start now (Section 16.4.3); your stored times are never rewritten without that confirmation.
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 carries an ✈ Actual chip to attach or toggle it. The full workflow is covered in Section 20, 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 16.3). Until you connect, the buttons still appear but prompt you to connect first.
Finds and validates an IFR route for the leg using your autorouter account and the leg’s aircraft. It returns a valid routing — with SID/STAR and airway structure — and writes it onto the leg: the route string, the detailed waypoints and the cruise level. The map then draws the procedural points. Re-running re-routes the leg. 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.)
Checks the leg’s current IFR route against Eurocontrol (IFPS / CFMU) validation without re-routing — useful after hand-editing waypoints. Any errors are listed so you can fix the route before filing.
Each leg shows a flight-plan control labelled with its current status (e.g. File, then Filed). Click it — or the leg’s FPL tool — to open the ICAO flight-plan view. 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 header and the FPL tool both 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.
With a flight open in the Flight Planner, expand the Weight & Balance section. It is per leg — each take-off and landing is checked with that leg’s own fuel, so a multi-leg trip’s intermediate stops aren’t missed:
Need a quick check without a flight open? The Flights library has a standalone Weight & Balance button that opens the same calculator with an aircraft picker.
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 📅 Add to calendar button (in the open flight’s actions) 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.
The printer-icon button in the bottom-left corner of the map opens a print-ready briefing of the current view. 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.
If you have saved presets (Section 9), the print button opens a small menu: Current view prints exactly what’s on the map now, or pick a preset to print its saved layer set in one click. With no presets, it prints the current view directly.
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 (so the printed map matches the on-screen frame exactly), 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 17.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 flight loaded, the print menu gains two more entries:
Both follow the leg visibility you set on the map (Section 16.1.1). The navlog sheet frames itself on the legs that are shown, draws only those, prints only their navlog tables, and stamps a line under “Printed:” saying which legs it carries — e.g. “Legs 1–2 of 3 shown — leg 3 hidden on map” — so a sheet in your lap is never mistaken for the whole flight. The trip briefing pre-ticks the same legs in its picker and lists the omitted ones on the cover.
One exception, on purpose: if you have hidden the whole flight with the eye and then ask for the navlog, you still get it. Asking for the navlog is asking for the route on paper, not a repeat of the decluttered screen. Legs hidden individually are still left out.
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 ☉ button at the bottom of the top-left control stack.
What you need: you must be signed in, and your browser must allow location access. Recording keeps the screen awake and works fully offline — see Section 19.8.
While a flight is running, a compact panel sits at the bottom of the map:
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 (21.6), or live on the expanded HUD’s OOOI strip if you prefer.
▤ Log 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.
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 23, 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 Offline packs and press Refresh packs 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.
The Flown Track tool shows the route you actually flew — pulled from Flightradar24 — so you can review the flight and compare it against your plan. Open it with the ✈ button at the bottom of the top-left control stack. (To record a flight live from your own GPS instead of pulling it afterwards, use Track my flight, Section 19.)
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 tool automatically lists that registration’s flights from the last 14 days, newest first (route, date, off/on times and type). Click one to load its track. Each lookup uses your Flightradar24 quota, so a flight you’ve already opened is cached — reopening it costs nothing.
Selecting a flight opens a detail card with:
~.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 leg’s chip turns to ✓ Actual and the leg gains a 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.
The GPX button 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. Reach it from the Flights library on the Logbook tab. Like the moving map, the logbook is available to signed-in users.
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 your time (block time, per the EASA basis above), IFR / VFR, night, PIC and SE / ME hours, plus a rolling 90-day landing count.
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 logbook 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. Reach it from the Flights library on the Aircraft tab. Like the logbook, 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.
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. When a logbook flight is missing its air time, Add to logbook is the default for that row; if it already has an air time, the row defaults to Skip.
How duplicates are matched. A row is treated as the same flight when the date, registration and route agree — 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. The bulk buttons act on all duplicates at once: Skip all, Update all (store rows update, logbook rows get the “Add to logbook” fill) and Add all.
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 (departure within −6 h … +72 h, up to three, plus the flight open in the planner) the pack contains:
Each packed flight shows a small ✈ Offline · wx X min chip on its card in the Flights library, and a row in the Offline packs view.
Flight packs cover your planned route. For ad-hoc flying, a country pack adds whole-country coverage: the bottom-left menu → Offline packs → Country pack…, pick your countries. It downloads the country basemap, close-up tiles for every airport, and weather / NOTAMs / AIP for all the country’s airports.
Avatar menu → ✈ Offline packs is the one place to see and manage everything:
Works offline (from packed data): airport popups with METAR / TAF / NOTAMs / AIP / charts, 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, 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 forecasts for arbitrary map points outside your packed data.
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. Anything still waiting is listed on the Offline packs view’s storage line.
Packs, charts and tiles live in the browser’s local storage. Clear offline data (Offline packs view) wipes them all — your flights, logbook and settings are not touched, and packs rebuild automatically afterwards. If the device runs critically low on space the app protects itself by skipping large downloads until space is freed.
Wind barbs follow standard meteorological conventions. The staff points into the wind direction — a barb pointing north means wind from the south. Speed is encoded as additive flags 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.
| 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 (VFR), Standard / Light / Bright / Topographic (map), Outline | OpenFreeMap vector tiles, rendered with MapLibre GL JS — based on © OpenStreetMap contributors (the Aeronautical (VFR) style is re-themed to a VFR-chart look) |
| Basemap — Topographic (MML) | Finnish National Land Survey (Maanmittauslaitos) topographic tiles |
| Basemap — Satellite | Esri World Imagery |
| Airport database (~22,000 airports worldwide) | OurAirports — static build (PDDL public-domain) |
| 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; for Finnish GA fields without an AIP chart, community charts from lentopaikat.fi (unofficial, labelled) |
| METAR | Aviation Weather (US) |
| TAF | aviationweather.gov |
| NOTAMs (aerodrome + FIR area) | FAA NOTAM Search (international pass-through), proxied to avoid CORS |
| Terminal Airspaces (TMA / CTR) | National eAIP ENR 2.1 + AD 2 scrape (FI / SE / NO / DK / EE / LV), 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), authoritative where it exists; OpenAIP (weekly export) elsewhere, supplemented by Flyk for Finland-extended coverage and NOTAM-supplement-driven temporary areas |
| TSA / TRA reservations + local training areas (military, daily AUP/UUP) | Flyk reservations feed — activation calendar refreshed daily. The only source for Finnish TSA/TRA; OpenAIP does not carry them. |
| ACC Sectors | Flyk (Finland), local eAIP files (SE / EE / LV / DK), OpenAIP weekly export (rest of Europe) |
| IFR Points, VFR Points, Airways | National eAIP ENR 3.2 / 3.3 / 4.4 scrape (FI / SE / EE / LV / LT / NO / DK), refreshed each AIRAC; VFR points also from Flyk |
| 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 Area 1 obstacle sets — Traficom (FI), LFV (SE), Avinor (NO), Naviair (DK), EANS (EE), LGS (LV); 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. |
| Power lines | OpenStreetMap power-line data |
| Traffic (ADS-B) | airplanes.live community ADS-B; 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 |
| Click-anywhere weather, six-period forecast | Open-Meteo (HARMONIE-AROME / ECMWF / GFS blend) |
| Winds, Clouds, Precip, Fog, Icing, Turb, Convective Activity, MSL Pressure | Open-Meteo pressure-level fields |
| Radar / Satellite menu — Radar (Rainviewer) | RainViewer public tile API |
| Radar / Satellite menu — Sat. Image (FMI), Radar (FMI), CB/TCU (FMI), Storm tops (FMI), Cloud tops (FMI) | FMI (ilmailusaa.fi / openwms.fmi.fi WMS) |
| Radar / Satellite menu — Lightning (FMI) | FMI / EUMETSAT 10-minute flash-count product |
| SIGMETs (international) | NOAA Aviation Weather Center isigmet feed |
| LLF (Low Level Forecast) | ilmailusaa.fi (FMI) |
| SWC | FMI, MET Norway, WAFC London |
| AI summaries (weather briefing, NOTAM explanation) | Anthropic Claude, prompted on-demand via the app’s server-side proxy |
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 |
| Flyk AUP / UUP reservations and NOTAM supplements | Daily, and re-evaluated against the current hour every time the layer draws |
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 August 2026