Technical reference

ND terrain and weather radar (build 75)

docs/TERRAIN_WXR.md

What Zibo does in X-Plane#

  • Weather radar: X-Plane's own radar, drawn by X-Plane's EFIS map instrument ("Capt Basemap" in the ND's PANEL_3D, under the compass and the route). zibomod's WXR() sets it from the radar panel:
    • main mode TEST / normal;
    • each side's mode (MAP, WX+M manual, WX+A auto multiscan);
    • gain;
    • the ALT knob (X-Plane's radar altitude);
    • the sector (±60° below 1800 ft with the predictive windshear armed, else ±90°);
    • the radar test (PWS FAIL, WINDSHEAR amber / red on the ND);
    • the ND's mode label.
  • Terrain: not Zibo's. The TerrainRadar plugin for X-Plane (by another author) draws it and gives the peak elevations and its look-ahead TERRAIN / PULL UP. zibomod only reads it (TerrainRadar_warning). Without the plugin Zibo shows no terrain (draw_terrain_flag 0, gpws_terr_warn −1: our oracle's state).

Here#

  • WXR(), WXR_start_flight() and the knob commands (CMD_wx_*) are translated with the Systems loop. The radar panel's knobs turn (WXR_MAIN_MODE, WXR_CAPTAIN_*, WXR_FIRST_OFFICIER_*). X-Plane's radar settings that WXR() makes are published as L:LU737_WXR_*. The ND's mode label and the radar test flags come from the same code (L:LU737_DU_*).

  • In the ND's map slot, MSFS's own map (the SDK's BingComponent; avionics/src/du/NdMap.ts) is placed and turned as zibomod draws the ND:

    • the aircraft at 0.5 / 0.199 (expanded) or 0.48 (centred) of the ND box;
    • a mile 0.136 / 2^range of the box;
    • up is the true heading, or the true track in MAP above 45 m/s.

    It shows with WXR or TERR on, not in PLN.

    • TERR: MSFS's terrain coloured against the aircraft's altitude as the 737's EGPWS display:

      • red above +2000 ft;
      • yellow +1000 … +2000;
      • dim yellow from −500 ft (−250 with the gear down) to +1000;
      • green to −1000;
      • dark green to −2000;
      • black below.

      TERR has the priority over WXR on its side.

    • WXR: MSFS's weather radar (MSFS's own precipitation, what you fly through) in the 737's colours: green, yellow, red. On top of it:

      • gain: the knob scales the colour thresholds (more gain: weaker rain shows);
      • WX+A (auto): the heaviest cores in magenta, as the turbulence a Doppler radar finds in them (an approximation from the rain rate);
      • ALT knob (manual): the returns fade as the scanned altitude leaves the weather. MSFS gives no cloud tops, so this is an approximation (weather taken as 0 – 35000 ft);
      • MAP: the terrain as ground returns;
      • sector: zibomod's ±60° / ±90°.

Not done / limits#

  • Terrain peak numbers and the look-ahead TERRAIN / PULL UP: they need terrain elevations, which MSFS does not give a gauge. Planned (owner's choice): from public terrain tiles over the internet.
  • The radar's real tilt (beam against the cloud's height): MSFS gives no cloud heights.
  • Lightning: MSFS does not expose its own; real-world lightning (Blitzortung) is possible with MSFS's live weather only (owner's choice, off by default).
  • Not checked in MSFS yet: the map's placement, colours and the bundle size (MSFS's SDK map adds about 1.3 MB to each ND's script).