A research project aiming to apply machine learning models for regional Global Navigation Satellite System (GNSS) ionospheric scintillation forecasting at low latitudes.
The ionosphere contains ionised particles that are generally homogeneously distributed, and GNSS receivers – which use the signals from satellites orbiting the Earth to calculate their locations – can account for their effect on satellite signals using models. However, problems arise when there are irregularities, i.e. localised fluctuations in the electron density of the ionosphere, which can distort the phase and amplitude of GNSS signals, producing fluctuations known as scintillations.
The appearance of scintillation is often deemed unpredictable. It varies throughout the day, with sunset triggering a sharp increase in ionospheric activity that can last several hours. Also, an increase in solar activity can produce scintillation events that can degrade the quality of satellite signals. In standard GNSS receivers, a mild scintillation can degrade position accuracy by up to several metres. More severe scintillation can cause cycle slips or, in the most extreme cases, total loss of signal lock. So, whether it comes to precision agriculture in Brazil, oil exploration in Alaska or a large construction project in Singapore, it is highly beneficial to forecast the onset of scintillation.
Generated image of cars and an aircraft under a sunset sky |
-
First, you need to clone the repo and install dependencies via poetry with
poetry install
-
To launch a web server and execute jupyter notebooks, (on Windows) you can run the
scripts/run-jupyter.ps1
script; otherwise, you can activate the virtual environment manually (viapoetry shell
) and then execute thepoetry run jupyter notebook
command
Contributions are what make the open source community an amazing place to learn, inspire, and create. Any contribution you make is greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
- Fork the Project
- Create your Feature Branch (
git checkout -b feature_amazing_feature
) - Commit your Changes (
git commit -m 'Add some amazing stuff'
) - Push to the Branch (
git push origin feature_amazing_feature
) - Open a Pull Request
-
INTERMAGNET: ground-based magnetometers in Kourou (KOU, French Guiana) and Tatuoca (TTB, Brazil). To download the raw data, open a unix shell, cd into
scripts
and execute./download_magnetometer_data.sh
, which will download the raw data into the./data/in
directory. -
ISMR: GNSS receiver in Presidente Prudente (PRU2, Brazil). The access to the API is exclusive for authorized researchers and a unique key is required. Your key is provided when you access the webservice; once you have it, place it in the
.env.shared
file and rename it to.env.secret
. Data can then be downloaded via thescintill_ai.io
module. -
OMNIWeb: field and plasma data shifted to the Earth's bow shock nose. To download the raw data, open a unix shell, cd into
scripts
and execute./download_omniweb_data.sh
, which will download the raw data into the./data/in/omniweb
directory. Here is a (partial) list of fields available for download. -
GFZ Potsdam: solar indices data can be downloaded directly via the
scintill_ai.io
module.