FireguyRepeater Planner

Under developmentRead More…

Site status

Still under construction — and we are not pretending otherwise

Fireguy|Repeater Planner is a living project. It works well enough that people are already using it on incidents, which is both encouraging and slightly terrifying for the person who has to answer the email when a coverage fringe looks wrong.

Why this exists

There are already excellent radio propagation tools on the web. Radio Mobile Online and CloudRF have been in the COMT toolkit for years, and they earn that place. This site was never meant to replace them as general-purpose planners. It started as a narrower question: can we build something that feels like it was designed for a COMT or COML sitting in ICP, juggling kits, frequencies, and “will Division hear Command from that spur ridge?” instead of a blank Cartesian playground that assumes you already know which fifteen settings matter.

Incident management modules are here because an incident radio system does not live in a vacuum — inventory walks out the door, batteries die on the third operational period, and somebody still needs an ICS-205 that matches what is actually on the air. Those pieces will keep improving, but they are not the reason this project exists. Other platforms already do logistics and IAP paperwork with more polish and more staff behind them. The mapping side is the primary focus: terrain-aware coverage, pad-to-pad links, and point checks aimed at wildland fire communications geometry rather than a generic cellular planning desk.

That focus also means the map is the part most likely to change under your feet. Engines get tuned, paint scales get honest about fade, and a setting that made sense in May may grow a sibling control in August. If you bookmark a workflow today, expect to re-learn a corner of it later. That is not a bug report waiting to happen; it is the cost of building in public while the tool is still finding its shape.

Use it, but keep your boots on

You are welcome to plan with this site. Please do not treat a green cell as a signed guarantee that a handheld on a spur will copy Traffic on the first call. Propagation models are engineering tools with known regimes and known blind spots. Foliage that is not in the land-cover tile, a temporary mast that is taller than the site form admits, ducting that shows up at 02:00, or a metal stadium shell the DEM never heard of can all rearrange reality without asking the model for permission. Field verify before you lock a cache order or promise a division a talk path they will remember when it fails.

If something looks wrong, feels unfinished, or could be clearer for someone who has spent too many nights under fluorescent ICP lighting, send it to repeater@fireguy.net. Suggestions, bug reports, and “this disagrees with what I saw on the ridge” notes are all useful. Polite disagreement is especially useful. Screenshots and the settings you used help more than “coverage is weird,” though we will take weird if that is all you have time for between operational periods.

How the RF math actually works

The short version, before the longer one: we do not paint pretty range circles. Coverage maps, site-to-site links, and point checks all run a NIICD-aligned link budget over real elevation data, then ask whether a chosen receiver profile still has usable fade margin at that location. Two terrain engines are available. Deygout is a fast multi-edge diffraction method over discrete ridges sampled from the DEM. Longley-Rice ITM v1.2.2 (via Python itmlogic) is the classic irregular-terrain model familiar from a lot of US spectrum and public-safety tooling. Site-to-site link analysis always prefers ITM when the server stack can run it. Coverage maps default to Deygout for speed, with an optional Accurate ITM mode that computes a full point-to-point ITM path loss to every raster cell — slower, closer in spirit to a Radio Mobile Cartesian or Polar map, and honest about the coffee you will drink while it finishes.

The link budget underneath everything

Each path starts from transmit EIRP: power, antenna pattern and gain (including directional azimuth and downtilt when you set them), and feedline loss. Path loss then combines distance with terrain diffraction or ITM mode, plus land-cover extras when USGS NLCD tiles are installed on the server. Without those tiles we fall back to a Fresnel clutter estimate so the model does not pretend the world is a billiard table. The receive level is evaluated at a profile — handheld, mobile, remote, or aircraft — and available fade is simply receive level minus receiver sensitivity. Map color and the dBm key are that fade expressed as an estimated receive level (threshold plus fade). Green is roughly ten decibels of fade and up, the sort of “comfortable” margin planners like to see on paper; yellow and amber mean you are still above threshold but living closer to the edge; below threshold paints purple by default so shadows stay visible, or clears out if you toggle the key. The ten-decibel planning fade is a design goal for reading the map, not a second secret subtraction hiding under the paint.

Elevated or sloping paths lean on free-space path loss plus a small excess term. Classic two-ray shows up for low, flat terrestrial paths where that geometry earns its keep. Geometric line of sight — whether the ray clears ground — is tracked separately from Fresnel clearance percentage, because clearing dirt and clearing a Fresnel zone are related hobbies that are not the same sport.

Coverage maps

