IonoMoni
IonoMoni enables processing of observation data from GPS, BDS, GALILEO, and GLONASS to compute the Rate of TEC Index (ROTI), Along Arc TEC Rate (AATR), and to extract both Slant Total Electron Content (STEC) and Vertical Total Electron Content (VTEC)
Install / Use
/learn @qiliu2025/IonoMoniREADME
IonoMoni: Ionospheric monitoring based on dual-frequency data from single GNSS station v1.1.2 by Henan University (last update: 2026-03-15, Please download the latest version in right panel "Releases")
Overview
The ionosphere has a significant impact on Global Navigation Satellite System (GNSS) signals, introducing refraction and diffraction effects that can severely degrade positioning performance. With the current peak of Solar Cycle 25, increasingly prominent ionospheric space weather events and disturbances have further intensified adverse effects on GNSS applications. On the other hand, dual-frequency GNSS observations enable effective monitoring of ionospheric conditions, serving as a crucial foundation for the mitigation of ionospheric effects on GNSS positioning and the advancement of research into the physical mechanisms of ionospheric variability. The extraction and analysis of ionospheric parameters are essential for both scientific research and practical applications. In this context, we developed the IonoMoni ionospheric parameter monitoring software, based on the Microsoft Visual Studio 2022 integrated development environment and GREAT-PVT platform, using the C++ programming language and following the C++17 standard.
The project adopts CMake as the build system, which is primarily used to organize the source code structure and manage the linking of external libraries. CMake integrates seamlessly with Visual Studio, enabling automated compilation and debugging, and also facilitates future migration to Linux or other platforms. In addition, IonoMoni uses XML files for parameter configuration, which not only allows flexible control over operation modes, input paths, and functional modules, but also enables seamless integration with batch processing scripts for efficient automated workflows.
This work is published in GPS Solutions (https://link.springer.com/article/10.1007/s10291-026-02059-z). If this open-source tool and our research support your work, we would greatly appreciate it if you could cite our paper with the reference below:
Zhang, Y., Zhang, Y., Liu, Q. et al. IonoMoni: ionospheric monitoring based on dual-frequency data from single GNSS station. GPS Solut 30, 100 (2026). https://doi.org/10.1007/s10291-026-02059-z
If you are interested in contributing to this work for joint development, please contact qi.liu@henu.edu.cn
Key Features
- Supports STEC (Slant Total Electron Content) extraction for both ground and spaceborne receivers using the dual-frequency carrier-to-code leveling (CCL) method in real-time (hatch) and post-processing (arc average) mode.
- Supports STEC extraction for both ground and spaceborne receivers based on the undifferenced and uncombined precise point positioning (UCPPP) method
- Supports VTEC (Vertical Total Electron Content) conversion based on ionospheric mapping function and STEC
- Supports the calculation of the Rate of TEC Index (ROTI), a widely used indicator for detecting ionospheric irregularities of ionospheric diffractive effects
- Supports the estimation of the Along Arc TEC Rate (AATR), an effective metric for monitoring ionospheric disturbances, especially during geomagnetic storms or in equatorial and polar regions
- Supports processing of multi-GNSS observation, including GPS, BDS, Galileo, and GLONASS constellations
- Compatible with both Rinex 2.x and Rinex 3.x file formats
- Includes batch processing and plotting capabilities for efficient extraction and visualization of ionospheric parameters across multiple stations and days
Directory Structure
./bin The executable binary applications for Windows *
./src IonoMoni source programs *
./include IonoMoni header files *
./lib Static libraries and export files *
./build_resources Dynamic link libraries and sample data *
./batch_process Batch processing Python scripts *
./plot Plotting Python scripts *
./poleut1 Earth Orientation Parameters (EOP) generation program *
./doc Document files *
lonoMoni user manual v1.1.1.pdf User manual *
lonoMoni.xml Sample XML configuration file *
./CMakeLists.txt CMake build configuration file *
./CMakePresets.json CMake build preset settings *
Environmental Requirements
Developer Environment
The executable CUI AP for Windows in the package was built using Microsoft Visual Studio 2022 on Windows 11 (64-bit), with the ReleaseWithXml configuration. All required dynamic link libraries are included in the directory.
License
IonoMoni is released as open-source software under the GNU General Public License, version 3 (GPLv3). This license permits anyone to use, modify, and redistribute the software, provided that the same license terms are preserved and the source code remains accessible. For detailed information, please refer to the full license text at: https://www.gnu.org/licenses/gpl-3.0.html.
Python version
IonoMoni includes several auxiliary Python scripts that require a Python environment and a set of dependencies listed in the requirements.txt file. For optimal compatibility, Python version 3.13 is recommended. It is further advised to use a virtual environment manager, such as Conda or venv, to ensure reproducibility and isolate dependencies.
Installation and Usage
For detailed installation and usage instructions, please refer to the IonoMoni_user_manual_<ver>.pdf document included in the ./doc directory.
<br>
Changelog
[1.0.0] - 2025-06-05 Bug Fixed: Excluded data with missing DCB values from calculations in the STEC module.
[1.0.1] - 2025-07-29 Feature: Added "arc_average" algorithm for STEC extraction using the dual-frequency Carrier-to-Code Leveling method in the CCL_STEC module. The smoothing method ("hatch" or "arc_mean") is now controlled by the <smoothing> parameter in the XML configuration.
[1.1.0] - 2026-01-10 Bug Fixed: Fixed an issue in the AATR module where an incorrect SP3 was used.
Feature: Added an option to enable or disable receiver DCB correction controlled by the <rec_dcb_corr> parameter in the XML configuration.
Enhancement: Expanded the available frequency bands for GPS and Galileo.
[1.1.1] - 2026-03-10
Feature: Added the Klobuchar mapping function as an option for VTEC conversion.
[1.1.2] - 2026-03-15
Temporary fix: Added a temporary workaround for an SP3 parsing bug to avoid crashes when satellite PRNs exceeded the currently supported range.
Visualization
The Python plotting scripts provided with IonoMoni support multi-station plotting for a single day. The directory structure under the plot folder is as follows:
./data_aatr Input folder for AATR plot data
./data_ccl Input folder for CCL_STEC plot data
./data_ppp Input folder for PPP_STEC plot data
./data_roti Input folder for ROTI plot data
./output Output folder for plot results
./PythonScripts Plot script folder
Contributing
Developer
Yuzhi Zhang, Yihong Zhang, Qi Liu, Manuel Hernández-Pajares, Enric Monte-Moreno <br> Research group of Henan University, UPC-Ionsat, Zhengzhou University.
Third-Party Libraries
GREAT-PVT library Copyright (C) GNSS + REsearch, Application and Teaching (GREAT) Group, School of Geodesy and Geomatics, Wuhan University
G-Nut Library (http://www.pecny.cz) Copyright (C) 2011-2016 GOP - Geodetic Observatory Pecny, RIGTC.
pugixml Library (http://pugixml.org) Copyright (C) 2006-2014 Arseny Kapoulkine.
Newmat Library (http://www.robertnz.net/nm_intro.htm) Copyright (C) 2008: R B Davies.
spdlog Library (https://github.com/gabime/spdlog) Copyright (c) 2015-present, Gabi Melman & spdlog contributors.
Eigen Library (https://eigen.tuxfamily.org) Copyright (C) 2008-2011 Gael Guennebaud.
FAST Source Code (https://github.com/ChangChuntao/FAST) Copyright (C) The GNSS Center, Wuhan University & Chinese Academy of Surveying and Mapping.
Getting in touch
You can contact us for bug reports and comments by sending an email or leaving a message on our website: <br> Email: qi.liu@henu.edu.cn or Yuzhi.Zhang@henu.edu.cn <br> For Chinese users, we provide Tencent QQ Group service. <br><!-- --><!-- --> QQ group:1049702653
Related Skills
qqbot-channel
351.2kQQ 频道管理技能。查询频道列表、子频道、成员、发帖、公告、日程等操作。使用 qqbot_channel_api 工具代理 QQ 开放平台 HTTP 接口,自动处理 Token 鉴权。当用户需要查看频道、管理子频道、查询成员、发布帖子/公告/日程时使用。
docs-writer
100.5k`docs-writer` skill instructions As an expert technical writer and editor for the Gemini CLI project, you produce accurate, clear, and consistent documentation. When asked to write, edit, or revie
model-usage
351.2kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
Design
Campus Second-Hand Trading Platform \- General Design Document (v5.0 \- React Architecture \- Complete Final Version)1\. System Overall Design 1.1. Project Overview This project aims t
