IONEX
ionex is Rust library to parse IONEX and process files.
IONEX files are RINEX-like ASCII file that describe the Total Electron Density (TEC) in the Ionosphere, using TEC maps. They can be Global / Worldwide or limited to a region (so called regionnal IONEX). The map is quantized in specific coordinates given a TEC estimate for each position. In case of 3D (volumic) IONEX, the volume is also quantized, with an altitude quantization spec that is constant over entire fileset and is described in the header.
Advantages
- Fast and powerful parser
- Open sources: read and access all the code
- Seamless Gzip decompression (on
flate2feature) - Convenient
geobridging functions - Full 2D support
- Full support of Root Mean Square of each TEC estimates
- Partial 3D support (volumic IONEX)
- File formatting is work in progress and not validated to this day
Citation and referencing
If you need to reference this work, please use the following model:
Nav-solutions (2025), IONEX (MPLv2), https://github.com/nav-solutions
Contributions
Contributions are welcomed:
- open an Issue on Github.com
- follow our Discussions on Github.com
- join our Discord channel
Getting started
use ;
let ionex = IONEXfrom_gzip_file
.unwrap;
// Most IONEX files provide 2D maps
assert!;
// File header gives meaningful information
// TEC maps in chronlogical order,
// standard format is 1hour between TEC evolution,
// starting at midnight, last map at midnight-1: 25 maps per day.
assert_eq!;
// chronology is expressed in UTC
//
assert_eq!;
assert_eq!;
// Map borders, this is a worldwide file
assert!; // only for files that use standard naming
// Ground stations that served during evaluation
assert_eq!;
// Satellites that served during evaluation
assert_eq!;