spinifex.ionospheric.models

Several implementations of Ionospheric Models. They all should have the get_density function

Attributes

Classes

IonosphericModels

Names space for different ionospheric ionospheric_models. An ionospheric model should be

ModelDensityFunction

Model density callable

Functions

get_density_ionex_iri(...)

gets the ionex files and interpolate values for a single altitude, then multiply with a

get_density_ionex_single_layer(...)

gets the ionex files and interpolate values for a single altitude, thin screen assumption

get_density_tomion(→ numpy.typing.NDArray[numpy.float64])

parse_iono_kwargs(→ O)

parse ionospheric options

parse_iono_model(→ ModelDensityFunction[O])

parse ionospheric model name

Module Contents

class spinifex.ionospheric.models.IonosphericModels[source]
Names space for different ionospheric ionospheric_models. An ionospheric model should be

a callable get_density

ionex: ModelDensityFunction[spinifex.ionospheric.tec_data.IonexOptions][source]
ionex_iri: ModelDensityFunction[spinifex.ionospheric.tec_data.IonexOptions][source]
tomion: ModelDensityFunction[spinifex.ionospheric.tec_data.TomionOptions][source]
class spinifex.ionospheric.models.ModelDensityFunction[source]

Bases: Protocol, Generic[O_contra]

Model density callable

__call__(ipp: spinifex.geometry.get_ipp.IPP, options: O_contra | None = None) spinifex.ionospheric.tec_data.ElectronDensity[source]
spinifex.ionospheric.models.get_density_ionex_iri(ipp: spinifex.geometry.get_ipp.IPP, options: spinifex.ionospheric.tec_data.IonexOptions | None = None) spinifex.ionospheric.tec_data.ElectronDensity[source]

gets the ionex files and interpolate values for a single altitude, then multiply with a normalised density profile from iri

Parameters

ippIPP

ionospheric piercepoints

heightu.Quantity, optional

altitude of the thin screen, by default 350*u.km

ionex_options: IonexOptions | None, optional

options for the ionospheric model, by default None

Returns

NDArray

interpolated vTEC values at ipp

spinifex.ionospheric.models.get_density_ionex_single_layer(ipp: spinifex.geometry.get_ipp.IPP, options: spinifex.ionospheric.tec_data.IonexOptions | None = None) spinifex.ionospheric.tec_data.ElectronDensity[source]

gets the ionex files and interpolate values for a single altitude, thin screen assumption

Parameters

ippIPP

ionospheric piercepoints

ionex_options: IonexOptions | None, optional

options for the ionospheric model, by default None

Returns

NDArray

interpolated vTEC values at ipp, zeros everywhere apart from the altitude closest to the specified height

spinifex.ionospheric.models.get_density_tomion(ipp: spinifex.geometry.get_ipp.IPP, options: spinifex.ionospheric.tec_data.TomionOptions | None = None) numpy.typing.NDArray[numpy.float64][source]
spinifex.ionospheric.models.parse_iono_kwargs(iono_model: ModelDensityFunction[O], **kwargs: Any) O[source]

parse ionospheric options

Parameters

iono_modelModelDensityFunction

ionospheric model

**kwargsAny

options for the ionospheric model

Raises

TypeError

Incorrect arguments for ionospheric model

Returns

IonoOptions

ionospheric model options

spinifex.ionospheric.models.parse_iono_model(iono_model_name: str) ModelDensityFunction[O][source]

parse ionospheric model name

Parameters

iono_model_namestr

name of the ionospheric model

Returns

ModelDensityFunction

ionospheric model

Raises

TypeError

if the ionospheric model is not known

spinifex.ionospheric.models.O[source]
spinifex.ionospheric.models.O_contra[source]
spinifex.ionospheric.models.ionospheric_models[source]