Prepare Flights

User Manual — Weather & Airport Information for Pilots

1. Welcome & What This Is For

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 for basic map content, full-screen on mobile).

What you can do:

Important: This tool is for situational awareness and pre-flight planning only. Always verify against official sources (the relevant national MET office, AIS/AIP, NOTAM service) before any flight. Forecast products are model output — they are guidance, not truth.

2. The Interface at a Glance

The main screen is intentionally clean. Here is every control you will see and what it does:

WhereControlWhat it does
Top-leftSearch barFind an airport by ICAO code, IATA code, or name (Section 4)
Top-left, under ★ favouritesFilter (funnel)Filter the visible airport markers by type, runway length, surface, ATC, country, elevation and fuel (Section 5.4)
Top-left, under the funnelPresets (layers)Saved map-layer viewpoints — apply to the map or print as a briefing in one tap (Section 20.3)
Top-left, below zoom◉ LocateShow your current GPS position on the map; tap again to stop tracking
Top-right🌐 Map layers (globe)Basemap style and airspace overlays (Section 10)
Top-right⛅ Weather forecastForecast layers: winds, clouds, precip, fog, icing, etc. (Section 11)
Top-right📡 Radar / satelliteObserved imagery: live satellite, daily true-colour, precipitation radar, lightning, CB and storm tops (Section 14)
Top-rightSWCSignificant Weather Charts (Section 13)
Top-rightLLFNordic Low Level Forecast — four independent map sub-layers: Vis/Ceiling, Turbulence, Icing, CB/TCU (Section 12)
Bottom-left↗ Draw airgram lineDraw a route on the map → vertical weather cross-section (Section 15). Stacked on top of the Flight Planner toggle.
Bottom-leftFlight plannerMulti-leg flight editor with fuel / wind / TOC·TOD planning (Section 18). Sign in required — see Section 16.
Bottom-left⎙ Print briefingPrint or save the current view as a kneeboard PDF (Section 20)
Bottom-left↻ RefreshForce a fresh pull of the map’s METAR colours (Section 5.2)
Bottom-leftⓘ LegendAirport-type colour key. Click to expand / minimise.
Bottom-left? HelpOpens this user guide
Bottom-left✉ FeedbackSend a comment or bug report
Top-left, by search👤 AccountSign in (Google or email magic link), open Settings, log out (Section 16 & 17)
Bottom-right“Updated N min ago”Age of the map’s weather colours, colour-coded by freshness (Section 5.2)
Bottom edge
(when needed)
Time barPast 12 h ↔ +7 day forecast scrubber (Section 8)
Bottom-centre
(when needed)
Altitude barPick the level for layers that vary with altitude (Section 9)

That's the entire UI. The map fills the rest of the screen.

3. Moving Around the Map

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:

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

5. Airport Markers

5.1 Marker Types & Visibility

TypeDefault colourVisible from
Large airport RedAlways
Medium airport BlueZoom ≥ 5
Small airport GreenZoom ≥ 7

5.2 Live Flight-Category Colour

Whenever a current METAR is available, the dot is replaced by a larger category badge with a single letter inside:

LetterCategoryColourCeilingVisibility
VVFR Green> 3,000 ftAND > 8 km
MMVFR Blue1,000–3,000 ftOR 5–8 km
BBIR Orange600–999 ftOR 1.5–5 km
IIFR Red500–599 ft(ceiling-only trigger)
LLIFR Purple< 500 ftOR < 1.5 km

The worst-case rule applies: whichever value is in the lower category wins.

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.

5.3 Fog & Mist Badges

If the METAR contains a fog/mist code, a small coloured tag appears under the airport identifier:

TagMETAR codeMeaningColour
BRBRMist (visibility 1–5 km) Light grey
FGFGFog (visibility < 1 km) Mid grey
FZFGFZFGFreezing fog (T ≤ 0 °C) Purple
Why does the category disappear when I scrub the time bar? METAR is an observed reading — it only describes "right now". When the time bar moves away from Now, the V/M/B/I/L letter and fog tag are hidden because METAR cannot speak about the past or future. To see forecast fog/visibility for another time, use the Fog overlay (Section 11.5).

5.4 Filtering Which Airports Show

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.

Your filter selections are remembered between sessions. When you are signed in (Section 16) they also sync to your account, so the same set follows you to every device and browser.

6. Airport Information

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.

6.1 Header

The header is two rows that read like a quick-look briefing:

6.2 Tabs

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.

TabWhat's inside
WeatherThe full weather briefing (Section 6.3): AI summary, METAR, TAF, LLF (Nordic), and Forecast (Open-Meteo).
InfoATC 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.
NOTAMsActive 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.
ChartsAirport, departure, arrival, approach and VFR charts from AIP when published (PDF links and inline thumbnails).
AirgramVertical cross-section at the airport's coordinates over the next 24 h (Section 15 for the route variant).
AIPA 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.

6.3 Weather Tab

The Weather tab stacks five clearly separated boxed sections. Each section has a coloured top stripe identifying its data source.

