Good Performance, Less Computation - Inside GNSS - Global Navigation Satellite Systems Engineering, Policy, and Design

Good Performance, Less Computation

A look at NTCM-G, a new Ionospheric model fully compatible with the Galileo Open Service. 




The Neustrelitz Total Electron Content Model (NTCM) is an empirical model that in its NTCM-G variant has been adapted to operate with the broadcast Galileo Effective Ionisation Level coefficients. NTCM-G is a fully compatible algorithm used to compute ionospheric corrections for Galileo single-frequency users [1]. It provides a practical, cost-effective solution for determining global TEC and is proposed as an alternative to the NeQuick-G algorithm [2]. It is worth noting, however, that NeQuick-G will continue to be the reference algorithm for Galileo.

The model has been characterized and thoroughly tested and provides excellent performance similar to the current recommended solution using NeQuick-G, while its computational complexity is highly reduced. The reduced complexity and runtime of the NTCM-G algorithm are considered beneficial, particularly in user-segments where the equipment has limited resources available. This is typically the case for receivers used in civil aviation (i.e., avionics receivers) and location-based services (e.g., smartphones, smartwatches, UAV, IoT devices).

The NTCM-G model was developed by the German Aerospace Centre (DLR) and validated by the Joint Research Centre (JRC) of the European Commission and the European Space Agency (ESA). The description of the source code and its implementation were carried out jointly between DLR and JRC, with the European Union Agency for the Space Programme (EUSPA) and ESA supporting the review and publication of the model description. Users are invited to download the reference document “NTCM-G Ionospheric Model Description,” freely available at [3]. The document contains definitions, step-by-step procedures and guidelines for the implementation of NTCM-G in a GNSS receiver. The document also includes a dedicated section on the algorithm validation and data for the verification of independent implementations. The source code of NTCM-G is also available at [4]. The software package provides a portable and validated C/C++ implementation (Matlab and Simulink implementations are also available), including testing functions and testing vectors.


Model Description

NTCM is an empirical model [5] that provides a practical, cost-effective solution for determining global TEC. It makes use of 12 model coefficients, few empirically fixed parameters, and the solar radio flux F10.7 index. The original NTCM model has been further improved and adapted to work with daily proxy ionospheric correction coefficients, as in its NTCM-BC version described in [7]. A further adaption is the NTCM-Klobpar model [8], which replaces the driving parameter F10.7 by a so-called Klobpar parameter derived from the GPS broadcast coefficients. The performance analysis described in [8] demonstrated that the NTCM-Klobpar model achieves significantly better performance than the Klobuchar model. The analysis, based on TEC data from more than one solar cycle, compared the TEC modeled by the Klobuchar algorithm with the TEC modeled by NTCM-Klobpar, this latter providing 40% reduction on the average RMS during high solar activity periods and 10% during low solar activity periods. 

NTCM has been further adapted to operate with the broadcast Galileo Effective Ionisation Level coefficients (NTCM-G). For this purpose, the F10.7 index is replaced by a particular realization of the Effective Ionisation Level, called Azpar hereafter, which is computed using the three Effective Ionisation Level coefficients broadcast in the Galileo navigation message, i.e., (ai0, ai1, ai2). Although these coefficients were optimized for NeQuick-G, their applicability to operate the NTCM has been demonstrated [5]. The investigation shows NTCM-G can be successfully driven by the Galileo broadcast Effective Ionisation Level coefficients. Azpar is used as a proxy measure of the solar activity level. The Azparexpression, given in Equation 1, has been analytically derived by taking the average root mean squared of the effective ionization level (Az) values for Modified Dip Latitude (MODIP) between 70° north and 70° south, and it is determined as follows:


The basic modeling approach considers five major dependencies of the vertical TEC (VTEC), i.e., local time dependency (F1), seasonal dependency (F2),geomagnetic field dependency (F3),equatorial anomaly dependency (F4) and solar activity dependency (F5).The dependencies are combined in a multiplicative way as:


