spinifex.ionospheric.models =========================== .. py:module:: spinifex.ionospheric.models .. autoapi-nested-parse:: Several implementations of Ionospheric Models. They all should have the get_density function Attributes ---------- .. autoapisummary:: spinifex.ionospheric.models.O spinifex.ionospheric.models.O_contra spinifex.ionospheric.models.ionospheric_models Classes ------- .. autoapisummary:: spinifex.ionospheric.models.IonosphericModels spinifex.ionospheric.models.ModelDensityFunction Functions --------- .. autoapisummary:: spinifex.ionospheric.models.get_density_ionex_iri spinifex.ionospheric.models.get_density_ionex_single_layer spinifex.ionospheric.models.get_density_tomion spinifex.ionospheric.models.parse_iono_kwargs spinifex.ionospheric.models.parse_iono_model Module Contents --------------- .. py:class:: IonosphericModels Names space for different ionospheric ionospheric_models. An ionospheric model should be a callable get_density .. py:attribute:: ionex :type: ModelDensityFunction[spinifex.ionospheric.tec_data.IonexOptions] .. py:attribute:: ionex_iri :type: ModelDensityFunction[spinifex.ionospheric.tec_data.IonexOptions] .. py:attribute:: tomion :type: ModelDensityFunction[spinifex.ionospheric.tec_data.TomionOptions] .. py:class:: ModelDensityFunction Bases: :py:obj:`Protocol`, :py:obj:`Generic`\ [\ :py:obj:`O_contra`\ ] Model density callable .. py:method:: __call__(ipp: spinifex.geometry.get_ipp.IPP, options: O_contra | None = None) -> spinifex.ionospheric.tec_data.ElectronDensity .. py:function:: get_density_ionex_iri(ipp: spinifex.geometry.get_ipp.IPP, options: spinifex.ionospheric.tec_data.IonexOptions | None = None) -> spinifex.ionospheric.tec_data.ElectronDensity gets the ionex files and interpolate values for a single altitude, then multiply with a normalised density profile from iri Parameters ---------- ipp : IPP ionospheric piercepoints height : u.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 .. py:function:: get_density_ionex_single_layer(ipp: spinifex.geometry.get_ipp.IPP, options: spinifex.ionospheric.tec_data.IonexOptions | None = None) -> spinifex.ionospheric.tec_data.ElectronDensity gets the ionex files and interpolate values for a single altitude, thin screen assumption Parameters ---------- ipp : IPP 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 .. py:function:: get_density_tomion(ipp: spinifex.geometry.get_ipp.IPP, options: spinifex.ionospheric.tec_data.TomionOptions | None = None) -> numpy.typing.NDArray[numpy.float64] .. py:function:: parse_iono_kwargs(iono_model: ModelDensityFunction[O], **kwargs: Any) -> O parse ionospheric options Parameters ---------- iono_model : ModelDensityFunction ionospheric model **kwargs : Any options for the ionospheric model Raises ------ TypeError Incorrect arguments for ionospheric model Returns ------- IonoOptions ionospheric model options .. py:function:: parse_iono_model(iono_model_name: str) -> ModelDensityFunction[O] parse ionospheric model name Parameters ---------- iono_model_name : str name of the ionospheric model Returns ------- ModelDensityFunction ionospheric model Raises ------ TypeError if the ionospheric model is not known .. py:data:: O .. py:data:: O_contra .. py:data:: ionospheric_models