SectionWhat'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. Visual timeline with one column per forecast period, each with a flight-category badge. Rows: CIG (ceiling), VIS, WX (weather), WND (wind), and ICE / CB when relevant. The CB cell also shows the convective cloud cover + base directly underneath the badge (e.g. FEW040 means few CB clouds at 4000 ft). Raw TAF text below.
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.
  • OM-METAR (now). A flight-category badge leads, then a strong-wind symbol and a CB/TCU symbol when the model is convective, then chips for ceiling, visibility, wind, present weather (e.g. "Light rain"), temperature/dewpoint and QNH. Below the chips a METAR-encoded line prefixed OM-METAR (e.g. OM-METAR EFNU 041420Z 21012G24KT 9999 -SHRA OVC008 18/14 Q1003). Ceiling, category, present weather and CB/TCU are derived from the model (cloud base, visibility, CAPE / lifted index, weather code) using the same thresholds as the map’s thunderstorm overlay, and are clearly flagged as estimates.
  • OM-TAF (forecast table). A timeline matching the TAF layout, with a four-way toggle: 1h / 3h / TAF / Days. All four span three days of forecast; the hourly views additionally carry the last few hours of recent past so history flows straight into the forecast in one continuous table. A small weekday label (Thu, Fri…) appears above a column when the UTC day changes.
    • Past → now → future, in one strip. In the hourly views (1h and 3h) the columns to the left of the present are recent model history; they sit on a faint grey tint and are labelled Past, while the forecast columns to the right are labelled Future. The boundary between the two — the model "now" — is where the grey tint ends and the white forecast begins, with the Past/Future captions flanking it. By default the strip is scrolled so a few recent past columns sit to the left of "now" and the forecast extends to the right; slide left for more history or right for the rest of the three days. (The TAF and Days views are forecast-only and carry no past columns.)
    • 1h — every hour, on the hour (UTC, e.g. 14Z), including the last few hours of recent past.
    • 3h — every three hours snapped to the synoptic clock (00/03/06/09/12/15/18/21Z), with recent synoptic hours of past shown before the next synoptic hour.
    • TAF — the hourly model composed into variable-length periods like a real TAF. Each column is a period labelled with its UTC range (e.g. 21-08Z, with Thu-Fri shown when it crosses midnight). A new period begins on a sustained change of flight category; a short (≤2 h) deterioration inside a steady period is shown as a TEMPO, exactly like the official TAF table — a TMP category row plus the worse value in parentheses on the CIG/VIS/WND rows (e.g. CIG CLR (600), VIS 10+ (2 km)). Precipitation-driven transients are labelled PROB30 / PROB40 (from the model precipitation probability) in the TMP cell tooltip.
    • Days — three days starting tomorrow, each split into AM and PM half-days (e.g. Fri/AM, Fri/PM), aggregated from the hourly model: worst-of-window ceiling/visibility, strongest CB/TCU, max wind, temperature range.
    Rows: category, CIG, VIS, WX, CB, WND, and (hourly views only) T/Td. Hover any category symbol to read that slot’s simulated METAR (prefixed OM-TAF). Your mode choice persists across reloads.
When forecast layers are on, an "Active weather layers" verdict block follows (same as Section 7).

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.

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.

6.4 How Icing is Detected

An icing badge appears whenever any of these is true:

This is a deliberately permissive trigger — icing certificates require margin, and the cost of a false negative is far higher than a false positive.

6.5 METAR History — the Last-3h Trend

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 uses the same visual grammar as the TAF timeline: a coloured flight-category letter per column, then rows for WND, VIS, CIG, WX / CB and QNH. 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.

6.6 Unofficial Weather at Fields Without a METAR

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 seeWhat 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 nmAn 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.

6.7 Favourite Airports

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

7. Click-Anywhere Weather

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.

7.1 Header

The header mirrors the airport popup layout but with location data instead of airport identifiers.

7.2 Sections

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.

SectionWhat'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 = three days from tomorrow split into AM/PM. All span three days; hourly views scroll. Rows: category, CIG, VIS, WX, CB, WND, T/Td; hover a category symbol for that slot’s simulated METAR. 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.

7.3 Active Weather Layers

When forecast layers are switched on, a section labelled Active weather layers appears at the bottom of the popup. Each active layer (Winds, Clouds, Icing, Turbulence, Convective, Precipitation, Fog, MSL Pressure) contributes a one-line verdict for the click point. Verdicts respect the selected altitude and the current time-bar offset, so the popup tracks both inputs in real time.

This section is your fastest cross-check that the painted overlay matches the underlying data at a specific click point.

Where the data comes from: Open-Meteo's seamless model blend (HARMONIE-AROME for the Nordic region, ECMWF elsewhere in Europe, GFS as global fallback). The LLF section, when shown, comes from FMI's official Nordic Low Level Forecast.

8. The Time Bar — Scrubbing Forecasts

Whenever a forecast layer is on (or an airspace overlay needs simulated-time scrubbing), a time bar appears at the bottom of the map. It controls all time-aware overlays simultaneously, so you can sweep through "what does Friday morning look like over the Baltic?" in seconds.

ButtonAction
«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
NowReset to real-time (offset 0)

The range is approximately −12 h+168 h (7 days). Past observations are limited by the source (e.g. radar nowcasts only publish a recent window). When no time-aware layer is on, the bar hides itself; turning a forecast layer off snaps the time back to Now automatically so the next layer you open doesn't inherit a stale offset.

9. The Altitude Bar

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.

KeyAltitude bandPressure levels
TotalWorst-case across all altitudes1000 – 200 hPa
LowSFC – FL1001000 – 700 hPa
MidFL100 – FL210700 – 450 hPa
HighFL210 – FL390450 – 200 hPa
FL050~5,000 ft850 hPa
FL100~10,000 ft700 hPa
FL140~14,000 ft600 hPa
FL180~18,000 ft500 hPa
FL240~24,000 ft450 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.

10. Map Layers (🌐)

The globe-icon menu in the top-right corner controls the underlying basemap style and two essential airspace overlays. Open it by clicking the globe; click any other layer-menu icon (or anywhere on the map) to close.

10.1 Basemap

Pick one of three vector basemap styles. All three are rendered by MapLibre GL JS from OpenStreetMap data via OpenFreeMap, so they zoom smoothly to any level and stay sharp on high-DPI screens.

StyleLookBest for
StandardLiberty — full-colour, balancedDefault; airport icons and roads clearly visible
LightPositron — quiet greyscaleWhen weather overlays are on; the muted base lets colour-coded cloud, precip and fog stand out
BrightHigh-contrast vector styleOutdoor use in sunlight; thicker road outlines and more saturated colour

10.2 Terminal Airspaces

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 to open a popup with the controlling unit’s callsign, primary frequency, vertical limits and airspace class.

How it’s computed: Vector airspace data pulled live from the OpenAIP airspace API for the visible bounding box. Cached per-bbox so panning back to a recently viewed area is instant.

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.

10.3 Special Use Airspaces

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:

ChannelWhat it encodes
ColourAirspace type — R, D, P, TSA, TRA each get their own colour. Same palette as the legend swatches in the bottom-left legend panel.
Outline styleActivation timingsolid = 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.

How it’s computed: Combines three sources for the widest practical coverage:

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.

10.4 ACC Sectors

What you see: Area Control Centre sector boundaries drawn as thin dark-grey dashed outlines. Each sector is labelled with its name and primary frequency. 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.

10.5 IFR Points

What you see: Published IFR enroute fixes (waypoints, intersections, navaids referenced by the IFR network) drawn as small magenta triangles with five-letter identifiers. Click a point for full details. Visible only at zoom levels where the names won’t overlap.

