Class GlobalIonosphereMapModel
- java.lang.Object
-
- org.orekit.models.earth.ionosphere.AbstractIonosphericModel
-
- org.orekit.models.earth.ionosphere.GlobalIonosphereMapModel
-
- All Implemented Interfaces:
IonosphericModel,ParameterDriversProvider
public class GlobalIonosphereMapModel extends AbstractIonosphericModel
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.-
Nested classes/interfaces inherited from interface org.orekit.models.earth.ionosphere.IonosphericModel
IonosphericModel.DelayCalculator, IonosphericModel.FieldDelayCalculator<T extends CalculusFieldElement<T>>
-
-
Constructor Summary
-
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(FieldVector3D<T> localP1, FieldVector3D<T> localP2, TopocentricFrame baseFrame, FieldAbsoluteDate<T> receptionDate, double frequency, T[] parameters)Calculates the ionospheric path delay for the signal path from a ground station to an observing object (ground station or satellite).doublepathDelay(Vector3D localP1, Vector3D localP2, TopocentricFrame baseFrame, AbsoluteDate receptionDate, double frequency, double[] parameters)Calculates the ionospheric path delay for the signal path from a ground station to an observing object (ground station or satellite).-
Methods inherited from class org.orekit.models.earth.ionosphere.AbstractIonosphericModel
checkIfPathIsValid, checkIfPathIsValid, getEarth
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.orekit.models.earth.ionosphere.IonosphericModel
pathDelay, pathDelay
-
Methods inherited from interface org.orekit.utils.ParameterDriversProvider
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, isSupported
-
-
-
-
Constructor Detail
-
GlobalIonosphereMapModel
@DefaultDataContext public GlobalIonosphereMapModel(OneAxisEllipsoid earth, String supportedNames)
Constructor with supported names given by user. This constructor uses thedefault data context.- Parameters:
earth- earth body shapesupportedNames- regular expression that matches the names of the IONEX files to be loaded. SeeDataProvidersManager.feed(String, DataLoader).- Since:
- 14.0
- See Also:
GlobalIonosphereMapModel(OneAxisEllipsoid, String, DataProvidersManager, TimeScale, TimeInterpolator)
-
GlobalIonosphereMapModel
@Deprecated public GlobalIonosphereMapModel(OneAxisEllipsoid earth, String supportedNames, DataProvidersManager dataProvidersManager, TimeScale utc)
Deprecated.as of 13.1.1, replaced byGlobalIonosphereMapModel(OneAxisEllipsoid, String, DataProvidersManager, TimeScale, TimeInterpolator)Constructor that uses user defined supported names and data context.- Parameters:
earth- earth body shapesupportedNames- 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:
- 14.0
-
GlobalIonosphereMapModel
public GlobalIonosphereMapModel(OneAxisEllipsoid earth, String supportedNames, DataProvidersManager dataProvidersManager, TimeScale utc, GlobalIonosphereMapModel.TimeInterpolator interpolator)
Constructor that uses user defined supported names and data context.- Parameters:
earth- earth body shapesupportedNames- 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:
- 14.0
-
GlobalIonosphereMapModel
@Deprecated public GlobalIonosphereMapModel(OneAxisEllipsoid earth, TimeScale utc, DataSource... ionex)
Deprecated.as of 13.1.1, replaced byGlobalIonosphereMapModel(OneAxisEllipsoid, TimeScale, TimeInterpolator, DataSource...)Constructor that uses user defined data sources.- Parameters:
earth- earth body shapeutc- UTC time scale.ionex- sources for the IONEX files- Since:
- 14.0
-
GlobalIonosphereMapModel
public GlobalIonosphereMapModel(OneAxisEllipsoid earth, TimeScale utc, GlobalIonosphereMapModel.TimeInterpolator interpolator, DataSource... ionex)
Constructor that uses user defined data sources.- Parameters:
earth- earth body shapeutc- UTC time scale.interpolator- interpolator to useionex- sources for the IONEX files- Since:
- 14.0
-
-
Method Detail
-
getInterpolator
public GlobalIonosphereMapModel.TimeInterpolator getInterpolator()
Get the time interpolator used.- Returns:
- time interpolator used
- Since:
- 13.1.1
-
pathDelay
public double pathDelay(Vector3D localP1, Vector3D localP2, TopocentricFrame baseFrame, AbsoluteDate receptionDate, double frequency, double[] parameters)
Description copied from interface:IonosphericModelCalculates the ionospheric path delay for the signal path from a ground station to an observing object (ground station or 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.
- Parameters:
localP1- position of path start point in baseFramelocalP2- position of path end point in baseFramebaseFrame- topocentric frame of point with lowest altitude between p1 and p2receptionDate- 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(FieldVector3D<T> localP1, FieldVector3D<T> localP2, TopocentricFrame baseFrame, FieldAbsoluteDate<T> receptionDate, double frequency, T[] parameters)
Description copied from interface:IonosphericModelCalculates the ionospheric path delay for the signal path from a ground station to an observing object (ground station or 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.
- Type Parameters:
T- type of the elements- Parameters:
localP1- position of path start point in baseFramelocalP2- position of path end point in baseFramebaseFrame- topocentric frame of point with lowest altitude between p1 and p2receptionDate- 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.- Returns:
- drivers for parameters
-
-