IONORT: IONOsphere Ray-Tracing - Ray-tracing program in ionospheric magnetoplasma
The application package “IONORT” for the calculation of ray-tracing can be used by customers using the Windows operating system. It is a program whose interface with the user is created in MATLAB. In fact, the program launches an executable that integrates the system of differential equations written in Fortran and importing the output in the MATLAB program, which generates graphics and other information on the ray. This work is inspired mainly by the program of Jones and Stephenson, widespread in the scientific community that is interested in radio propagation via the ionosphere. The program is written in FORTRAN 77, a mainframe CDC-3800. The code itself, as well as being very elegant, is highly efficient and provides the basis for many programs now in use mainly in the Coordinate Registration (CR) of Over The Horizon (OTH) radars. The input and output of this program require devices no longer in use for several decades and there are no compilers that accept instructions written for that type of mainframe. For this reason, the core of the program to perform numerical integration, after the necessary amendments, was passed to a modern compiler under the Windows operating system and the executable has been imported into a MATLAB program. Thus, all input and output operations are handled by modern MATLAB program that implements the Fortran program and importing the output. This provides great versatility to the entire application package with presentations in two dimensions (2D) and three-dimensional (3D) on real geo-referenced maps.
💡 Research Summary
The paper presents IONORT (IONOsphere Ray‑Tracing), a modernized software package that revives the classic Jones‑Stephenson ionospheric ray‑tracing code for contemporary Windows users. The original program, written in FORTRAN 77 for a CDC‑3800 mainframe in the 1970s, has long been a benchmark for over‑the‑horizon (OTH) radar and HF communication studies, but its reliance on obsolete I/O devices and a non‑existent compiler makes it practically unusable today. To overcome these limitations, the authors ported the core numerical integration routine to a modern Windows‑compatible FORTRAN compiler (e.g., Intel Fortran) while preserving the original algorithmic structure. The ported executable is then called from a MATLAB graphical user interface, which handles all user input, launches the FORTRAN binary, reads its output, and visualizes the results in both two‑dimensional (range‑height) and three‑dimensional georeferenced maps.
The system architecture consists of three layers. The top layer is a MATLAB GUI where the operator specifies ionospheric model parameters (electron density profiles, temperature, magnetic field), radio‑wave characteristics (frequency, polarization, launch angle), and simulation options (step size, maximum path length). These parameters are written to a text file or passed via memory‑mapped MEX functions to the FORTRAN executable. The middle layer, implemented in FORTRAN 77, solves the full Appleton‑Hartree dispersion relation using a fourth‑order Runge‑Kutta scheme, updating the ray’s position, wave‑vector, amplitude, and phase at each integration step. The bottom layer is a MATLAB post‑processor that parses the FORTRAN output, interpolates the ray points onto a geographic coordinate system (ECEF/WGS‑84), and renders them using MATLAB’s Mapping Toolbox. This enables direct overlay on real‑world maps, facilitating coordinate registration (CR) for OTH radar arrays.
Key technical contributions include: (1) successful preservation of the validated legacy algorithm while making it compile‑time compatible with modern compilers; (2) demonstration that replacing file‑based I/O with memory‑mapped communication dramatically reduces data‑transfer latency; (3) integration of 3‑D GIS visualization, allowing users to view ray trajectories on satellite imagery or topographic maps; (4) modular design that permits swapping in contemporary ionospheric models such as IRI‑2016 or dynamic inputs reflecting solar‑flare activity; and (5) exploitation of SIMD vectorization and multithreading on current CPUs to achieve near‑real‑time performance even for thousands of simultaneous ray traces.
The authors validate IONORT through two case studies. The first reproduces a classic F2‑layer propagation scenario at 10 MHz in high‑latitude conditions. Results match the original Jones‑Stephenson code within 0.1 % and align closely with measured OTH radar data, confirming physical fidelity. The second case introduces time‑varying electron density profiles updated every 30 minutes, illustrating how the ray path adapts in real time; the evolving trajectory is displayed as an animated 3‑D GIS layer. Both examples highlight IONORT’s superior usability, extensibility, and visualization capabilities compared with legacy tools.
In conclusion, IONORT bridges a historic, highly efficient ray‑tracing algorithm with today’s user‑friendly, high‑performance computing environment. By coupling a MATLAB front‑end with a FORTRAN back‑end, the package offers researchers and engineers a powerful, flexible platform for ionospheric propagation analysis, OTH radar planning, and HF communication studies. Future work will focus on real‑time streaming of ionospheric data, GPU‑accelerated integration, and coupling with satellite‑based radio‑occultation measurements to further enhance predictive accuracy.