API reference

How RAIM is computed

What the RAIM prediction models, where its data comes from, what happens when that data is late, and how it has been checked. The same text is on https://bravoecho.ai/services/raim-prediction.

Constellations and receivers:

  • GPS by default. Galileo can be added (constellations: ["gps","galileo"]); the receiver then also solves the GPS-Galileo time offset. GLONASS, BeiDou and SBAS (WAAS, EGNOS) are not modelled; the prediction is the receiver's own RAIM, not SBAS availability.
  • Receiver classes are chosen with profile, named by method:
    • do208-fd: fault detection (FD) only with the RTCA DO-208 false alert budget, the TSO-C129 receiver class, SA off.
    • do208-fd-sa: the same receiver class with Selective Availability on (older TSO-C129 equipment).
    • do229 (default): fault detection and exclusion (FDE) with the RTCA DO-229 baseline budget (false alert 1e-5 per hour, missed detection 0.001), the RAIM/FDE function of TSO-C145/C146 class equipment.
    • fd-uniform: fault detection with a uniform range error model and a 5 minute rule measured from the first to the last unavailable minute.
  • Barometric aiding on or off (baro), FD or FDE (fde), elevation mask (mask_deg, default 5 degrees), sample step and the dispatch rule (min_outage_minutes: no continuous loss of RAIM of that many minutes) can each be set per request. Every answer echoes the settings it applied in params.
  • The error model is weighted per satellite, as in DO-229 Appendix J. The satellite's own signal error is taken as URA index 3 of the GPS Standard Positioning Service Performance Standard (5.7 m, 1-sigma; 2020 edition, Table A.5-1), a conservative value that today's satellites outperform; ionospheric, tropospheric and receiver errors are added for each satellite's elevation, with the ionospheric term taken at the geomagnetic latitude of its pierce point.
  • Alert limits by phase: oceanic 4.0 NM, en route 2.0, terminal 1.0, approach 0.3, or any RNP value (rnp0.1 ... rnp4) or hal_nm.

Data and freshness:

  • GPS almanac: from the US Coast Guard Navigation Center (NAVCEN), checked every 6 hours; the SEM and YUMA copies are cross-checked and sanity-checked before use, recent versions are kept, and an almanac older than the one loaded is refused. Galileo almanac: from the European GNSS Service Centre.
  • Backup source: when NAVCEN cannot be reached, the GPS almanac and the NANUs are taken from CelesTrak's public copies of the same files (celestrak.org), checked the same way except for the SEM/YUMA cross-check; the answer names the almanac source in almanac.source (navcen or celestrak) and carries a warning while the backup is in use. Freshness counts from the last successful fetch from either source.
  • Satellite outages: NANUs (GPS, NAVCEN) and NAGUs (Galileo) are read every 30 minutes and applied for the times they cover, together with any outages sent in the request.
  • Every answer names the almanac version it used (almanac) and when it was computed (generated_at).
  • When the data is late the answer says so: degraded: true, the X-Raim-Degraded: true header and a warning, when the almanac is more than 7 days from the requested time or the NANU/NAGU set has not been refreshed for 6 hours. More than 30 days from the almanac the request is refused (503) rather than guessed. The service's health check fails when the outage notices are a day old.
  • Past days are computed with the almanac and the NANUs that were in force on that day, so an old prediction can be reproduced.

How it has been checked (state of October 2026):

  • The protection level computation, reimplemented separately with standard scientific libraries (SciPy, NumPy) from the published formulas: the two agree to 6e-10 relative on 17,292 epochs at six airports, FD and FDE.
  • Satellite positions: within 0.005 degrees of the broadcast ephemeris for every satellite, all day.
  • Against the worldwide RAIM availability tables published by the US DOT Volpe Center and MITRE (2002), on the RTCA reference constellation: fault detection agrees within 0.06 percentage points in all 64 published cells; exclusion within 0.08 points with 23 or 24 satellites, and 0.07 to 0.35 points more available than the tables with 21 or 22 satellites (less conservative, not yet explained).
  • Against the FAA 24-hour worldwide RAIM unavailability plots (fault detection, the TSO-C129 class profile), 13 days from 2024 to 2026: 94.4 to 98.1 % of the 13,500 map cells agree, and where both show an outage the minutes agree to a median of 2 to 3. Against the share of the globe the FAA itself reports as free of outages under each plot, we show more outage area on 12 of the 13 days and the same, within 0.02 points, on the 13th. The cells that differ sit at the edges of outage areas. One further plot (18 Jan 2024) is left out because its axes cannot be read reliably.
  • Against Eurocontrol AUGUR, with a profile that follows AUGUR's own error model: 246 of 265 AUGUR outages reproduced in 35 exports at 30 locations, onset within a minute on average; with fault detection only the two agree closely, with exclusion (FDE) that profile's protection levels run about 12 % below AUGUR's, so less conservative. Our default profile covers all 81 of AUGUR's fault detection outages at RNP 0.3 and 75 of its 88 exclusion outages. For the TSO-C129 class AUGUR's model is more pessimistic than the FAA's: our TSO-C129 profile covers 47 of the 81.
  • Against Garmin's public FDE predictor: sampling a route the way Garmin's predictor does, our engine reproduces 805 of 808 of its protection levels within 1.5 % and every one of its outages (October 2026), and 473 of 474 at six airports on four continents (September 2026).
  • Against published RAIM NOTAMs, July to October 2026: Vietnam's NOTAMs state their receiver class and phase (TSO-C146 FDE, RNP APCH). Computed only from the almanac and outage notices available when each NOTAM was issued, our default profile overlaps 389 of their 401 outage windows (97 %); start and end times differ by a median of 1 minute, 90 % within 1. We miss 12 of their windows, and on the days they published we predict 35 outages of 5 minutes or more that they did not (992 aerodrome-days). Japan's NOTAMs name no receiver class and imply a model more conservative than the TSO-C129 or TSO-C145/C146 receiver classes; we do not reproduce them. Where a State publishes RAIM NOTAMs, they govern.
  • Not yet done: comparison with what receivers reported in flight, and the RTCA DO-229 test cases. The full evidence pack, with per-window data, is available on request: hello@bravoecho.ai.

How it is used: BravoEcho provides RAIM prediction as flight planning information. Whether it may serve as an operator's approved means of RAIM prediction is decided by the operator and its authority (for example the FAA through operations specifications, or an EASA national authority); we provide the methodology and validation data an operator needs for that.