Class NeQuickModel
- java.lang.Object
-
- org.orekit.models.earth.ionosphere.nequick.NeQuickModel
-
- All Implemented Interfaces:
IonosphericModel
,ParameterDriversProvider
- Direct Known Subclasses:
NeQuickGalileo
,NeQuickItu
public abstract class NeQuickModel extends Object implements IonosphericModel
NeQuick ionospheric delay model.- Since:
- 10.1
- Author:
- Bryan Cazabonne
- See Also:
- "European Union (2016). European GNSS (Galileo) Open Service-Ionospheric Correction Algorithm for Galileo Single Frequency Users. 1.2.", ITU-R P.531
-
-
Field Summary
Fields Modifier and Type Field Description static double
RE
Mean Earth radius in m (Ref Table 2.5.2).
-
Constructor Summary
Constructors Modifier Constructor Description protected
NeQuickModel(TimeScale utc)
Simple constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected double
clipExp(double power)
A clipped exponential function.protected <T extends CalculusFieldElement<T>>
TclipExp(T power)
A clipped exponential function.protected abstract double
computeMODIP(double latitude, double longitude)
Compute modip for a location.protected abstract <T extends CalculusFieldElement<T>>
TcomputeMODIP(T latitude, T longitude)
Compute modip for a location.double
electronDensity(DateTimeComponents dateTime, double az, double latitude, double longitude, double h)
Computes the electron density at a given height.<T extends CalculusFieldElement<T>>
TelectronDensity(DateTimeComponents dateTime, T az, T latitude, T longitude, T h)
Computes the electron density at a given height.List<ParameterDriver>
getParametersDrivers()
Get the drivers for parameters.TimeScale
getUtc()
Get UTC time scale.<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
stec(AbsoluteDate date, GeodeticPoint recP, GeodeticPoint satP)
This method allows the computation of the Slant Total Electron Content (STEC).<T extends CalculusFieldElement<T>>
Tstec(FieldAbsoluteDate<T> date, FieldGeodeticPoint<T> recP, FieldGeodeticPoint<T> satP)
This method allows the computation of the Slant Total Electron Content (STEC).-
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
-
-
-
-
Field Detail
-
RE
public static final double RE
Mean Earth radius in m (Ref Table 2.5.2).- See Also:
- Constant Field Values
-
-
Constructor Detail
-
NeQuickModel
protected NeQuickModel(TimeScale utc)
Simple constructor.- Parameters:
utc
- UTC time scale- Since:
- 13.0
-
-
Method Detail
-
getUtc
public TimeScale getUtc()
Get UTC time scale.- Returns:
- UTC time scale
- Since:
- 13.0
-
pathDelay
public 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.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 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)
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 at state date- Returns:
- the path delay due to the ionosphere in m
-
getParametersDrivers
public List<ParameterDriver> getParametersDrivers()
Get the drivers for parameters.- Specified by:
getParametersDrivers
in interfaceParameterDriversProvider
- Returns:
- drivers for parameters
-
stec
public double stec(AbsoluteDate date, GeodeticPoint recP, GeodeticPoint satP)
This method allows the computation of the Slant Total Electron Content (STEC).- Parameters:
date
- current daterecP
- receiver positionsatP
- satellite position- Returns:
- the STEC in TECUnits
-
stec
public <T extends CalculusFieldElement<T>> T stec(FieldAbsoluteDate<T> date, FieldGeodeticPoint<T> recP, FieldGeodeticPoint<T> satP)
This method allows the computation of the Slant Total Electron Content (STEC).- Type Parameters:
T
- type of the elements- Parameters:
date
- current daterecP
- receiver positionsatP
- satellite position- Returns:
- the STEC in TECUnits
-
computeMODIP
protected abstract double computeMODIP(double latitude, double longitude)
Compute modip for a location.- Parameters:
latitude
- latitudelongitude
- longitude- Returns:
- modip at specified location
- Since:
- 13.0
-
computeMODIP
protected abstract <T extends CalculusFieldElement<T>> T computeMODIP(T latitude, T longitude)
Compute modip for a location.- Type Parameters:
T
- type of the field elements- Parameters:
latitude
- latitudelongitude
- longitude- Returns:
- modip at specified location
- Since:
- 13.0
-
electronDensity
public double electronDensity(DateTimeComponents dateTime, double az, double latitude, double longitude, double h)
Computes the electron density at a given height.- Parameters:
dateTime
- dateaz
- effective ionization levellatitude
- latitude along the integration pathlongitude
- longitude along the integration pathh
- height along the integration path in m- Returns:
- electron density [m⁻³]
- Since:
- 13.0
-
electronDensity
public <T extends CalculusFieldElement<T>> T electronDensity(DateTimeComponents dateTime, T az, T latitude, T longitude, T h)
Computes the electron density at a given height.- Type Parameters:
T
- type of the elements- Parameters:
dateTime
- dateaz
- effective ionization levellatitude
- latitude along the integration pathlongitude
- longitude along the integration pathh
- height along the integration path in m- Returns:
- electron density [m⁻³]
- Since:
- 13.0
-
clipExp
protected double clipExp(double power)
A clipped exponential function.This function, describe in section F.2.12.2 of the reference document, is recommended for the computation of exponential values.
- Parameters:
power
- power for exponential function- Returns:
- clipped exponential value
-
clipExp
protected <T extends CalculusFieldElement<T>> T clipExp(T power)
A clipped exponential function.This function, describe in section F.2.12.2 of the reference document, is recommended for the computation of exponential values.
- Type Parameters:
T
- type of the elements- Parameters:
power
- power for exponential function- Returns:
- clipped exponential value
-
-