IF-77 Gierhart-Johnson Model in Python
- Model
- IF-77, Gierhart-Johnson
- Origin
- NTIA/ITS for the FAA, 1973 and 1977
- This port
- Fortran to Python
- Revised
- October 2026
Background
The IF-77 RF propagation model was developed by NTIA/ITS in response to a need by the FAA. The first version was released in 1973 and then enhanced and a newer one released in 1977. While the Longley-Rice model provides reliable predictions for many ground to ground links, it is unsuitable for use when one or both nodes are at high altitude. The FAA funded Gierhart and Johnson to study the problem. The model combines line of sight, diffraction, and tropospheric scatter regions to provide a reliable prediction of link quality.
More can be learned at the NTIA/ITS IF-77 page, where reports and Fortran software are available.
Download
Feeling brave?
Download the Python code (if77.tar.bz2)tar xjf if77.tar.bz2 cd if77; less HOWTO.md
A HOWTO file is included in the tarball.
Porting to Python
- 1973First version released
- 1977Enhanced version released
- 2026 PythonPorted, passing a dozen tests
The development took place on a CDC 6600 which has 60-bit word architecture. The compiler would have been Fortran 63 or Fortran IV. The IF-77 code is challenging to port because heavy use of GOTOs as well as jumps to leave and others to enter ongoing loops makes reverse engineering difficult. Not impossible, but let's say a tad challenging!
The code at the moment makes heavy use of long variable names. While it might be appealing for programmers, it makes reading equations difficult for scientists and engineers. Now that the code appears to pass a battery of a dozen tests, I will begin looking into making the code more readable and to use variables that directly follow the reports along with cross referencing lines of code to report equations.
Status
| Item | State |
|---|---|
| Port of IF-77 to Python | Working; passes a dozen tests |
| Readable variable names that follow the reports | Hoped for, not begun |
| Code lines cross-referenced to report equations | Hoped for, not begun |
Integration into rfl (altitude triggers IF-77) | Firmly in hope category |
My other web pages show rfl using ITM for link budgets.
Contact
Please get in touch if you spot or fix bugs, or if you have ideas. Thanks!
-Mike
Updated October 2026