A coverage run answers a blunt question: if this site transmits on the chosen band, where does a chosen receiver profile still have usable fade? The server builds a raster around the transmitter, splits the work into map sections so long jobs survive the web gateway, and can be cancelled between sections so a bad radius does not leave you with a half-saved artifact you will distrust forever. Detail presets trade cell size for runtime — roughly two hundred twenty meters on Standard, finer on High and Maximum — capped around a four-hundred-eighty squared cell class so a single map does not eat the VPS for lunch. Path samples along each radial are distance-adaptive, on the order of seventy to one hundred sixty meters, so far cells still resolve ridges instead of skating over them. The elevation model underneath is typically SRTM-class, about thirty meters. Asking the grid to be finer than the DEM does not invent ridges the elevation data never contained; it mostly invents confidence.

Deygout coverage samples the DEM along each path, merges nearby ridge peaks (about two hundred twenty meters), keeps up to six edges, and caps diffraction loss around fifty-five decibels so a pathological stack of ridges does not invent infinite attenuation. That is why it is fast enough for briefing maps and pad comparisons while still respecting major terrain shadows. On Deygout runs we also apply a distance-scaled reliability term — on the order of about twenty-one decibels at thirty-three kilometers for the ninety-five percent preset — so Conservative, Standard, and Optimistic reliability actually change how much fringe you are willing to call usable. ITM coverage applies reliability inside the model itself; we do not stack a second statistical tax on top and then act surprised when the map shrinks twice.

When you compare our paint to Radio Mobile, remember that yellow-versus-green conventions can match in spirit while the underlying path loss still disagrees. Match mast height, power, gains, receiver threshold, and receiver profile — especially mobile if Radio Mobile was a vehicle — and choose Accurate ITM before you argue about extent. Polarization on new ITM runs follows the site antenna (vertical for typical VHF) unless configuration overrides it. Combined “best of” overlays across multiple sites exist for union planning; they still inherit every assumption of the runs you merged.

Pad-to-pad analysis is the interconnect question: will Site A and Site B actually talk to each other on the chosen band, in both directions, with a margin you would put your name under? The engine uses Longley-Rice ITM when available, with the same NIICD-style budget as coverage. The reported margin is the worst case of A→B and B→A, because a repeater pair that only works one way is a philosophy problem, not a radio system. Along with margin you get path loss, mode hints from ITM, and a terrain profile for the slice between the pads so you can see which ridge is collecting the apology emails.

Links are where ITM earns its slower reputation. Irregular terrain, diffraction regimes, and tropospheric behavior are the whole point of the model. If ITM is unavailable on the server, the option disappears rather than silently substituting a faster method and hoping nobody notices. That is deliberate. A fast wrong answer dressed up as Longley-Rice would be worse than an honest “Accurate is offline.”

Point checks

A point check asks whether a receiver at one named ground location can hear Site A — ICP, helibase, spike camp, lookout, or the spur where Division insists they had copy yesterday. You place or enter the receive point, pick profile and band, and run a single path instead of painting a whole county. The result reuses the link-style budget and profile presentation so you can see terrain, margin, and notes without waiting on a full raster.

Point checks also lean into structure when the data is there. Building footprints and heights from sources such as the Global Building Atlas can be extruded onto the DEM for diffraction, and local structure-lee loss accounts for handhelds sitting behind or beside large metal shells that knife-edge math alone tends to forgive on a mountain lookdown. Around the pin, a dense quarter-mile mini-coverage shade (Deygout plus buildings and local lee) makes rooftop and structure shadows visible without pretending a stadium is just another gentle hill. Fine elevation over the pin area can cascade through USGS 3DEP products when available — roughly one-meter lidar where the catalog has it, else about ten-meter 3DEP, else smoothed local SRTM — still bare-earth, not rooftops. If the fine DEM says the parking lot is flat and your handheld is behind a metal box the building layer caught, both stories can be true at once.

Accuracy, humility, and other adult supervision

Treat every result as planning grade. Accuracy is bounded by elevation resolution, land-cover completeness, antenna and feedline assumptions (defaults follow NIICD-style kit thinking, including heights, gains, and feedline loss in the NFES 4326 neighborhood), reliability presets, and the receiver profile you chose. A handheld at about five feet with a zero-dBi whip is a harder test than a mobile on a ridge, which is why the map sometimes looks pessimistic next to a Radio Mobile run that was never a handheld in the first place. CloudRF-class ten-meter GPU work and multi-megapixel rasters are a different product category; we are not claiming that race.

Practical expectation from the field side: major blocked valleys and solid line-of-sight pads should agree with experienced COMT judgment and with Radio Mobile when inputs match and ITM is on. Fringe cells and knife-edge near misses are where models argue, foliage lies, and temporary infrastructure rearranges the plot. When in doubt, walk it, drive it, or put a radio where the mouse click was. The model does not get muddy boots; you do.

Feedback

Mail repeater@fireguy.net with suggestions, bugs, or “this ridge says otherwise.” If you are comparing against Radio Mobile, CloudRF, or a flight check, say so — those notes are how the engines get less embarrassing over time. Thanks for treating an unfinished tool with the same seriousness you bring to an unfinished incident frequency plan: carefully, with backups, and without assuming the first draft is the last word.