Class CanonicalSaastamoinenModel
- java.lang.Object
-
- org.orekit.models.earth.troposphere.CanonicalSaastamoinenModel
-
- All Implemented Interfaces:
TroposphericModel
,ParameterDriversProvider
public class CanonicalSaastamoinenModel extends Object implements TroposphericModel
The canonical Saastamoinen model.Estimates the path delay imposed to electro-magnetic signals by the troposphere according to the formula: \[ \delta = \frac{0.002277}{\cos z} \left[P+(\frac{1255}{T}+0.005)e - B(h) \tan^2 z\right] \] with the following input data provided to the model:
- z: zenith angle
- P: atmospheric pressure
- T: temperature
- e: partial pressure of water vapor
- Since:
- 12.1
- Author:
- Luc Maisonobe
- See Also:
- "J Saastamoinen, Atmospheric Correction for the Troposphere and Stratosphere in Radio Ranging of Satellites"
-
-
Field Summary
Fields Modifier and Type Field Description static double
DEFAULT_LOW_ELEVATION_THRESHOLD
Default lowest acceptable elevation angle [rad].
-
Constructor Summary
Constructors Constructor Description CanonicalSaastamoinenModel()
Create a new Saastamoinen model for the troposphere using the given environmental conditions and table from the reference book.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
getLowElevationThreshold()
Get the low elevation threshold value for path delay computation.List<ParameterDriver>
getParametersDrivers()
Get the drivers for parameters.<T extends CalculusFieldElement<T>>
FieldTroposphericDelay<T>pathDelay(FieldTrackingCoordinates<T> trackingCoordinates, FieldGeodeticPoint<T> point, FieldPressureTemperatureHumidity<T> weather, T[] parameters, FieldAbsoluteDate<T> date)
Calculates the tropospheric path delay for the signal path from a ground station to a satellite.TroposphericDelay
pathDelay(TrackingCoordinates trackingCoordinates, GeodeticPoint point, PressureTemperatureHumidity weather, double[] parameters, AbsoluteDate date)
Calculates the tropospheric path delay for the signal path from a ground station to a satellite.void
setLowElevationThreshold(double lowElevationThreshold)
Set the low elevation threshold value for path delay computation.-
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
-
DEFAULT_LOW_ELEVATION_THRESHOLD
public static final double DEFAULT_LOW_ELEVATION_THRESHOLD
Default lowest acceptable elevation angle [rad].- See Also:
- Constant Field Values
-
-
Method Detail
-
pathDelay
public TroposphericDelay pathDelay(TrackingCoordinates trackingCoordinates, GeodeticPoint point, PressureTemperatureHumidity weather, double[] parameters, AbsoluteDate date)
Calculates the tropospheric path delay for the signal path from a ground station to a satellite.The Saastamoinen model is not defined for altitudes below 0.0. for continuity reasons, we use the value for h = 0 when altitude is negative.
There are also numerical issues for elevation angles close to zero. For continuity reasons, elevations lower than a threshold will use the value obtained for the threshold itself.
- Specified by:
pathDelay
in interfaceTroposphericModel
- Parameters:
trackingCoordinates
- tracking coordinates of the satellitepoint
- station locationweather
- weather parameters for constant default values)parameters
- tropospheric model parametersdate
- current date- Returns:
- the path delay due to the troposphere
- See Also:
getLowElevationThreshold()
,setLowElevationThreshold(double)
-
pathDelay
public <T extends CalculusFieldElement<T>> FieldTroposphericDelay<T> pathDelay(FieldTrackingCoordinates<T> trackingCoordinates, FieldGeodeticPoint<T> point, FieldPressureTemperatureHumidity<T> weather, T[] parameters, FieldAbsoluteDate<T> date)
Calculates the tropospheric path delay for the signal path from a ground station to a satellite.The Saastamoinen model is not defined for altitudes below 0.0. for continuity reasons, we use the value for h = 0 when altitude is negative.
There are also numerical issues for elevation angles close to zero. For continuity reasons, elevations lower than a threshold will use the value obtained for the threshold itself.
- Specified by:
pathDelay
in interfaceTroposphericModel
- Type Parameters:
T
- type of the elements- Parameters:
trackingCoordinates
- tracking coordinates of the satellitepoint
- station locationweather
- weather parameters for constant default values)parameters
- tropospheric model parameters at current datedate
- current date- Returns:
- the path delay due to the troposphere
- See Also:
getLowElevationThreshold()
,setLowElevationThreshold(double)
-
getParametersDrivers
public List<ParameterDriver> getParametersDrivers()
Get the drivers for parameters.- Specified by:
getParametersDrivers
in interfaceParameterDriversProvider
- Returns:
- drivers for parameters
-
getLowElevationThreshold
public double getLowElevationThreshold()
Get the low elevation threshold value for path delay computation.
-
setLowElevationThreshold
public void setLowElevationThreshold(double lowElevationThreshold)
Set the low elevation threshold value for path delay computation.- Parameters:
lowElevationThreshold
- The new value for the threshold [rad]- See Also:
pathDelay(TrackingCoordinates, GeodeticPoint, PressureTemperatureHumidity, double[], AbsoluteDate)
,pathDelay(FieldTrackingCoordinates, FieldGeodeticPoint, FieldPressureTemperatureHumidity, CalculusFieldElement[], FieldAbsoluteDate)
-
-