Class GlobalIonosphereMapModel
- java.lang.Object
-
- org.orekit.data.AbstractSelfFeedingLoader
-
- org.orekit.models.earth.ionosphere.GlobalIonosphereMapModel
-
- All Implemented Interfaces:
Serializable
,IonosphericModel
,ParametersDriversProvider
public class GlobalIonosphereMapModel extends AbstractSelfFeedingLoader implements IonosphericModel
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 The 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 ...
- 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", Serialized Form
-
-
Constructor Summary
Constructors Constructor Description GlobalIonosphereMapModel(String supportedNames)
Constructor with supported names given by user.GlobalIonosphereMapModel(String supportedNames, DataProvidersManager dataProvidersManager, TimeScale utc)
Constructor that uses user defined supported names and data context.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description List<ParameterDriver>
getParametersDrivers()
Get the drivers for parameters.double
getTEC(AbsoluteDate date, GeodeticPoint recPoint)
Computes the Total Electron Content (TEC) at a given date by performing a temporal interpolation with the two closest date in the IONEX file.<T extends CalculusFieldElement<T>>
TgetTEC(FieldAbsoluteDate<T> date, GeodeticPoint recPoint)
Computes the Total Electron Content (TEC) at a given date by performing a temporal interpolation with the two closest date in the IONEX file.<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.double
pathDelay(SpacecraftState state, TopocentricFrame baseFrame, double frequency, double[] parameters)
Calculates the ionospheric path delay for the signal path from a ground station to a satellite.double
pathDelay(AbsoluteDate date, GeodeticPoint geo, double elevation, double frequency)
Calculates the ionospheric path delay for the signal path from a ground station to a satellite.<T extends CalculusFieldElement<T>>
TpathDelay(FieldAbsoluteDate<T> date, GeodeticPoint geo, T elevation, double frequency)
Calculates the ionospheric path delay for the signal path from a ground station to a satellite.-
Methods inherited from class org.orekit.data.AbstractSelfFeedingLoader
feed, getDataProvidersManager, getSupportedNames, setSupportedNames
-
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
getParameters, getParameters
-
-
-
-
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)
-
GlobalIonosphereMapModel
public GlobalIonosphereMapModel(String supportedNames, DataProvidersManager dataProvidersManager, TimeScale utc)
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
-
-
Method Detail
-
pathDelay
public double pathDelay(AbsoluteDate date, GeodeticPoint geo, double elevation, double frequency)
Calculates the ionospheric path delay for the signal path from a ground station to a satellite.The path delay can be computed for any elevation angle.
- Parameters:
date
- current dategeo
- geodetic point of receiver/stationelevation
- elevation of the satellite in radiansfrequency
- frequency of the signal in Hz- Returns:
- the path delay due to the ionosphere in m
-
pathDelay
public double pathDelay(SpacecraftState state, TopocentricFrame baseFrame, double frequency, double[] parameters)
Description copied from interface:IonosphericModel
Calculates 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:
pathDelay
in interfaceIonosphericModel
- Parameters:
state
- spacecraft statebaseFrame
- base frame associated with the stationfrequency
- frequency of the signal in Hzparameters
- ionospheric model parameters- Returns:
- the path delay due to the ionosphere in m
-
pathDelay
public <T extends CalculusFieldElement<T>> T pathDelay(FieldAbsoluteDate<T> date, GeodeticPoint geo, T elevation, double frequency)
Calculates the ionospheric path delay for the signal path from a ground station to a satellite.The path delay can be computed for any elevation angle.
- Type Parameters:
T
- type of the elements- Parameters:
date
- current dategeo
- geodetic point of receiver/stationelevation
- elevation of the satellite in radiansfrequency
- frequency of the signal in Hz- 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:IonosphericModel
Calculates 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:
pathDelay
in 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- Returns:
- the path delay due to the ionosphere in m
-
getTEC
public double getTEC(AbsoluteDate date, GeodeticPoint recPoint)
Computes the Total Electron Content (TEC) at a given date by performing a temporal interpolation with the two closest date in the IONEX file.- Parameters:
date
- current daterecPoint
- geodetic point of receiver/station- Returns:
- the TEC after a temporal interpolation, in TECUnits
-
getTEC
public <T extends CalculusFieldElement<T>> T getTEC(FieldAbsoluteDate<T> date, GeodeticPoint recPoint)
Computes the Total Electron Content (TEC) at a given date by performing a temporal interpolation with the two closest date in the IONEX file.- Type Parameters:
T
- type of the elements- Parameters:
date
- current daterecPoint
- geodetic point of receiver/station- Returns:
- the TEC after a temporal interpolation, in TECUnits
-
getParametersDrivers
public List<ParameterDriver> getParametersDrivers()
Description copied from interface:ParametersDriversProvider
Get the drivers for parameters.- Specified by:
getParametersDrivers
in interfaceParametersDriversProvider
- Returns:
- drivers for parameters
-
-