w5isp.com/content/blog/prop1.md
2026-04-18 15:10:25 -05:00

4.1 KiB
Raw Blame History

+++ title = "How can microwave contacts be made non-LOS?" date = 2026-04-18 draft = false +++

How can microwave contacts be made non-LOS is a question I've had for a while now. From running a WISP I'm very familiar with point-to-point microwave links. However, amateur radio operators have been making NLOS contacts for years when they technically shouldn't work at all.

As an example, this is the evelation path between my QTH and an NTMS beacon on top of Texas Women's University's dorm building:

Path profile

This lead to a deep rabbit hole to investigate why contacts work some times and HOW they work. There are already known propagation methods such as EME (moonbounce) or rain / meteor scatter, however it's also possible to form ducts within the lower levels of the atmosphere with favorable conditions. An easy to understand demonstration is why sometimes ships appear like they're floating:

Atmospheric ducted ship

This is because there's a duct with favorable conditions for refracting visible light -- the same thing happen for microwave.

At one of the NTMS meetings, KM5PO presented about this same thing and had used claude to write out some client-side pages to help predict and analyze the propagation. It was based on limited data, but did an okay job guessing at why the propagation worked.

Fast forward a few weeks and I've now build an elixir/phoenix app at https://prop.w5isp.com that collects and processes everything. For a quick import of some known contacts made, I imported all of the ARRL 10 GHz and up contests as well as the 222 MHz and up contests.

With known contacts in place, it was time to backfill them with data, including:

Atmospheric

  • HRRR (NOAA 3 km) — hourly f00f18 propagation scoring hot path; native hybrid-sigma levels for fine-grained duct detection
  • GEFS (NOAA 0.5° ensemble) — Day 27 extended-horizon outlook
  • HRRR native (hybrid σ) — best-duct-band per cell, refractivity gradient at 1050 m resolution
  • IEMRE (Iowa State 0.125° reanalysis) — gridded hourly weather for per-QSO enrichment
  • NARR (NCEI 32 km reanalysis) — pre-2014 historical backfill for old QSOs (HRRR archive doesn't cover them)

Surface observations

  • ASOS (via IEM) — airport station surface weather, used by per-QSO enrichment and the 10-minute score nudge
  • MRMS (NOAA PrecipRate) — 2-minute radar-derived rain rate that overlays HRRR's hourly precip for fast-moving cells
  • NEXRAD (Level II composite reflectivity) — current-hour precip cell detection for f00 scoring

Upper air

  • RAOB (US radiosondes via IEM) — twice-daily soundings for duct/inversion analysis
  • UWYO (Canadian radiosondes) — 00/12 Z Canadian profiles

Terrain & geography

  • SRTM (90 m local tile cache + fallback API) — ITU-R P.526-16 path diffraction + viewshed

It's taken a mountain of work and time to get all of this implemented, but most of the contacts have now been backfilled with this information. Feeding all of this in to Claude, we end up with an algorithm that understands and can predict future conditions based on weather data.

This algorithm gets turned in to code, and then we can fetch HRRR data hourly, ammend with ASOS when avaliable and feed it through the algorithm to determine if any given area's atmosphere is favorable to propagation. Our predictions are still estimated and may not have any bearing on reality.

Now our mission is to continue collecting as many verified contacts on 50 MHz and up and enrich to refine our prediction model gradually over time. Another sub-project is automated beacon monitoring. Any NLOS beacon that can be automatically monitored continuously provides an enormous amount of data to train our model with since both points are known.

If you'd like to help out, we need as many contacts during non-contest times as possible and future automated beacon monitoring. You can reach me at my first name at my last name dot me (it's in the footer.)