spinifex.ionospheric.ionex_manipulation
Module of ionex manipulation tools
Classes
Grouped IPPs |
Functions
|
read ionex files and interpolate values to ipp locations/times |
|
Interpolate ionex data to a given lon/lat/height grid. |
Module Contents
- class spinifex.ionospheric.ionex_manipulation.GroupedIPPs[source]
Bases:
NamedTupleGrouped IPPs
- ipps: list[spinifex.geometry.get_ipp.IPP][source]
- spinifex.ionospheric.ionex_manipulation.get_density_ionex(ipp: spinifex.geometry.get_ipp.IPP, ionex_options: spinifex.ionospheric.tec_data.IonexOptions | None = None) spinifex.ionospheric.tec_data.ElectronDensity[source]
read ionex files and interpolate values to ipp locations/times
Parameters
- ippIPP
ionospheric piercepoints
- ionex_optionsIonexOptions, optional
optional arguments for the ionospheric model, by default None
Returns
- ElectronDensity
object with arrays of tec and tec_rms values for every entry in ipp
Raises
- FileNotFoundError
if ionex file cannot be downloaded
- spinifex.ionospheric.ionex_manipulation.interpolate_ionex(ionex: spinifex.ionospheric.ionex_parser.IonexData, lons: numpy.typing.NDArray[numpy.float64], lats: numpy.typing.NDArray[numpy.float64], times: astropy.time.Time, apply_earth_rotation: float = 1, get_rms: bool = False) numpy.typing.NDArray[numpy.float64][source]
Interpolate ionex data to a given lon/lat/height grid. lons, lats, times all should have the same length
apply_earth_rotation: This is assuming that the TEC maps move according to the rotation Earth (following method 3 of interpolation described in the IONEX document). Experiments with high time resolution ROB data show that this is not really the case, resulting in strange wavelike structures when applying this smart interpolation. TODO: implement smoothing filters for interpolation
Parameters
- ionexIonexData
ionex object containing the information of the ionex file
- lonsNDArray
longitudes (deg) of all points to interpolate to
- latsNDArray
lattitudes (deg) of all points to interpolate to
- timesTime
times of all points to interpolate to
- apply_earth_rotationfloat, optional
specify (with a number between 0 and 1) how much of the earth rotation is taken in to account in the interpolation step., by default 1
- get_rmsbool, optional
use rms values instead of tec values
Returns
- NDArray
array with interpolated tec values