public class SaastamoinenModel extends Object implements DiscreteTroposphericModel
δ = 2.277e-3 / cos z * (P + (1255 / T + 0.05) * e - B * tan² z) + δRwith the following input data provided to the model:
The model supports custom δR correction terms to be read from a
configuration file (saastamoinen-correction.txt) via the
DataProvidersManager
.
Modifier and Type | Field and Description |
---|---|
static double |
DEFAULT_LOW_ELEVATION_THRESHOLD
Default lowest acceptable elevation angle [rad].
|
static String |
DELTA_R_FILE_NAME
Default file name for δR correction term table.
|
Constructor and Description |
---|
SaastamoinenModel(double t0,
double p0,
double r0)
Create a new Saastamoinen model for the troposphere using the given environmental
conditions and table from the reference book.
|
SaastamoinenModel(double t0,
double p0,
double r0,
String deltaRFileName)
Create a new Saastamoinen model for the troposphere using the given
environmental conditions.
|
SaastamoinenModel(double t0,
double p0,
double r0,
String deltaRFileName,
DataProvidersManager dataProvidersManager)
Create a new Saastamoinen model for the troposphere using the given
environmental conditions.
|
Modifier and Type | Method and Description |
---|---|
double |
getLowElevationThreshold()
Get the low elevation threshold value for path delay computation.
|
List<ParameterDriver> |
getParametersDrivers()
Get the drivers for tropospheric model parameters.
|
static SaastamoinenModel |
getStandardModel()
Create a new Saastamoinen model using a standard atmosphere model.
|
double |
pathDelay(double elevation,
GeodeticPoint point,
double[] parameters,
AbsoluteDate date)
Calculates the tropospheric path delay for the signal path from a ground
station to a satellite.
|
<T extends CalculusFieldElement<T>> |
pathDelay(T elevation,
FieldGeodeticPoint<T> point,
T[] parameters,
FieldAbsoluteDate<T> 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.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getParameters, getParameters
public static final String DELTA_R_FILE_NAME
public static final double DEFAULT_LOW_ELEVATION_THRESHOLD
public SaastamoinenModel(double t0, double p0, double r0)
t0
- the temperature at the station [K]p0
- the atmospheric pressure at the station [mbar]r0
- the humidity at the station [fraction] (50% -> 0.5)SaastamoinenModel(double, double, double, String, DataProvidersManager)
@DefaultDataContext public SaastamoinenModel(double t0, double p0, double r0, String deltaRFileName)
default data context
if deltaRFileName != null
.t0
- the temperature at the station [K]p0
- the atmospheric pressure at the station [mbar]r0
- the humidity at the station [fraction] (50% -> 0.5)deltaRFileName
- regular expression for filename containing δR
correction term table (typically DELTA_R_FILE_NAME
), if null
default values from the reference book are usedSaastamoinenModel(double, double, double, String, DataProvidersManager)
public SaastamoinenModel(double t0, double p0, double r0, String deltaRFileName, DataProvidersManager dataProvidersManager)
t0
- the temperature at the station [K]p0
- the atmospheric pressure at the station [mbar]r0
- the humidity at the station [fraction] (50% -> 0.5)deltaRFileName
- regular expression for filename containing δR
correction term table (typically DELTA_R_FILE_NAME
), if null
default values from the reference book are useddataProvidersManager
- provides access to auxiliary data.public static SaastamoinenModel getStandardModel()
public double pathDelay(double elevation, GeodeticPoint point, double[] parameters, AbsoluteDate date)
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.
pathDelay
in interface DiscreteTroposphericModel
elevation
- the elevation of the satellite, in radianspoint
- station locationparameters
- tropospheric model parametersdate
- current dategetLowElevationThreshold()
,
setLowElevationThreshold(double)
public <T extends CalculusFieldElement<T>> T pathDelay(T elevation, FieldGeodeticPoint<T> point, T[] parameters, FieldAbsoluteDate<T> date)
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.
pathDelay
in interface DiscreteTroposphericModel
T
- type of the elementselevation
- the elevation of the satellite, in radianspoint
- station locationparameters
- tropospheric model parametersdate
- current dategetLowElevationThreshold()
,
setLowElevationThreshold(double)
public List<ParameterDriver> getParametersDrivers()
getParametersDrivers
in interface DiscreteTroposphericModel
public double getLowElevationThreshold()
pathDelay(double, GeodeticPoint, double[], AbsoluteDate)
,
pathDelay(CalculusFieldElement, FieldGeodeticPoint, CalculusFieldElement[], FieldAbsoluteDate)
public void setLowElevationThreshold(double lowElevationThreshold)
lowElevationThreshold
- The new value for the threshold [rad]pathDelay(double, GeodeticPoint, double[], AbsoluteDate)
,
pathDelay(CalculusFieldElement, FieldGeodeticPoint, CalculusFieldElement[], FieldAbsoluteDate)
Copyright © 2002-2022 CS GROUP. All rights reserved.