Skip to main content

NeQuickG and Python package

Background

Galileo is the European global navigation satellite system providing a highly accurate and global positioning service under civilian control. Galileo, and in general current GNSS, are based on the broadcasting of electromagnetic ranging signals in the L frequency band. Those satellite signals suffer from a number of impairments when propagating through the Earth’s ionosphere. Receivers operating in single frequency mode may use the single frequency ionospheric correction algorithm NeQuickG to estimate the ionospheric delay on each satellite link.

The implementation has been written in the C programming language with a Python extension and is divided in:

  • The NeQuickG JRC library (lib)
  • The test driver program (app)
  • A Python module that is built using the C code

Basic usage of the Python module

The Python library provides an interface to work with the NeQuick model. Below is an example of how to use the library to compute VTEC and STEC values.

The Python module can be installed with:

pip install nequick

Example

The following script will output the computed STEC and VTEC values for the given epoch and coordinates.

This example demonstrates how to initialize the NeQuick model, set the model coefficients, and compute the STEC and VTEC.

from datetime import datetime
from nequick import NeQuick

# Initialize the NeQuick model with coefficients
nequick = NeQuick(236.831641, -0.39362878, 0.00402826613)

# Define the epoch and coordinates
epoch = datetime(2025, 3, 21, 12, 0, 0)
station_lon, station_lat, station_alt = 40.0, -3.0, 0.0
sat_lon, sat_lat, sat_alt = 45.0, -2.0, 20000000.0

# Compute STEC (Slant Total Electron Content) between the station and the satellite
stec = nequick.compute_stec(epoch, station_lat, station_lon, station_alt, sat_lat, sat_lon, sat_alt)
print(f"STEC: {stec}")

# Compute VTEC (Vertical Total Electron Content) at the station location
vtec = nequick.compute_vtec(epoch, station_lat, station_lon)
print(f"VTEC: {vtec}")

References

  • European GNSS (Galileo) Open Service. Ionospheric Correction Algorithm for Galileo Single Frequency Users, 1.2 September 2016
  • C standard ISO/IEC 9899:2011

Compilation options

The library has been refactored so that CMake is used as the compiler manager.

Note that the FTR_MODIP_CCIR_AS_CONSTANTS has been set, therefore the CCIR grid and the MODIP files are preloaded as constants in the library

To compile the library using CMAKE, follow these instructions)

cd build
cmake [-DCMAKE_BUILD_TYPE=Debug] ..
make
make install  # optional to make the executables and library system-wide

This will create a library file libnequick.a, that can be used for other programs. To use the exeecutable:

# Execute the program to show a list of available options
NeQuickG_JRC.exe -h

Acknowledgements

The NeQuick electron density model was developed by the Abdus Salam International Center of Theoretical Physics (ICTP) and the University of Graz. The adaptation of NeQuick for the Galileo single-frequency ionospheric correction algorithm (NeQuick G) has been performed by the European Space Agency (ESA) involving the original authors and other European ionospheric scientists under various ESA contracts. The step-by-step algorithmic description of NeQuick for Galileo has been a collaborative effort of IC TP, ESA and the European Commission, including JRC.

This code is based on a fork from the code published in Github by odrisci

Metadata

Release files for nequick 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nequick 1.0.0
File Size Uploaded
nequick-1.0.0.tar.gz 528.9 kB Details

Release files / nequick-1.0.0.tar.gz

Download URL nequick-1.0.0.tar.gz
Size 528.9 kB
Tags Source
SHA-256 checksum
How to use checksums
d9b56c2d0082846053ef6437e173e85de01b824d4333f06f1a323ad393d5f5c7
BLAKE2b-256 checksum
How to use checksums
5ea3860bb2311277e0a61583cba9f007b046019b48769f275edf0f0ba45d4481
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 18, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.0 This release

1 release file

0.3.0

1 release file

0.2.0

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page