Science Score: 54.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
✓Academic publication links
Links to: researchgate.net -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.6%) to scientific vocabulary
Keywords
Repository
Global Ionospheric Mapping with GNSS
Basic Info
Statistics
- Stars: 8
- Watchers: 1
- Forks: 3
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
MosGIM2
Global Ionopsheric Mapping with GNSS.

About
This code implements an original method for constructing Global Ionospheric Maps (GIM) of Total Electron Content (TEC) based on the analysis of solely phase measurements of GNSS signals at a pair of coherent frequencies, which does not require satellite/receiver DCBs estimations and thus makes it easier to combine different GNSS systems within single reconstruction algorithm. This method uses the representation of the ionosphere as one or two thin layers with the electron content in each of them given by a truncated expansion into a series of spherical harmonics in Sun-fixed coordinate system. The expansion coefficients are determined by least squares with inequality constrains representing the positivity of TEC, implemented by solving the corresponding linear complementarity problem (LCP). Algorithm description for single thin layer model is given in (cite if using code for your research):
Padokhin, A. M., E. S. Andreeva, M. O. Nazarenko, and S. A. Kalashnikova. "Phase-Difference Approach for GNSS Global Ionospheric Total Electron Content Mapping." Radiophysics and Quantum Electronics, 65(7): 481-495, 2023
Find full text paper here
Prerequirements
Code and launch were tested for Linux (Mint) and python3.6.9
Code uses numpy, scipy, matplotlib, cartopy, h5py, lemkelcp and pyIGRF packages.
If you get TypeError: 'range' object does not support item assignment when calling process.py, adjust lines 8&9 lemkelcp.py in python dist-packages accordingly:
self.wPos = list(range(n))
self.zPos = list(range(n,2*n))
Use test data
Test data is the output data (in TXT format) from the tec-suite package developed by SIMuRG team. To use with MosGIM2 you need to change default output of tec-suite in its configuration file tecs.cfg as following:
recFields = 'datetime, sat.x, sat.y, sat.z, tec.l1l2'
You can download test dataset obtained with tec-suite for approximately 300 IGS stations and suitable to use with MosGIM2 via this link Note that you can alter list of stations to work with in /mosgim2/data/tec_prepare.py. Observations (rinex files) from the very same set of stations should be downloaded from one of the IGS datacenters and processed with tec-suite, please refer to tec-suite manual for more information.
Run processing
Set necessary parameters in config.py. Unzip test dataset to data_path directory, and adjust res_path to the directory where you wish to store results in HDF5 format. All other parameters are explained in comments and could be left as provided for running test example.
If you want to work in modip coordinates, you need to generate file modip.npz with the grid of modip latitudes. Use modip.py script for it, arguments are year and altitude in kilometeres. Such file for year=2017 and alt=300km is provided within repo.
python modip.py --year 2017 --alt 300.
Use process.py to solve for coefficients of spherical harmonics expansion of GIM in MLT coordinate system, which will be stored in res_file
python process.py
Script plot.py is provided for your convinience to give an example of converting SH coefficients from res_file, obtained at the previous step, to plot GIMs in spherical coordinate system.
python plot.py --in_file res_file --out_file somefile.gif
Owner
- Name: Artem Padokhin
- Login: PadArt
- Kind: user
- Website: https://www.researchgate.net/profile/Artem-Padokhin/
- Repositories: 1
- Profile: https://github.com/PadArt
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If MosGIM2 contributes to a project that leads to a scientific publication, please acknowledge this fact by citing"
authors:
- family-names: "Padokhin"
given-names: "Artem"
orcid: "https://orcid.org/0000-0002-0190-2140"
- family-names: "Vesnin"
given-names: "Artem"
orcid: "https://orcid.org/0000-0001-8907-2710"
title: "MosGIM2"
date-released: 2023-07-18
url: "https://github.com/PadArt/mosgim2/"
preferred-citation:
type: article
authors:
- family-names: "Padokhin"
given-names: "Artem"
orcid: "https://orcid.org/0000-0002-0190-2140"
- family-names: "Andreeva"
given-names: "Elena"
- family-names: "Nazarenko"
given-names: "Marina"
- family-names: "Kalashnikova"
given-names: "Svetlana"
doi: "10.1007/s11141-023-10230-6"
journal: "Radiophysics and Quantum Electronics"
date-published: 2023-04-22
start: 481 # First page number
end: 495 # Last page number
title: "Phase-Difference Approach for GNSS Global Ionospheric Total Electron Content Mapping"
issue: 7
volume: 65
year: 2023
GitHub Events
Total
- Watch event: 6
- Fork event: 2
Last Year
- Watch event: 6
- Fork event: 2