How it’s computed: Live vector data from flyk.com's aeronautical waypoint feed, cached per bbox.

Use it for: Reading IFR clearances, planning controlled-airspace transit corridors, and matching FPL route strings against the visible network.

10.6 VFR Points

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.

10.7 GPS Interference

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.

11. Weather Forecast Layers (⛅)

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 9, where applicable).

The legend panel at the bottom-right shows colour scales and on-screen tweaks for each active layer.

11.1 Winds

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.

11.2 Clouds

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:

Use it for: Quick "is there a hole?" assessment, ceiling height awareness, comparing cloud cover at different cruise levels.

11.3 Precipitation

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)TagSnow (cm/h)
0.1Trace0.1
1Light1
3Moderate3
8Heavy8
16Very heavy16
40+Extreme40+

11.4 Temperatures

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.

TemperatureColourAviation significance
−40 °C VioletExtreme cold — battery / hydraulic / pre-flight concerns
−20 °C BlueCold-soak fuel risk for jets; carb-heat habits for piston
0 °C CyanFreezing line — icing exposure when in cloud
+10 °C Spring greenCool / mild
+20 °C YellowStandard atmosphere baseline at sea level
+30 °C Orange-redDensity-altitude penalty starts to bite
+40 °C Dark redSevere 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:

The colour ramp spans −40 … +40 °C. Upper-air temperatures colder than −40 °C (possible at FL240 in winter) clamp to the violet end of the scale — turn on Show °C labels to read the exact value there. For a point-specific cruise-level read-out, click any location with the relevant forecast layer on and check the per-altitude verdict in the Active weather layers popup.

11.5 Fog

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:

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

Surface visibility is a grid-cell average. Real fog often has 1–10 km horizontal scale (think a single valley), so this layer says "fog is likely somewhere in this cell" rather than "this exact spot is in fog". Always cross-check the relevant METARs and TAFs.

11.6 Icing

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:

  1. Temperature at the level is in the supercooled-water window — full risk in the prime band 0 … −12 °C, then tapering off down to −24 °C as the cloud progressively glaciates (below roughly −15 °C the droplets increasingly freeze to ice crystals, which don't ice the airframe) — and
  2. Cloud cover at the level is ≥ 50% (visible moisture is required for ice accretion).

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.

11.7 Turbulence

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
< 4Light (hidden)
4 – 7Moderate
7 – 10Heavy
> 10Severe

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.

This is a model shear-and-stability proxy for CAT, not a turbulence measurement. It is most reliable near the jet stream; it cannot see mountain-wave or aircraft-scale turbulence below the grid resolution. Treat it as guidance and cross-check SIGMETs, the SWC and PIREPs.

11.8 Convective Activity

What you see: A single combined, GPU-rendered overlay covering everything convective. The colour encodes two things at once:

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.

LabelCAPE (J/kg) approx.LI (°C) approx.Typical top FL
TCU300 – 800−1 to −3FL220 – FL280
MOD CB800 – 1500−3 to −5FL280 – FL360
STRG CB1500 – 2500−5 to −7FL360 – FL400
SEV CB> 2500< −7FL400+

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.

11.9 MSL Pressure

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.

11.10 SIGMETs/Warnings

What you see: Two complementary sources of issued (non-model) hazard polygons in one overlay:

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.

12. LLF Menu (Nordic Low Level Forecast)

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.

12.1 Sub-layers

Sub-layerWhat it draws
LLF Vis/CeilingColoured 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 TurbulencePink polygons for FMI's moderate-turbulence areas (mturb endpoint). Each polygon carries a "∿ FLtop / FLbase" badge above the centroid (e.g. "∿ 050 / SFC").
LLF IcingYellow polygons for moderate-icing areas (ice endpoint). "ICE FLtop / FLbase" badge below the centroid (e.g. "ICE 125 / 030").
LLF CB/TCURed 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.10.

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.

12.2 Popup details

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.

12.3 How the airport-popup LLF table relates

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.

13. Significant Weather Charts

The SWC button (top-right) opens a small panel with three tabs:

TabSourceBest for
Finlandilmailusaa.fi (PDF link too)Detailed Finnish low-level SIGWX
NordicMET NorwayNordic-region overview
EuropeWAFC London EUR SIGWXEuropean 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.

14. Radar / Satellite Menu (📡)

14.1 What it is

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.

14.2 Available layers

LayerWhat it drawsSource
Sat. ImageLatest Europe HRV (visible) channel + IR108 masked-night composite from Meteosat SEVIRI, ~15-minute cadence.FMI / EUMETSAT
Sat. (Daily)Daily true-colour global mosaic from MODIS — useful for a clean “what does today look like” snapshot.NASA GIBS
RadarPan-European precipitation radar composite, 10-minute cadence.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.8) against real observed tops.FMI (12-radar composite)

All seven layers above ship to every user.

14.3 Time control for observation layers

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:

LayerBackwardForward
Radar (Rainviewer)−2 h (dynamic, from frame list)+30 min nowcast (when published; can be 0)
Radar (FMI)−24 hNow only
Lightning (FMI)−24 hNow only
CB/TCU (FMI)−24 hNow only
Storm tops (FMI)−24 hNow only
Sat. Image / Fog / Turb (sat)−24 hNow only
Sat. (Daily)Yesterday's mosaic (static)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).

14.4 Reading the colour palettes

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.