The five model functions Fi make use of 12 model coefficients k1 to k12 and a few empirical constants. The fixed model coefficients are derived based on a best-fit approach using as input Global Ionospheric Maps (GIM) from CODE and Azpar computed from the Effective Ionisation Level coefficients broadcast by Galileo during the 2013 to 2017 period. For additional details the reader is invited to refer to the official NTCM-G reference document on the European GNSS Service Centre (GSC) website [6].

NTCM-G is a two-dimensional VTEC model and therefore a mapping function (MF) is needed for the conversion of VTEC to slant TEC (STEC)


Where MFMSLM is a Modified Single Layer Model (MSLM) mapping function in which ionospheric pierce point (IPP) height is used as 450 km.

Finally, in a first order approximation, the ionospheric propagation delay is inversely proportional to the square of the signal frequency (f) and directly proportional to the integral of the electron density along the ray path, i.e. the STEC and can be therefore obtained as: 


Software Implementation

A reference implementation of the core algorithm and the auxiliary functions described in [1] has been developed by the JRC in Ispra and is available for download on the GSC website [3]. The software package aims at providing a portable and validated C/C++ implementation of the model that can be easily deployed in different GNSS applications and simulation environments. Matlab and Simulink implementations are also available, including testing functions and several test vectors.

The development approach is based on modern industrial rapid prototyping practice of Model Based Design (MBD) using the Matlab/Simulink toolchain, followed by an auto-generated code into the target C/C++ application. This maximizes the code readability, improves the performance (i.e. memory and execution time) and achieves compatibility with common standards, as the MISRA C/C++ 2012 Coding Guidelines in this case. The MISRA C/C++ coding standard, originally designed for the automotive embedded software industry, is today widely used by embedded industries in safety critical applications, including aerospace and defense, telecommunications, medical devices, and rail. The design choice of the software implementation maximizes software reusability and modularity of each sub function, so the user can easily refactor or integrate each software component within their own solution. 

The <NTCM_Procedure_Core.slx> is the core function implementing the step-by-step procedure described in [1] and summarized in Table 1. Figure 1 depicts the Simulink structure and the functional blocks numbered with the corresponding step in the Table. 


Model Validation 

In this section, the performance of the proposed NTCM-G model is compared with that of NeQuick-G in both vertical and slant TEC and position domains. For additional and comprehensive results, the reader is invited to read [1].

Some of the analyses presented in this section classify the results based on the MODIP, which is a latitude related to the geomagnetic field. Additional details about the MODIP and how to compute it are available in [1].

Galileo further splits the MODIP into five different regions, which are given in Figure 2. Please note, that in the Galileo OS SIS ICD [4], navigation message fields have been reserved to potentially broadcast specific information about the state of the ionosphere in each of these regions.

NTCM-G performance in TEC domain

The NTCM-G and NeQuick-G model-derived VTECs are computed at each grid location and time epoch and compared with the corresponding reference VTEC values, taken from IGS VTEC products, IGSG. The model residuals (VTECmodel–VTECigsg) are determined and the corresponding mean, Standard Deviation (STD), and Root Mean Squares (RMS) are computed and enlisted in Table 2 for the years 2014 and 2015. It is worth noting the year 2014 corresponds to the solar maximum of Solar cycle 24. Additionally, considering that ionospheric effects are most dominant in the low latitude region during daytime hours, we also compared the model performance for the low latitude region 30° N–30° S at daytime hours 06:00-18:00 local time, and the results are summarized in Table 3.

By comparing the values in Table 2 and Table 3, NTCM-G residual statistics results indicate that NTCM-G provides accurate corrections, resulting in similar performances as those obtained using NeQuick-G.

To offer a glimpse of the geographical distribution of the error, the global VTEC RMS maps are depicted in Figure 3.
Looking at the equatorial regions, on both sides of the geomagnetic equator, NeQuick-G results in slightly larger RMS errors when compared to the NTCM-G model. This is true for both years. However, NTCM-G shows comparatively larger errors at around 60° S and 60° W geographic regions.

