Metadata-Version: 2.5
Name: gri-iono-data
Version: 0.2.4
Summary: Ionospheric data pipeline for solar flux and NeQuickG coefficient datasets
Project-URL: Homepage, https://geosolresearch.com
Project-URL: Repository, https://gitlab.com/geosol-foss/python/gri-iono-data
Project-URL: Issues, https://gitlab.com/geosol-foss/python/gri-iono-data/-/issues
Project-URL: Changelog, https://gitlab.com/geosol-foss/python/gri-iono-data/-/releases
Author-email: GeoSol Research Inc <contact@geosolresearch.com>
License-Expression: MIT
License-File: LICENSE
Keywords: NeQuickG,data-pipeline,ionosphere,solar-flux
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Atmospheric Science
Requires-Python: >=3.12
Requires-Dist: georinex>=1.16.0
Requires-Dist: gri-utils>=0.3.3
Requires-Dist: numpy>=2.3.3
Requires-Dist: requests>=2.32.0
Description-Content-Type: text/markdown

[![GeoSol Research Logo](https://geosolresearch.com/logos/foss_logo.png "GeoSol Research")](https://geosolresearch.com)

# Iono Data (Ionospheric Data Processing)

Ionospheric data download and processing tools for generating ionospheric delay datasets used by [gri-iono](https://gitlab.com/geosol-foss/python/gri-iono). Requires Python 3.12+.

## Overview

This package provides scripts for:

- **Downloading solar flux data** (F10.7) from CelesTrak's `SW-All.csv`, for
  the Bent ionospheric model
- **Downloading NeQuickG coefficients** from the Galileo header of the daily
  merged broadcast navigation file in the IGN IGS archive
- **Processing both** to NPZ (or CSV) files that `gri-iono` reads

## Documentation

The wheel ships its documentation inside the package, in `gri_iono_data/docs/`,
so it is available wherever the package is installed:

- `overview.md` -- the download and update scripts, the solar-flux and
  NeQuickG data, and the file contents
- `api_summary.md` -- every public function and signature (generated)

Print the directory with
`python -c "import gri_iono_data, pathlib; print(pathlib.Path(gri_iono_data.__file__).parent / 'docs')"`.
Every example in those files is run by the test suite.

## Installation

```bash
pip install gri-iono-data
```

## Usage

```bash
python -m gri_iono_data.download_solar_flux           # saves SW-All_YYYY_MM_DD.csv
python -m gri_iono_data.update_solar_flux [npz|csv|both]
python -m gri_iono_data.download_nequickg 2025 03 15  # saves BRDC_2025_03_15.rnx.gz
python -m gri_iono_data.update_nequickg [npz|csv|both]
```

- `update_solar_flux` processes the newest raw file into
  `solar_flux_YYYY_MM_DD.npz`: every observed and interpolated F10.7 record
  back to 1957, then the predictions for the next 12 months.
- `update_nequickg` adds every raw day not yet processed to the accumulated
  record and writes `nequickg_YYYY_MM_DD.npz`, named for the latest day.

gri-iono reads only the newest file in each directory, so each file is
complete on its own.

## Configuration

The directories come from the gri-utils config file, `~/.config/gri/config.toml`,
falling back to the paths shown:

```toml
[gri-iono.solar_flux_raw]
data_dir = "/data/work/iono/solar_flux_raw"
[gri-iono.solar_flux]
data_dir = "/data/work/iono/solar_flux"
[gri-iono.nequickg_raw]
data_dir = "/data/work/iono/nequickg_raw"
[gri-iono.nequickg]
data_dir = "/data/work/iono/nequickg"
```

## Data Sources

- **Solar flux**: CelesTrak space weather data,
  https://celestrak.org/SpaceData/SW-All.csv
- **NeQuickG**: Galileo broadcast ionospheric coefficients (ai0, ai1, ai2) from
  `BRDC00IGN_R_YYYYDDD0000_01D_MN.rnx.gz` at ftp://igs.ign.fr/pub/igs/data

## Other Projects

Current list of other [GRI FOSS Projects](https://gitlab.com/geosol-foss/python/gri-iono-data/-/blob/main/.docs_other_projects.md) we are building and maintaining.

## License

MIT License. See [LICENSE](https://gitlab.com/geosol-foss/python/gri-iono-data/-/blob/main/LICENSE) for details.