LayerEncodesPalette (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. ImageReal-time visible-channel daylight + IR night composite from Meteosat SEVIRI.True-colour-like during daylight (white clouds over coloured land/sea); at night the IR108 channel shades clouds cold = brighter white, so high CB tops are the brightest patches.
Sat. (Daily)Yesterday's true-colour global mosaic from VIIRS.True colour — no encoding to decode. Clouds white, vegetation green, snow bright white, ocean dark blue.

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.

15. The Airgram Tool (↗)

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.

15.1 Drawing a Route

The airgram-line tool supports multiple waypoints. The route can pass through airports or arbitrary map points.

  1. Click (bottom-left of the map, stacked directly above the Flight Planner button). A red hint banner appears at the top with the active controls.
  2. Add waypoints by clicking (mouse) or tapping (touch). Each click drops a numbered red pill (1, 2, 3 …) on the map.
  3. The line is rebuilt live as you add anchors.
  4. When done, click ✓ Airgram in the banner, or double-click / double-tap to finish.

Snapping

Tap / click on…Resulting waypoint
An airport markerSnaps 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 / seaReverse-geocoded to the nearest place name (e.g. Tampere).

Tools while drawing

ActionHow
Undo last waypoint↺ Undo button, or Backspace, or Cmd/Ctrl+Z
Finish & open the airgram✓ Airgram button, double-click (mouse), double-tap (touch), Enter
CancelClick 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.

15.2 Reading the Chart

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

ElementWhat it looks likeMeaning
Sky backgroundSteel-blue fillClear air. Darker blue = higher altitude.
CloudWhite fluffy patchesCloud cover — opacity reflects cloud %, texture mimics stratiform layering.
TerrainBrown polygon along the bottomModel surface elevation under each sample.
Freezing levelSolid red horizontal lineWhere T = 0 °C at each column. Above = sub-zero.
Cruise FLSolid magenta horizontal lineThe FL you set in the panel toolbar.
IcingOrange → red → magenta translucent fillComputed severity from temperature window + cloud + RH. Magenta indicates SLD (supercooled large droplet) potential.
TurbulenceYellow → red → magenta diagonal hatchingVertical wind shear converted to FAA bands. LGT is hidden, MOD+ shows.
PrecipitationBlue droplets / snow asterisks / freezing rain ringsSurface precipitation type from WMO weather code + intensity.
TCU / CBCloud silhouette with textDrawn 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.
FogCool blue-grey haze near surfaceForecast surface fog / mist.
Wind barbsMagenta arrows + black barbsWind 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 25 for the barb notation.
Bottom axisDistance + UTC times + waypoint labelsDistance ticks every ~60 nm; waypoints labelled with their ICAO / place name and ETA.

15.3 The Hover Popup

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.

RowExampleMeaning
HeaderFL070–FL080 139 nm Terrain 3673 ftAltitude band you're hovering, distance from departure along the route, terrain elevation under that distance.
Wind row109° / 38 kt HW 27 / 27 LXWind 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 ICINGAppears when the icing severity > light. Magenta SLD label warns of supercooled large droplets (high-severity icing band).
Turbulence🌚 Turb MOD / HVY / SEVAppears when shear-derived severity is moderate or worse. Skipped for light turbulence.
ConvectiveOCNL 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.
PrecipitationRAIN 0.4 mm/h / SNOW / DRIZZLE / FZRAType and intensity at the surface column below the hover. Freezing rain (FZRA) and freezing drizzle (FZDZ) are flagged separately.
FogFOG vis 1500 mForecast surface fog with visibility estimate.
Freezing levelFreezing level 3873 ftThe 0 °C isotherm height at the hover column (surface freezing level forecast).
CB column noteCB top FL280, base FL040When the hover column is inside an identified CB cell, the cell's vertical extent.

How to read the wind line

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.

What's not shown

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.

15.4 Panel Controls

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.

ControlWhat it does
Side / Top toggleSide = 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 / restoreExpand the panel to fill the viewport — useful when reading mid-route detail.
Resize handleDrag the bottom-right corner to grow the panel. The airgram canvas adapts to the new dimensions in real time.
Drag the headerMove the floating panel out of the way without closing it.

15.5 Legend layer toggles

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.

15.6 Turbulence rendering

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.

15.7 Vertical sampling and the Max FL cap

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 FLPressure levels fetched (hPa)CountBest for
FL300 (default)1000, 925, 850, 775, 700, 600, 500, 450, 400, 30010Full troposphere; matches IFR and ATPL planning
FL2501000, 925, 850, 775, 700, 600, 500, 450, 4009Heavier IFR; chart top still hits FL240
FL2001000, 925, 875, 850, 800, 775, 700, 650, 600, 550, 50011Mid IFR with denser low-altitude resolution
FL1501000, 950, 925, 900, 850, 800, 775, 725, 700, 650, 600, 55012Light IFR / DA62 typical cruise
FL1001000, 975, 950, 925, 900, 875, 850, 825, 800, 775, 750, 725, 70013VFR / 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.

15.8 Per-airport airgram

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.

15.9 Closing

Click × in the panel header. The drawn line is cleared automatically and the airgram-line button returns to its idle state.

15.10 Save as Flight

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

16. Signing In & Syncing Your Data

The map, weather overlays, METAR / TAF, airgram tool, NOTAMs, SWC and radar work without an account. Sign in to unlock the Flight Planner (Section 18) and to have your saved flights, aircraft profiles and weather-layer preferences follow you across devices and browsers.

16.1 The account button

A small person icon sits at the top-left of the map, next to the search bar. Click it to open the account menu:

An About entry sits at the bottom of this menu in both states — signed in or not — opening the version, contact and disclaimer dialog (Section 17.5).

16.2 Two ways to sign in

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.

16.3 What syncs to the server

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.

16.4 What does not sync

16.5 Logging out

Picking Log out from the account menu does three things in sequence:

  1. Tells the server to invalidate your session.
  2. Wipes everything sync-related from this browser’s local storage — saved flights, aircraft profiles, synced settings, the last-push marker. Anything left would have been a copy already on the server.
  3. Reloads the page so the next person using this browser sees a clean anonymous session and the map you were planning on doesn’t hang around.

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.

Privacy: Only your email address, an opaque session cookie, and the data listed in 16.3 are stored on the server. There are no payments, no ads, and no analytics tied to your identity. Aggregate usage counts (page views, generic event names) go to a privacy-respecting analytics service with no per-user identifiers attached. The only emails you ever receive are the magic-link sign-in mails you ask for — nothing else.

17. Settings

Open Settings from the account menu (Section 16.1) — the ⚙ Settings entry. The panel is a two-level master–detail: a Home view with cards for Display, Aircraft and Presets (saved map-layer viewpoints — Section 20.3), each of which opens its own detail page with a ← Back button. 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 account menu for everyone, not inside Settings — Section 17.5.)

17.1 Display

One row per weather-overlay control. These are the same toggles you’d find buried in the legend strips of individual overlays — pulled out here so you can configure your defaults in one place once, and not have to fiddle with each overlay’s mini-toggles every time you switch a layer on.

Changing a control here updates the live map immediately if the corresponding overlay is on, and the choice is remembered for next time the overlay is enabled.

17.2 Aircraft

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.

17.3 Aircraft 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 18.7).

FieldWhat it drives
NameDisplay label in the Flight Planner aircraft picker and in saved flights. Also used as the “Type” line in the flight-announcement email.
RegistrationTail 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.
Fuel typeAVGAS 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.