It is worth noting that the local accuracy and reliability of IGS VTEC products present geographically unbalances because it is highly dependent on the coverage (presence of GNSS stations) in a particular region. Continental areas, where the number of available ground stations is high, are in general more reliable and accurate than areas where the number of stations is low, like in the oceanic regions. The largest inaccuracies observed in Figure 3 in remote areas, like in the Pacific, can be partially attributable to a lower accuracy of the reference product.

The performance of NTCM-G and NeQuick-G is also assessed using independent Slant Total Electron Content (STEC) measurements computed at about 120 to 160 worldwide IGS ground stations using GPS SiS measurements and for every day in the period from March 2013 to December 2021. The NTCM-G and NeQuick-G model-derived STECs are computed at each station location for the same link geometries considering only elevation angles above 5°. The comparison is done in terms of STEC residual, which is defined as the difference between the modeled STEC and its corresponding STEC observation (i.e. STECmodel–STECobs), on a global scale and at the five MODIP regions. RMS estimates of STEC residuals are computed on a daily basis and over a total of about 10.6 billion samples. The results are plotted in Figure 4.

By comparing the RMS residual plots in all panels of Figure 4, we see the performance of both models is very similar and it can be concluded that there is no significant difference in performance between NeQuick-G and NTCM-G.


Analysis Over the Extended Period, 2000 to 2022

Galileo started broadcasting the Effective Ionisation Level coefficients in March 2013. To extend the availability of these coefficients even before 2013, ESA made use of a network of IGS receivers resembling the current Galileo network of sensor stations and derived past coefficients as they would be computed by the Galileo system. This allowed extending the analysis back to the year 2000, 
covering more than 23 years of data and extending over three solar cycles. 

Figure 5 depicts some noteworthy results based on the VTEC residuals computed over the extended period of 23 years. VTEC residuals have been sorted out based on the MODIP region and intensity of the proxy measurement of the solar activity level, Azpar. The plots display the 1-CDFs distributions for each range of Azpar of size 10. For each Azparrange, the 95th percentile is also displayed, together with the corresponding fitting curve over the whole Azpar extent. The plots give an insight on the distribution of the error a user can expect when adopting NTCM-G to compensate for the Ionospheric delay. 

Furthermore, the clear direct proportionality between the VTEC residuals and the intensity of Azpar (see dashed line in the plots) allows defining a proportional factor between the VTEC error at a certain latitude and the level of the proxy measurement, i.e. the values of the Effective Ionisation Level coefficients broadcast by Galileo.

NTCM-G Performance in Position Domain

The analysis on the positioning performance has been conducted at 47 global locations over the whole years of 2014 and 2019. Modeling errors, other than the residual ionospheric delay, are drastically reduced by implementing a PPP approach as described in [10], thus allowing for a complementary test of the error contribution due to the mismodeling of the ionosphere. Figure 6 shows the location of the 47 IGS stations used for the derivation of the positioning errors. It is worth noting the availability of each single station varies on a daily basis, therefore the effective number of stations effectively used on each day might be lower than 47.

For the performance analysis, the 68th, 90th and 95th percentiles are computed for each available station on a daily basis and then a 15-day global average is extracted, weighted by the number of stations available on each day. The following plots show the global mean for the years 2014 and 2019.

A comparison between NTCM-G and NeQuick-G for the 68th percentile of the 3D positioning error is given in Figure 8. The plot shows that the two models perform in a very similar manner.



This article presents a fully compatible algorithm to compute ionospheric corrections for Galileo single-frequency Open Service (OS) users, called NTCM-G. The global model provides a practical and a cost-effective solution for the determination of ionospheric TEC.

NTCM-G provides excellent performance, similar to the current recommended solution using NeQuick-G, while its computational complexity is highly reduced. A software implementation compliant to the MISRA C Coding Guidelines is available on the GSC website [3] and can ease code development 
targeting safety-critical applications. 

The reduced complexity and runtime of the NTCM-G algorithm are considered beneficial, particularly in user-segments where the user equipment has limited resources available such as receivers used in civil avionics receivers and location-based services such as smartphones, smartwatches, drones and IoT devices. It is safe to assume that NTCM-G can serve the needs of aviation users and to meet the stringent requirements of aviation receivers because of its simplicity and low computational cost.



