Advisory route planning
VFR-descent planner
Suggest a route that keeps a VFR-reporting airport within range at every point — ETOPS planning with a live-weather suitability predicate.
Plan a VFR-descent route
Range defaults to a 40 nm distance disk. Time-at-speed (range_min + speed_kt) and glide (glide_ratio + altitude_ft) modes are available as query parameters — see /v1/plan. Plans are capped at 600 nm great-circle — farther than that, use the trip planner.
No fully-covered route exists under the HARD constraint. Reason: disconnected. The origin reaches 1 node(s) over covered edges; the destination is reachable if coverage is ignored (a weather wall, not a missing connection).
Showing the SOFT minimal-exposure route below — the out-of-coverage segments are highlighted in red and quantified in the diversion table.
Local equirectangular projection, north up. Green fills are range rings (radius R) around suitable, VFR-reporting airports — their union is the covered region. 8 suitable airports in the region. Red segments are out of coverage. Coverage is tested by sampling the great circle every sampleSpacingNm; a covered verdict is exact only to ±sampleSpacingNm/2. An uncovered sliver narrower than the spacing can be missed. Advisory, not a defended claim.
Route · 10 legs · 397.2 nm · 397.2 nm exposed
| # | From | To | Via | Dist (nm) | Coverage |
|---|---|---|---|---|---|
| 1 | KPHN | MARGN | join | 5.7 nm | exposed 5.7 nm |
| 2 | MARGN | TRMML | corridor | 39.7 nm | exposed 39.7 nm |
| 3 | TRMML | OREYO | corridor | 55.8 nm | exposed 55.8 nm |
| 4 | OREYO | COLEE | corridor | 43.4 nm | exposed 43.4 nm |
| 5 | COLEE | LUBEQ | corridor | 35.6 nm | exposed 35.6 nm |
| 6 | LUBEQ | JAVAM | corridor | 55.8 nm | exposed 55.8 nm |
| 7 | JAVAM | KP87M | corridor | 20.4 nm | exposed 20.4 nm |
| 8 | KP87M | OSTEJ | corridor | 55.5 nm | exposed 55.5 nm |
| 9 | OSTEJ | BAITS | corridor | 55.2 nm | exposed 55.2 nm |
| 10 | BAITS | KRCX | join | 30.2 nm | exposed 30.2 nm |
Great-circle A→B is 396.0 nm; the planned route is 397.2 nm.
Diversion table (ETOPS-style)
| Leg | Nearest suitable | Bearing (°) | Dist (nm) | Best cover | Margin (nm) |
|---|---|---|---|---|---|
| KPHN→MARGN | KDRM | 345° | 189.6 nm | KDRM | ▼ -153.2 nm |
| MARGN→TRMML | KDRM | 351° | 168.7 nm | KDRM | ▼ -149.6 nm |
| TRMML→OREYO | KSJX | 336° | 136.4 nm | KDRM | ▼ -128.7 nm |
| OREYO→COLEE | KSJX | 352° | 117.6 nm | KSJX | ▼ -96.4 nm |
| COLEE→LUBEQ | KSJX | 010° | 109.6 nm | KSJX | ▼ -77.6 nm |
| LUBEQ→JAVAM | KSJX | 033° | 109.1 nm | KSJX | ▼ -77.9 nm |
| JAVAM→KP87M | KSJX | 050° | 117.9 nm | KSJX | ▼ -85.5 nm |
| KP87M→OSTEJ | KLSE | 247° | 110.9 nm | KLSE | ▼ -105.1 nm |
| OSTEJ→BAITS | KLSE | 221° | 95.4 nm | KLSE | ▼ -70.9 nm |
| BAITS→KRCX | KLSE | 196° | 95.1 nm | KLSE | ▼ -57.7 nm |
Per leg: the nearest suitable airport (bearing from the leg midpoint) and the single airport that best blankets the leg, with margin = R − its worst-point distance. A negative margin (▼) means no single airport covers the whole leg — the union still may; this is a per-airport lower bound, not an over-claim.
Snapshot & configuration
- Nav cycle
- 2607
- Artifact
- 66355e9d67a7
- METAR reports used
- 134 of 839
- Oldest observation
- 2026-07-17T10:45:00.000Z
- Range R
- 40 nm → 40.0 nm
- Weather minimum
- VFR only · 75 min max age
- Routing
- mixed · corridor 30 nm
- Constraint
- hard
- Min runway
- 3000 ft
- Coverage test
- ±0.75 nm
This plan is reproducible from the values above: the same nav cycle, artifact, METAR observation times, and config yield the same route. Coverage is tested by sampling; a “covered” verdict is exact only to the tolerance shown. Weather is an ephemeral overlay — never merged into the navigation data.
Advisory / planning only · AIRAC cycle 2607 · not a certified navigation source.