Per-flight tweaks vs. per-aircraft edits. Editing aircraft perf in Settings changes the aircraft itself — every future flight that uses that aircraft picks up the new numbers. If you only want to change perf for one flight (e.g. light fuel load, different cruise altitude assumption), edit the numbers directly on the leg row in the Flight Planner instead — those changes are stored on that flight only and a small badge (“Edited for this flight”) indicates the deviation. Reset on that leg snaps back to the aircraft’s Settings values.

17.4 Autorouter (connect your account)

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.

17.5 About

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 bottom of the account menu (Section 16.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.

Staying up to date. Prepare Flights is a Progressive Web App and updates itself in the background. When a newer version has been published, a small “A new version is available” banner appears near the top of the screen with a Reload button; the update only takes effect when you choose to reload, so it never interrupts you mid-planning. If you prefer, you can dismiss the banner and reload later. An installed (home-screen) app checks for updates when you reopen or return to it, so you don’t have to fully close and relaunch it to get the latest build.

18. Flight Planner

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.

Sign-in required. The Flight Planner is only available to signed-in users — saved flights and aircraft profiles travel with your account (Section 16). If you’re anonymous, the Flight Planner toggle and the airgram’s Save as Flight button are disabled; clicking either prompts you to sign in. Once signed in, your flights and aircraft appear automatically on every browser you log into.

Aircraft profiles — your fleet plus any overrides on the built-in presets — are managed in Settings → Aircraft (Section 17.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 17).

18.1 Flights Library

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 16.3). Import / paste lets you bring in a flight exported from elsewhere via JSON.

Each flight remembers its own map-visibility preference. Click the eye icon next to a flight to hide it from the map without unloading it (you can still edit it from the panel). The choice is saved with the flight, so reloading the app keeps a flight you hid as hidden. A newly-created flight starts visible.

18.2 Aircraft profile

Pick an aircraft from the dropdown — the list is built from the presets and your custom aircraft as configured in Settings → Aircraft (Section 17.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.

18.3 Flight rules

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.

18.4 Legs and waypoints

Each flight is one or more legs; each leg is two or more waypoints. Add a leg with + Add leg. Each leg header carries ▲ / ▼ 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:

18.4.1 Adding waypoints

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

18.4.2 Editing waypoints on the map

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:

18.4.3 Setting departure times

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.

18.5 Leg summary

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.

18.6 Flight totals

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.

18.7 Per-leg tools — airgram, AI brief, print & export

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 17.4), the leg also gains ✈ Auto route, Validate route and a flight-plan filing control — covered in Section 18.12.

The two collapsible panes:

⎙ Print leg