[1]        European GNSS (Galileo) Open Service – Alternate Ionospheric correction algorithm for Galileo single frequency users, Issue 1.0, May 2022, European Commission (EC)

[2]        European GNSS (Galileo) Open Service— Reference Ionospheric correction algorithm for Galileo single frequency users, Issue 1.2, September 2016, European Commission (EC)

[3]        European GNSS Service Centre, website:

[4]        European GNSS (Galileo) Open Service Signal In Space Interface Control Document (OS SIS ICD), Issue 2.0, European Union, January 2021 

[5]        Hoque, M. M., Jakowski, N., Orús Pérez, R., “Fast ionospheric correction using Galileo Az coefficients and the NTCM model,” GPS Solutions, 2019, doi: 10.1007/s10291-019-0833-3.

[6]        Hoque, Mainul, Sgammini, Matteo, Menzione, Francesco, Perez, Raul Orus, & Chatre, Eric. (2022, November 16). Good performance, less computation: A new ionospheric model for the Galileo Open Service.

[7]        Hoque MM, Jakowski N (2015) An alternative ionospheric correction model for global navigation satellite systems. J Geodesy 89(4):391–406.

[8]        Hoque MM, Jakowski N, Berdermann J (2018) Positioning performance of the NTCM model driven by GPS Klobuchar model parameters. Space Weather Space Clim 8:A20.

[9]        Hoque M M., Jakowski N., Cahuasquí J. A., “Fast Ionospheric Correction Algorithm for Galileo Single Frequency Users,” 2020 European Navigation Conference (ENC), 2020, pp. 1-10, doi: 10.23919/ENC48637.2020.9317502.

[10]      Orus, R., “Ionospheric error contribution to GNSS single-frequency navigation at the 2014 solar maximum”. Journal of Geodesy, 2017, 91, 397–407.


Matteo Sgammini is a technical officer at the Joint Research Centre (JRC) of the European Commission. He was a system and software engineer at MTU Aero Engines from 2006 to 2008. From September 2008 to April 2017, he was a research associate in the Navigation group of the Institute of Communication and Navigation at the German Aerospace Center (DLR), Germany. His research includes signal processing and estimation theory for GNSS. Currently, he focuses on GNSS integrity, Galileo Safety-of-Life services, and Galileo system performance verification.

Raul Orus Perez has a Physics degree from the University of Barcelona (UB) in 2000 and a Ph.D. in Aerospace Science and Technology from the gAGE/UPC research group of the Technical University of Catalonia (UPC) in 2005. Since 2010 he has worked in the Wave interaction and Propagation Section of ESA/ESTEC as a Propagation Engineer. His main focus is on activities related to radio-wave propagation in troposphere and ionosphere for supporting ESA missions.”

Mainul Hoque received his Bachelor in Electrical and Electronics Engineering in 2000 and was awarded a PhD in 2009 from the University of Siegen, Germany. Hoque has worked at the German Aerospace Center (DLR) since 2004. Since 2019 he has been the head of the Space Weather Observations department at the DLR Institute for Solar-Terrestrial Physics. He has many years of research experience with a focus in mitigation of ionospheric propagation effects including higher order effects in GNSS precise positioning, global ionospheric total electron content (TEC) modeling, three-dimensional ionosphere and plasmasphere modelling and mapping function modeling. He was/is involved and has contributed in many EU, ESA and national projects related to ionospheric research. He is the author/co-author of three patents and more than 90 peer reviewed journal papers.

Francesco Menzione received BE, ME, and Ph.D. degrees from the University of Naples Federico II in Aerospace Engineering and Satellite Navigation. After almost eight years of working in the aerospace sector as a control and software engineer, he joined the European Commission Joint Research Centre as Technical and Scientific Officer for the Galileo Sector. His main areas of research are GNSS navigation and GNSS based remote sensing. He is currently contributing to EU next generation space projects for precise orbit determination, Space Service Volume and LEO PNT systems.