Class GlobalIonosphereMapModel
- java.lang.Object
-
- org.orekit.models.earth.ionosphere.GlobalIonosphereMapModel
-
- All Implemented Interfaces:
IonosphericDelayModel,IonosphericModel,ParameterDriversProvider
public class GlobalIonosphereMapModel extends Object implements IonosphericModel, IonosphericDelayModel
Global Ionosphere Map (GIM) model. The ionospheric delay is computed according to the formulas:40.3 δ = -------- * STEC with, STEC = VTEC * F(elevation) f²With:- f: The frequency of the signal in Hz.
- STEC: The Slant Total Electron Content in TECUnits.
- VTEC: The Vertical Total Electron Content in TECUnits.
- F(elevation): A mapping function which depends on satellite elevation.
A bilinear interpolation is performed the case of the user initialize the latitude and the longitude with values that are not contained in the stream.
A temporal interpolation is also performed to compute the VTEC at the desired date.
IONEX files are obtained from Crustal Dynamics Data Information System.
The files have to be extracted to UTF-8 text files before being read by this loader.
Example of file:
1.0 IONOSPHERE MAPS GPS IONEX VERSION / TYPE BIMINX V5.3 AIUB 16-JAN-19 07:26 PGM / RUN BY / DATE BROADCAST IONOSPHERE MODEL FOR DAY 015, 2019 COMMENT 2019 1 15 0 0 0 EPOCH OF FIRST MAP 2019 1 16 0 0 0 EPOCH OF LAST MAP 3600 INTERVAL 25 # OF MAPS IN FILE NONE MAPPING FUNCTION 0.0 ELEVATION CUTOFF OBSERVABLES USED 6371.0 BASE RADIUS 2 MAP DIMENSION 350.0 350.0 0.0 HGT1 / HGT2 / DHGT 87.5 -87.5 -2.5 LAT1 / LAT2 / DLAT -180.0 180.0 5.0 LON1 / LON2 / DLON -1 EXPONENT TEC/RMS values in 0.1 TECU; 9999, if no value available COMMENT END OF HEADER 1 START OF TEC MAP 2019 1 15 0 0 0 EPOCH OF CURRENT MAP 87.5-180.0 180.0 5.0 350.0 LAT/LON1/LON2/DLON/H 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 ...Note that this model
pathDelaymethods requires thetopocentric frameto lie on aOneAxisEllipsoidbody shape, because the single layer on which pierce point is computed must be an ellipsoidal shape at some altitude.- Author:
- Bryan Cazabonne
- See Also:
- "Schaer, S., W. Gurtner, and J. Feltens, 1998, IONEX: The IONosphere Map EXchange Format Version 1, February 25, 1998, Proceedings of the IGS AC Workshop Darmstadt, Germany, February 9–11, 1998"
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classGlobalIonosphereMapModel.TimeInterpolatorInterpolation model for TEC maps.
-
Constructor Summary
Constructors Constructor Description GlobalIonosphereMapModel(String supportedNames)Constructor with supported names given by user.GlobalIonosphereMapModel(String supportedNames, DataProvidersManager dataProvidersManager, TimeScale utc)Deprecated.as of 13.1.1, replaced byGlobalIonosphereMapModel(String, DataProvidersManager, TimeScale, TimeInterpolator)GlobalIonosphereMapModel(String supportedNames, DataProvidersManager dataProvidersManager, TimeScale utc, GlobalIonosphereMapModel.TimeInterpolator interpolator)Constructor that uses user defined supported names and data context.GlobalIonosphereMapModel(TimeScale utc, DataSource... ionex)Deprecated.as of 13.1.1, replaced byGlobalIonosphereMapModel(TimeScale, TimeInterpolator, DataSource...)GlobalIonosphereMapModel(TimeScale utc, GlobalIonosphereMapModel.TimeInterpolator interpolator, DataSource... ionex)Constructor that uses user defined data sources.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description GlobalIonosphereMapModel.TimeInterpolatorgetInterpolator()Get the time interpolator used.List<ParameterDriver>getParametersDrivers()Get the drivers for parameters.<T extends CalculusFieldElement<T>>
TpathDelay(FieldSpacecraftState<T> state, TopocentricFrame baseFrame, double frequency, T[] parameters)Calculates the ionospheric path delay for the signal path from a ground station to a satellite.<T extends CalculusFieldElement<T>>
TpathDelay(FieldSpacecraftState<T> state, TopocentricFrame baseFrame, FieldAbsoluteDate<T> receptionDate, double frequency, T[] parameters)Calculates the ionospheric path delay for the signal path from a ground station to a satellite.doublepathDelay(SpacecraftState state, TopocentricFrame baseFrame, double frequency, double[] parameters)Calculates the ionospheric path delay for the signal path from a ground station to a satellite.doublepathDelay(SpacecraftState state, TopocentricFrame baseFrame, AbsoluteDate receptionDate, double frequency, double[] parameters)Calculates the ionospheric path delay for the signal path from a ground station to a satellite.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.orekit.utils.ParameterDriversProvider
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, isSupported
-
-
-
-
Constructor Detail
-
GlobalIonosphereMapModel
@DefaultDataContext public GlobalIonosphereMapModel(String supportedNames)
Constructor with supported names given by user. This constructor uses thedefault data context.- Parameters:
supportedNames- regular expression that matches the names of the IONEX files to be loaded. SeeDataProvidersManager.feed(String, DataLoader).- See Also:
GlobalIonosphereMapModel(String, DataProvidersManager, TimeScale, TimeInterpolator)
-
GlobalIonosphereMapModel
@Deprecated public GlobalIonosphereMapModel(String supportedNames, DataProvidersManager dataProvidersManager, TimeScale utc)
Deprecated.as of 13.1.1, replaced byGlobalIonosphereMapModel(String, DataProvidersManager, TimeScale, TimeInterpolator)Constructor that uses user defined supported names and data context.- Parameters:
supportedNames- regular expression that matches the names of the IONEX files to be loaded. SeeDataProvidersManager.feed(String, DataLoader).dataProvidersManager- provides access to auxiliary data files.utc- UTC time scale.- Since:
- 10.1
-
GlobalIonosphereMapModel
public GlobalIonosphereMapModel(String supportedNames, DataProvidersManager dataProvidersManager, TimeScale utc, GlobalIonosphereMapModel.TimeInterpolator interpolator)
Constructor that uses user defined supported names and data context.- Parameters:
supportedNames- regular expression that matches the names of the IONEX files to be loaded. SeeDataProvidersManager.feed(String, DataLoader).dataProvidersManager- provides access to auxiliary data files.utc- UTC time scale.interpolator- interpolator to use- Since:
- 13.1.1
-
GlobalIonosphereMapModel
@Deprecated public GlobalIonosphereMapModel(TimeScale utc, DataSource... ionex)
Deprecated.as of 13.1.1, replaced byGlobalIonosphereMapModel(TimeScale, TimeInterpolator, DataSource...)Constructor that uses user defined data sources.- Parameters:
utc- UTC time scale.ionex- sources for the IONEX files- Since:
- 12.0
-
GlobalIonosphereMapModel
public GlobalIonosphereMapModel(TimeScale utc, GlobalIonosphereMapModel.TimeInterpolator interpolator, DataSource... ionex)
Constructor that uses user defined data sources.- Parameters:
utc- UTC time scale.interpolator- interpolator to useionex- sources for the IONEX files- Since:
- 13.1.1
-
-
Method Detail
-
getInterpolator
public GlobalIonosphereMapModel.TimeInterpolator getInterpolator()
Get the time interpolator used.- Returns:
- time interpolator used
- Since:
- 13.1.1
-
pathDelay
public double pathDelay(SpacecraftState state, TopocentricFrame baseFrame, double frequency, double[] parameters)
Description copied from interface:IonosphericModelCalculates the ionospheric path delay for the signal path from a ground station to a satellite.This method is intended to be used for orbit determination issues. In that respect, if the elevation is below 0° the path delay will be equal to zero.
For individual use of the ionospheric model (i.e. not for orbit determination), another method signature can be implemented to compute the path delay for any elevation angle.
- Specified by:
pathDelayin interfaceIonosphericModel- Parameters:
state- spacecraft statebaseFrame- base frame associated with the stationfrequency- frequency of the signal in Hzparameters- ionospheric model parameters at state date- Returns:
- the path delay due to the ionosphere in m
-
pathDelay
public double pathDelay(SpacecraftState state, TopocentricFrame baseFrame, AbsoluteDate receptionDate, double frequency, double[] parameters)
Description copied from interface:IonosphericDelayModelCalculates the ionospheric path delay for the signal path from a ground station to a satellite.This method is intended to be used for orbit determination issues. In that respect, if the elevation is below 0° the path delay will be equal to zero.
For individual use of the ionospheric model (i.e. not for orbit determination), another method signature can be implemented to compute the path delay for any elevation angle.
- Specified by:
pathDelayin interfaceIonosphericDelayModel- Parameters:
state- spacecraft statebaseFrame- base frame associated with the stationreceptionDate- date at signal receptionfrequency- frequency of the signal in Hzparameters- ionospheric model parameters at state date- Returns:
- the path delay due to the ionosphere in m
-
pathDelay
public <T extends CalculusFieldElement<T>> T pathDelay(FieldSpacecraftState<T> state, TopocentricFrame baseFrame, double frequency, T[] parameters)
Description copied from interface:IonosphericModelCalculates the ionospheric path delay for the signal path from a ground station to a satellite.This method is intended to be used for orbit determination issues. In that respect, if the elevation is below 0° the path delay will be equal to zero.
For individual use of the ionospheric model (i.e. not for orbit determination), another method signature can be implemented to compute the path delay for any elevation angle.
- Specified by:
pathDelayin interfaceIonosphericModel- Type Parameters:
T- type of the elements- Parameters:
state- spacecraft statebaseFrame- base frame associated with the stationfrequency- frequency of the signal in Hzparameters- ionospheric model parameters at state date- Returns:
- the path delay due to the ionosphere in m
-
pathDelay
public <T extends CalculusFieldElement<T>> T pathDelay(FieldSpacecraftState<T> state, TopocentricFrame baseFrame, FieldAbsoluteDate<T> receptionDate, double frequency, T[] parameters)
Description copied from interface:IonosphericDelayModelCalculates the ionospheric path delay for the signal path from a ground station to a satellite.This method is intended to be used for orbit determination issues. In that respect, if the elevation is below 0° the path delay will be equal to zero.
For individual use of the ionospheric model (i.e. not for orbit determination), another method signature can be implemented to compute the path delay for any elevation angle.
- Specified by:
pathDelayin interfaceIonosphericDelayModel- Type Parameters:
T- type of the elements- Parameters:
state- spacecraft statebaseFrame- base frame associated with the stationreceptionDate- date at signal receptionfrequency- frequency of the signal in Hzparameters- ionospheric model parameters at state date- Returns:
- the path delay due to the ionosphere in m
-
getParametersDrivers
public List<ParameterDriver> getParametersDrivers()
Description copied from interface:ParameterDriversProviderGet the drivers for parameters.- Specified by:
getParametersDriversin interfaceParameterDriversProvider- Returns:
- drivers for parameters
-
-