The Print leg button opens the same printable briefing as the whole-flight one (Section 18.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.

PLOG & Log flight

Two leg buttons tie the plan to what you actually fly. PLOG opens the live moving map & PLOG (Section 21) for that leg — planned vs. actual, in flight. Log flight creates the matching logbook entry (Section 22), or, once a flight is already logged for the leg, the button becomes ✓ Edit log and opens the existing entry instead.

⤓ Export to ForeFlight (.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.

What the .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.

✉ Announcement

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:

The registration and MTOW come from the aircraft profile — set them in Settings › Aircraft (Section 17.2). All times are UTC.

18.8 Print briefing

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:

  1. Page 1 — Flight summary cover. Trip name, generation timestamp, full route line (chained airports), then a 2-column grid: legs / departure / distance / flight time / fuel used / fuel required (with taxi + reserve breakdown) / final ETA / airport count. An Aircraft sub-block lists the assumptions used for the math — cruise TAS / burn, fuel capacity, reserve (min + gal), taxi (min + gal), climb perf, descent perf — so the briefing is self-contained.
  2. One page per leg. Navlog-style header (route, ETD/ETA, distance, time, winds, fuel), a side FUEL + INFO column, and a VFR-simplified navlog table: Waypoint / Alt / Wind / Hdg / GS / Dist / Fuel rem / ETE / ETA. 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.
  3. One page per leg — AI route brief. The streamed AI briefing for each leg lands on its own sheet so it doesn’t crowd the navlog.
  4. Airports section. An "Airports" heading followed by the first airport block on the same sheet, then each subsequent airport on its own page. Per airport: ICAO + name header, Info + Weather columns (METAR / TAF parsed table / hourly / LLF / runways / frequencies / refined hours / tower schedule).
  5. Route map. Clean SVG of the whole flight with active R/D/P / TSA polygons drawn in (corridor-distance filter: only items within ~30 nm of the route, classified across the full flight window, not just print time). Items where the planned cruise penetrates an SUA’s vertical band get a red ⚠ marker on the map polygon.
  6. Active Special Use Airspaces. Dedicated page with the table of relevant SUAs (the ones flagged on the map above): type, code, location, altitude band, status, time-of-day windows, source. A banner above the table summarises the count and the time window evaluated. NOTAM details (Q-code, F/G limits, full E-line) follow underneath.
  7. Footer. PIC + date/time signature lines and a brief disclaimer reminding the pilot to verify against official sources.

18.9 Flight summary

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.

18.10 Persistence

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 16.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 18.4.3); your stored times are never rewritten without that confirmation.

18.11 Actual flown track vs the plan

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 19, The Flown Track Tool.

18.12 Auto route & flight-plan filing

With an autorouter account connected (Section 17.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 18.3). Until you connect, the buttons still appear but prompt you to connect first.

✈ Auto route (IFR)

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

Validate route (IFR)

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.

File a flight plan

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 flight-plan form

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:

ItemWhat it is
7 — Aircraft identificationRegistration (no hyphen) or callsign, max 7 characters.
8 — Flight rules / typeI (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 / wakeAircraft count (blank for a single aircraft), ICAO type (e.g. DA62), wake-turbulence category.
10 — EquipmentRadio / nav capabilities (10a) and surveillance / transponder (10b). A picker offers a checklist.
13 — Departure / EOBTDeparture ICAO and off-block time (UTC, HHMM). The EOBT is taken from the leg’s departure time.
15 — Speed / level / routeCruising TAS, level (or VFR), and the route string.
16 — Destination / EET / alternatesDestination ICAO, total time enroute, and up to two alternates.
18 — Other informationDOF/, 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 — SupplementaryEndurance, 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 stages

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

  1. Not filed (draft)File flight plan.
  2. Filing… — sent and being processed; the status refreshes automatically (or use Refresh status). You can still Cancel filing.
  3. Filed — accepted (IFR plans now carry an IFPLID; VFR plans show an AFTN tag). From here: Mark departed, Change departure time, Re-file (if the plan changed), Refresh status, or Cancel flight plan.
  4. Airborne → Arrived — after departure you can Mark arrived; arrived / closed plans are read-only.
  5. Rejected — fix the flagged problem and Edit & re-file. Cancelled — you can File a new flight plan.

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.

Editing & re-filing

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:

This files a real flight plan. Filing transmits an actual ICAO flight plan — via IFPS (IFR) or AFTN (VFR) — under your autorouter account. Review the route, times and details, and verify against official sources before filing, and cancel any plan you do not fly.

19. The Flown Track Tool (✈)

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 the in-flight moving map, Section 21.)

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.

19.1 Finding a flight

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.

19.2 The track on the map

19.3 Flight detail

Selecting a flight opens a detail card with:

19.4 Comparing with your plan

You can attach a flown flight to a leg in the Flight Planner and keep it with the trip. There are two ways in:

  1. From the planner — each leg shows an ✈ Actual chip. Click it to open the tool pre-filled with the leg’s aircraft, date and route; the matching flight is selected automatically. Press Attach to this leg.
  2. From the tool — after opening a flight, press Save to leg…. It finds the leg whose airports and date match (across all your saved flights); if several match, you pick one.

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.

19.5 Export

The GPX button downloads the flown track as a GPX file (lat / lon, altitude and timestamps) for use in other tools.

19.6 Notes & limits

20. Print Briefing (⎙)

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

20.1 What gets printed

20.2 What gets captured from your view

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

Tip: Print before you fly to keep a single-sheet snapshot of the day’s situation — weather, airspace and NOTAMs at a glance, no internet required once on paper or in your tablet’s PDF reader.

20.3 Presets

A preset is a named, saved 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 (convection, icing, a VFR layout…), or print it as a briefing in one click without changing the map you’re looking at. Presets sync across every device you sign in on. They require sign-in.

The quickest way to use them is the layers button on the main screen — the stacked-squares icon in the top-left, just under the funnel filter. 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.

Creating & editing presets

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.

Printing a preset

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

21. In-Flight Moving Map & Navlog (☉)

Once you’ve planned a flight you can fly it with a live moving map: your own-ship position on the chart, leg-by-leg navigation, a running PLOG (planned vs. actual) and automatic OOOI timing that feeds straight into your logbook. It’s the ☉ Show my location 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. Tracking keeps the screen awake and is designed to keep working offline — see Section 21.6.

21.1 Starting and stopping

Tap to start tracking; tap it again to stop. On stop, if you’ve recorded a track against a leg you’re asked whether to save it (Section 21.5). You can also jump straight into the moving map for a specific leg from the Flight Planner — see the PLOG button in Section 18.

21.2 Own-ship HUD & leg navigation

21.3 OOOI times

While you track, the app stamps the four OOOI events — off-block, take-off, touchdown and on-block — from your movement, and derives block, airborne and taxi times. These become the times on the logbook entry, so a saved flight already has correct block and flight time without any typing. You can correct any of them later in the logbook editor.

21.4 The PLOG (planned vs. actual)

The PLOG panel compares the leg you’re flying against the plan, in real time.

21.5 Recording, autosave & saving to a leg

21.6 Offline

Before departure, warm the route’s basemap tiles (see Section 23, Offline Mode) so the moving map stays complete with no signal. GPS itself needs no connection, so own-ship, leg navigation and the PLOG keep working in the air; the saved track syncs once you’re back online.

22. Logbook

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.

22.1 Where entries come from

22.2 EASA basis

The logbook follows EASA conventions so it can stand in for a paper logbook:

22.3 Editing & summaries

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, IFR / VFR, night, PIC and SE / ME hours, plus a rolling 90-day landing count.

22.4 Filters & deleting

22.5 Export & import

22.6 Print an EASA page

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.

23. Offline Mode

The app supports a full offline experience: pre-fetch weather, NOTAMs, AIP, airspaces and flight-planning data while you have network, then operate normally without one — in the cockpit, on a remote field, on a long ferry where mobile data is unreliable. Snapshot data is served from the browser’s IndexedDB so the same airport popup, briefing print and Flight Planner work as if you were online, just with cached values.

23.1 What works offline

With offline mode active the app serves the following from the local snapshot:

23.2 What does not work offline

The following are network-only and will be unavailable until you switch offline mode off:

The right-side weather, radar, LLF and SWC menus, the bottom-right DA62 panel and the “Draw a line → airgram” button are hidden automatically while offline mode is on, so you don’t accidentally trigger something that cannot complete. The map-overlay (globe) menu, Flight Planner, Legend and Help stay visible because they all work with cached data.

23.3 Preparing the snapshot

  1. Open the avatar menu (top right) and choose ✨ Prepare for offline.
  2. Country selection. Pick the countries you need. Defaults come from your saved flights — a Tampere → Tallinn flight pre-checks Finland and Estonia. Pre-checked countries sort to the top of the list; the rest are alphabetical. A search box trims the long tail. Each row shows the number of airports in that country.
  3. Press Prepare snapshot.
  4. A progress modal walks through each phase: METAR, TAF, NOTAMs, Saved flights (per-waypoint hourly forecast), Airspaces (R / D / P / CTR / TMA), AIP per airport, Airgram per leg, VFR / IFR points + ACC sectors, Area NOTAMs (by FIR). A blue status line at the top reports the active sub-step (“Fetching METAR batch 3 / 17”). Active rows are highlighted, finished rows get a green check.
  5. Typical durations: Finland-only (~100 airports) finishes in 30–60 seconds; Nordic in 1–2 minutes; a European-wide selection can take 5 minutes or more depending on connection speed.
  6. Cancel is always available. The partial snapshot stays in IndexedDB; re-running Prepare picks up where you left off (and re-fetches the running phase).

23.4 Going offline / online

When the snapshot is ready, press Go offline now. A blue 📱 Offline mode banner pins to the top of the viewport showing the snapshot timestamp.

To go back online:

The banner disappears, the network-only menus reappear, and live data resumes.

23.5 Snapshot freshness and refresh

Weather data ages quickly — a 12-hour-old METAR or TAF is less useful than a fresh one. The banner shows the snapshot timestamp (e.g. “Snapshot 14:30Z”) so you can tell at a glance how stale the data is.

To refresh without leaving offline mode:

23.6 Edits made while offline

Saving a flight, editing waypoints, updating aircraft profiles or changing settings while offline mode is on all save locally in your browser immediately. They cannot reach the server (you have no network), so they go into a small sync queue.

The banner shows a pending-sync count when there’s anything queued:

📱 Offline mode · Snapshot 14:30Z · 3 pending sync   [ Resync ]

Press Resync when you’re back on a working network. A toast reports the outcome:

Resync only drains the queue. It does not turn offline mode off — the snapshot data keeps serving while pushes flush in the background. Use Go back online for the actual mode switch.

23.7 Storage usage

The snapshot lives in your browser’s IndexedDB under airports-offline. Rough sizes:

Selection Airports Approx. size
Finland only~1205–10 MB
Nordic (FI / SE / NO / DK / EE)~40015–30 MB
European-wide~5000200 MB+

Browser quotas for IndexedDB are typically 500 MB–2 GB. To wipe the snapshot completely, use your browser’s DevTools (Application → IndexedDB → airports-offline → Delete database) or open the avatar menu and re-Prepare with no countries selected.

Recommended pre-flight workflow:
  1. The evening before, save your flight to the Flight Planner. Make sure the departure UTC is set — that’s what the snapshot uses to time-bucket the wind / wx samples.
  2. 30–60 minutes before departure, open Prepare for offline while on Wi-Fi. Adjust country selection if your trip crosses borders.
  3. Watch the snapshot complete (the modal shows live progress).
  4. Press Go offline now. The banner appears.
  5. (Optional) Print the briefing now — it uses the snapshot you just prepared.
  6. Fly. The app keeps working: airport popups, NOTAMs, AIP, airspaces, planner.
  7. After landing on a working network: press Resync to push any edits, then Go back online.

24. Pre-Flight Workflow Tips

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.

Day-of pre-flight briefing (~10 min):
  1. Synoptic picture. Open the SWC panel (top-right) — the Nordic / Europe Significant Weather Chart shows fronts, jets, CB tops and icing/turb zones the way the MET office sees them. Pair with MSL Pressure (Weather menu) on the map to find the highs / lows yourself.
  2. Issued hazards. Turn on SIGMETs/Warnings (Weather menu). Polygons with a solid outline are active right now; dashed ones activate later today / tomorrow. Click any polygon for the validity window, altitude band and movement vector.
  3. Country-level scan. Zoom to the country containing your route and read the airport-marker colours: green = VFR, blue = MVFR, orange = BIR, red = IFR, magenta = LIFR. Crowded red along the planned track is the first red flag. Coloured BR / FG / FZFG badges on the markers flag observed fog.
  4. Departure & destination. Click both airports. In each popup: scan the METAR pill on top of the Weather tab, read the TAF timeline, hit "Ask AI" for a plain-English summary, then open the Airgram tab for a 24-hour vertical evolution at that exact location. Pick the Departure time on the scrubber (e.g. Mon 09Z) so the chart starts at your planned wheels-up moment.
  5. Route profile. Click (bottom-right), draw a line through your waypoints, double-click to finish — airgram opens in a floating panel (see the next box below for the deeper read).
  6. Print briefing. Bottom-left button. One click prepares a kneeboard PDF: map snapshot + active SUA + Terminal areas + SIGMETs + aerodrome METAR list.
  7. In the air & after. Fly the plan with the moving map & PLOG (§ 25); it times the flight and writes it to your logbook (§ 26) automatically.
Reading the route airgram (the cruise-FL decision):
  1. Set the time with the departure scrubber (« ‹ Mon 09Z › ») in row 1 of the toolbar. Range is now — now+7 d.
  2. Match the chart top to your aircraft. Max FL100 for VFR / piston-NA aircraft — the chart re-fetches at denser pressure levels below FL100 so every 1 000 ft is sampled (see § 15.7 for the full per-cap level list). FL150 for a turbo SEP, FL200–250 for a TP twin, FL300 for full troposphere.
  3. Pick the scale. Scaled (pressure-weighted Y) gives more vertical room to FL050–FL100 — useful for VFR planning. Linear is fairer for an IFR transit where every foot matters equally.
  4. Enter your cruise FL in row 2 of the toolbar. The magenta line drops onto the chart at that altitude. The Flight time / GS / Wind read-outs update from the per-leg headwind/tailwind components — iterate IAS and FL until you have a plausible block time.
  5. Layer-by-layer hazard check. Click each name in the legend (bottom of chart) to declutter: hide Cloud and Wind, look at Icing alone — is the orange band straddling my cruise FL? hide everything except Turb to spot wind-shear zones; hide everything except Precip to find the rain/snow corridors and freezing rain (FZRA) symbols.
  6. Hover for numbers. Sweep the cursor along the line at your cruise FL — the hover popup gives wind direction / speed, HW/TW/XW relative to track, temperature, RH, freezing level, and any active icing / turb / CB labels at that exact (distance, altitude). All hazard rows stay visible in the tooltip even when their overlay is hidden in the legend.
  7. Top view for the corridor. Toggle Top to see a 5×N corridor view at the cruise FL — cloud, precipitation and wind density across a 50-NM-wide strip along the route. Useful when the side view is busy and you want a "what does this strip actually look like on a map?" sanity check.
Spot-checking weather between airports:
  1. Click any empty point on the map (not on an airport marker) to open the click-anywhere weather panel.
  2. Read the pills (visibility, ceiling, freezing level, wind, RH…) and the OM-TAF forecast strip with the 1h / 3h / TAF / Days toggle.
  3. Move the time bar to your ETA over that point. The pills, the forecast strip and any active forecast layer (Fog / Icing / Cloud / …) all update together. The "Active weather layers" verdict block at the bottom tells you each enabled overlay's value at that lat/lon and time.
  4. Inside an FMI LLF area, the popup also includes the 2-hour LLF window table and the FMI overview text.
Convective day — CB / lightning / storm tops:
  1. Turn on Convective Activity (Weather menu) at Total to see the model's CAPE-based potential — bright purple is "atmosphere loaded for CB".
  2. Cross-check against observed convection: turn on CB/TCU (FMI) (Radar menu) over Finland and Lightning (FMI) for the wider European 10-min flash count.
  3. Add Storm tops (FMI) to see how tall the existing cells are — the higher the painted FL, the more energetic the cell. Compare to your cruise FL to know whether you can top them, deviate around, or stay on the ground.
  4. Scrub the time bar forward to follow whether the activity grows or decays. The SIGMETs/Warnings layer will flag any thunderstorm SIGMET or CAP warning — treat as a hard avoid.
Watching a front move in (synoptic):
  1. Turn on MSL Pressure for isobars — tight spacing = strong gradient wind, a closing L = a deepening low.
  2. Add Precipitation; the rain/snow band traces the surface front. Add Winds at FL050 to see the directional shear behind the cold front.
  3. Scrub the time bar over the next 24 h to watch the front cross — SIGMETs/Warnings polygons that were dashed (upcoming) flip to solid (active) at their onset hour.
  4. Pair with Radar (FMI) and Lightning (FMI) at Now to compare the model's frontal placement against what's actually on the radar.
Nordic low ceiling / poor vis (LLF flying):
  1. Open the LLF control (top-right, below SWC). Turn on LLF Vis/Ceiling — polygons are coloured by the worst-of (vis, ceiling) bucket; the G/L cross marker at the centroid shows area vs. local difference. Combine with LLF Icing and LLF Turbulence sub-layers for the full FMI low-level picture.
  2. Click any polygon for the FMI-detailed popup: flight category (G + L), VIS / CLD buckets, present weather, 0°C level, cloud top, ICE / TURB / CB-TCU rows — all point-in-polygon filtered to the clicked spot so distant sub-zones don't leak in.
  3. Cross-check the same data on each airport's Weather tab — the 2-hour LLF window table there draws from the same FMI feed.
  4. For coastal-fog reality check, turn on Fog (Weather menu) at Now: the layer blends live FMI AWS + METAR visibility into the model grid (see § 11.5), so bands of marine fog show up in the right place along the coastline.

25. Reading Wind Barbs

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:

Calm
(<3 kt)
5 kt
(half barb)
10 kt
(full barb)
20 kt
(two barbs)
25 kt
(2 + half)
50 kt
(pennant)

Wind speed is rounded to the nearest 5 knots. Barbs are additive: a pennant + two full barbs + one half barb = 75 kt.

26. Reference Tables

26.1 Flight-Category Cheat Sheet

CatLetterColourCeilingVisibilityWhat it implies
VFRV Green> 3,000 ft> 8 kmComfortable VFR
MVFRM Blue1,000–3,000 ft5–8 kmMarginal VFR — experienced VFR pilots only
BIRB Orange600–999 ft1.5–5 kmBelow IFR base — instrument approach territory
IFRI Red500–599 ftStandard IFR conditions
LIFRL Purple< 500 ft< 1.5 kmLow IFR — CAT II/III approaches

26.2 Common METAR Weather Codes

CodeMeaningCodeMeaning
RARainBRMist
SNSnowFGFog
DZDrizzleHZHaze
PLIce pelletsFUSmoke
SGSnow grainsDUDust
GRHailSASand
GSSmall hailSQSquall
TSThunderstormFCFunnel cloud
FZFreezingSSSandstorm
SHShowerDSDuststorm
BLBlowingVAVolcanic ash

Modifiers stack: +SHRA = heavy rain shower; -FZDZ = light freezing drizzle; VCFG = fog in vicinity.

26.3 Cloud Cover

CodeCoverageOktasForms a ceiling?
FEWFew1–2/8No
SCTScattered3–4/8No
BKNBroken5–7/8Yes
OVCOvercast8/8Yes
VVVertical visibilityYes (special: in fog/precip)

26.4 Units

MeasurementUnitNotes
Wind speedKnots (kt)1 m/s = 1.944 kt
Visibility (Europe)Metres9999 = 10+ km
Visibility (US)Statute miles1 SM = 1,609 m
Ceiling / AltitudeFeet (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)
DistanceNautical miles (nm)1 nm = 1,852 m

27. Data Sources & Disclaimer

27.1 Where Each Layer's Data Comes From

Layer / featureSource
Basemaps (Standard / Light / Bright)OpenFreeMap vector tiles (Liberty / Positron / Bright styles), rendered with MapLibre GL JS — based on © OpenStreetMap contributors
Airport database (~22,000 airports worldwide)OurAirports — static build (PDDL public-domain)
METARAviation Weather (US)
TAFaviationweather.gov
NOTAMs (aerodrome + FIR area)FAA NOTAM Search (international pass-through), proxied to avoid CORS
Terminal Airspaces (TMA / CTR)OpenAIP vector airspace API
Special Use Airspaces (R / D / P)OpenAIP, supplemented by Flyk for Finland-extended coverage and NOTAM-supplement-driven temporary areas
TSA / TRA reservations (military training, daily AUP/UUP)Flyk — activation calendar refreshed daily
GPS Interferencegpsjam.org daily H3 dataset (CC-BY), derived from ADS-B Exchange aircraft NIC reports — previous-day aggregate
Click-anywhere weather, six-period forecastOpen-Meteo (HARMONIE-AROME / ECMWF / GFS blend)
Winds, Clouds, Precip, Fog, Icing, Turb, Convective Activity, MSL PressureOpen-Meteo pressure-level fields
Radar / Satellite menu — Sat. Image, RadarRainviewer WMS
Radar / Satellite menu — Sat. (Daily)NASA GIBS MODIS true-colour daily tiles
Radar / Satellite menu — Radar (FMI), CB/TCU (FMI), Storm 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)
SWCFMI, MET Norway, WAFC London
AI summaries (weather briefing, NOTAM explanation)Anthropic Claude, prompted on-demand via the app’s server-side proxy
All external API calls go through a server-side proxy that handles CORS and API key management. No personal data is sent or stored.

27.2 Disclaimer

This application is provided for situational awareness and pre-flight planning assistance. It is not certified for operational flight planning, in-cockpit weather, or any safety-of-flight decision. Forecast layers (Sections 10) are model output and inherit the model's resolution limits — typically a 9 km grid for Nordic ECMWF/HARMONIE, coarser elsewhere — so phenomena smaller than the cell (valley fog, isolated CBs, mountain rotor) may be missed entirely. Always verify with official METAR / TAF / SIGMET / NOTAM sources before flight.

Prepare Flights — User Manual
For pilots, by pilots · Updated June 2026