The Radar page (page ID rdr, title "Radar") shows where an aircraft weather radar beam lies with respect to the reflective altitudes of weather and the ground. It is defined in common/page/radar.js. The drawing and geometry functions are in common/aero/radarUtil.js. The page has two modes (rdr_pageMode): normal and overfly. The page shows two diagrams: a Profile view (a vertical slice of the beam, the ground, and the reflectivity zones) and a Scope view (a radar display colored by how well the beam covers the reflective zones).
The page is optional. An aircraft app includes it by importing the file for its side effect and listing rdr in its nav layout. The C310, Baron, Kodiak, and TBM apps do:
import './common/page/radar.js';
The Radar app does not use this file. It has its own page of the same ID, Radar/page/radar.js, a variant that takes its radar parameters from its own model page (mdl_ state variables) and saves its inputs.
The common page depends on the following from the aircraft app:
acData.radar with beamWidth (the weather beam width, degrees), beamWidthGR (the maximum ground return beam width), beamRanges (the selectable ranges, nm), and optionally dfltGndSpeed (knots). It is normally supplied by an option of the aircraft data, so the page can be present when the aircraft has no radar. If acData.radar is absent, the page shows "No radar installed on current aircraft."ac_beamWidthGndRtn (the calibrated ground return beam width) and ac_tiltOffset (the calibrated tilt offset, degrees). The tilt offset is added to the entered tilt for the beam geometry, and subtracted from the computed overfly tilts.enrt_altitudeH (cruise altitude in hundreds of feet: the radar altitude follows it and uses its default) and enrt_weatherInfo (the object with the forecast freezingLevel, displayed on the page).ac_data, nav_darkMode, and acData.maxAltitude.overfly. The page defines it itself, with help.addTopic('overfly', ...). The page's help refers to the ac help topic ("Radar beam calibration" on the Aircraft page), which the app must provide.The user enters the true altitude (rdr_altitudeH), freezing level, ground level, ground speed, range, tilt, and the weather type (stable or convective). The page computes the altitudes of the top of the moderate reflectivity zone, and the top and bottom of the high reflectivity zone, relative to the freezing level (for convective weather, the top is a fixed altitude), and the lowest altitude reached by the bottom of the beam within the range. The Profile and Scope views are redrawn from these.
Overfly mode is available when the altitude is at least 15,000 ft. The user chooses the safety height (5,000 to 40,000 ft in 1,000 ft steps), the number of beams (1 or 2), and the outer and inner ranges. The page computes the overfly altitude (aircraft altitude minus the safety height, with the safety height reduced to stay above the ground level), the minimum reachable range, the tilt needed to place the bottom of the beam at the overfly altitude at each range (rounded down to 0.25 degrees), and a "Possible dangerous overscan" warning when an overscan area is long enough for weather to rise into the zone at the assumed rate. Changing to overfly mode starts the outer range at the current rdr_range. See the page's "How to Use Overfly Mode" help topic.
The common page's inputs are not saved (save:'none') and revert to their defaults each time the app starts. Its upgradeSavedState() deletes the pre-V5 rdr_OAT_dC value.
All the state variables have the prefix rdr_.
| State variable | Type | Description |
|---|---|---|
rdr_altitudeH |
numericInput |
True altitude, hundreds of feet. The maximum is acData.maxAltitude + 3000 ft; the default and changes follow enrt_altitudeH. |
rdr_tilt |
numericInput |
The tilt shown on the radar unit, −15 to 15 degrees in 0.25 degree steps. |
rdr_groundLevelH |
numericInput |
Ground level, hundreds of feet. |
rdr_freezingLevelH |
numericInput |
Freezing level, hundreds of feet. |
rdr_weather |
selectorInput |
stable (default) or convective. |
rdr_range |
selectorInput |
The displayed range. Its options are set from acData.radar.beamRanges. |
rdr_pageMode |
selectorInput |
normal (default) or overfly. |
rdr_overflyBeams |
selectorInput |
1 or 2 beams. |
rdr_overflyOuterRange, rdr_overflyInnerRange |
selectorInput |
The overfly ranges. Their options are computed from the minimum reachable range. |
rdr_overflySafetyT |
numericInput |
Overfly safety height, thousands of feet. |
rdr_groundSpeed, rdr_speedUnits |
unitInput, unitSelector |
Ground speed, kt or mph. Set from acData.radar.dfltGndSpeed when the aircraft changes. |
rdr_scanWidth |
selectorInput |
Declared and an input to the diagram computation, but the common page never gives it options or uses its value. |
rdr_mrTop, rdr_hrTop, rdr_hrBottom |
numericOutput |
The altitudes of the reflectivity zones. |
rdr_lowestBeamAlt |
numericOutput |
The lowest beam altitude within the range (normal mode). |
rdr_overflyInnerTilt, rdr_overflyOuterTilt |
numericOutput |
The computed overfly tilts. |
rdr_tiltMsg |
template |
The tilt offset note and the overscan warning. |
rdr_profile, rdr_scope |
svg |
The two diagrams. |
rdr_overflyAlt, rdr_overflyMinRange |
modelValue |
The overfly altitude and the minimum reachable range. |