✓ BUDGET OK: enough signal both ways. ⚠ LOW MARGIN: works, with less reserve than you asked for. ✕ BELOW SENSITIVITY: at least one direction fails. Short dashes mean the link only works by bending over terrain; long grey dashes are not analysed yet.
Coverage: more opaque is more reliable, in bands for 50, 70, 90, 95 and 99% of locations from the share chosen in Settings → Model; blank means no link. The solid line traces the coverage edge and the dashed line the farthest reach; turn either off in Settings → Display.
In ⚙ SETTINGS → Model. Picking a preset under RF, or opening a site from the Tower or Repeater Finder, sets the method and clutter treatment that suit it; tick Advanced settings to change them yourself. Reliability and indoor reception are always shown.
Leave measured noise blank to estimate it from the noise figure. A node's own RF settings override these.
Diffraction uses the Bullington method (ITU-R P.526 §4.5.1). Delta-Bullington (ITU-R P.1812 §4.3) adds smooth-earth diffraction, which matters when one end is low over open ground (a phone or handheld): Bullington alone stays near free space there and overstates range. Height scenarios show how much a result depends on terrain and clutter error; they are not confidence intervals.
The model predicts the median: at a 50% coverage edge, about half the spots get signal. Choosing a higher share adds the margin needed for that share of locations (location variability, ITU-R P.1546 §12, about 5–6 dB per standard deviation). Indoors adds building entry loss (ITU-R P.2109): about 14 dB for typical buildings and 31 dB for energy-efficient ones with metallised glass, at 850 MHz. Both add to the required margin of links and coverage. Coverage shading shows the 50, 70, 90, 95 and 99% bands from the chosen share upwards.
Clutter heights come from ESA WorldCover, or measured canopy height where a tile exists. Loss grows with the distance a path runs through clutter, up to the cap. Each result shows which source it used.
Each node's coverage is shown in its colour on a grid of cells (see Map cell); a cell counts as covered when most points in it are. The far end uses the global radio and RX antenna height.
Import timestamped directed observations or traceroutes as JSON. SNR is not path loss. Match node names exactly, or supply a nodeNameMap. Data stays in this browser session; download a project to retain it.
Traceroutes: {"traces":[{"timestamp":"…","modem":"LongFast","frequencyMHz":915,"forward":[{"node":"A"},{"node":"B","snrDb":-5}],"reverse":[]}]}. SNR belongs to the receiving hop. Include failed attempts as separate observations with success:false.
No observations imported.
Grid: type:"terrain-grid", source, date, datum, rows, cols, north, south, west, east, elevations. WGS84 bounds describe sample centres. Elevations are AMSL metres, row-major north to south; null means no data. Match the vertical datum to AWS terrain and surveyed heights. Maximum 1 million cells. AWS fills outside the grid and no-data cells.
Share URLs contain model settings and sites only. Imported measurements and DEM data travel only in the project file.