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[] |
computeZenithDelay(double height,
double[] parameters,
AbsoluteDate date)
This method allows the computation of the zenith hydrostatic and
zenith wet delay.
|
<T extends RealFieldElement<T>> |
computeZenithDelay(T height,
T[] parameters,
FieldAbsoluteDate<T> date)
This method allows the computation of the zenith hydrostatic and
zenith wet delay.
|
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[] |
mappingFactors(double elevation,
double height,
double[] parameters,
AbsoluteDate date)
This method allows the computation of the hydrostatic and
wet mapping functions.
|
<T extends RealFieldElement<T>> |
mappingFactors(T elevation,
T height,
T[] parameters,
FieldAbsoluteDate<T> date)
This method allows the computation of the hydrostatic and
wet mapping functions.
|
double |
pathDelay(double elevation,
double height,
double[] parameters,
AbsoluteDate date)
Calculates the tropospheric path delay for the signal path from a ground
station to a satellite.
|
<T extends RealFieldElement<T>> |
pathDelay(T elevation,
T height,
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, double height, 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 radiansheight
- the height of the station in m above sea levelparameters
- tropospheric model parameters.date
- current dategetLowElevationThreshold()
,
setLowElevationThreshold(double)
public <T extends RealFieldElement<T>> T pathDelay(T elevation, T height, 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 radiansheight
- the height of the station in m above sea levelparameters
- tropospheric model parameters.date
- current dategetLowElevationThreshold()
,
setLowElevationThreshold(double)
public double[] computeZenithDelay(double height, double[] parameters, AbsoluteDate date)
DiscreteTroposphericModel
computeZenithDelay
in interface DiscreteTroposphericModel
height
- the height of the station in m above sea level.parameters
- tropospheric model parameters.date
- current datepublic <T extends RealFieldElement<T>> T[] computeZenithDelay(T height, T[] parameters, FieldAbsoluteDate<T> date)
DiscreteTroposphericModel
computeZenithDelay
in interface DiscreteTroposphericModel
T
- type of the elementsheight
- the height of the station in m above sea level.parameters
- tropospheric model parameters.date
- current datepublic double[] mappingFactors(double elevation, double height, double[] parameters, AbsoluteDate date)
MappingFunction
mappingFactors
in interface MappingFunction
elevation
- the elevation of the satellite, in radians.height
- the height of the station in m above sea level.parameters
- tropospheric model parameters.date
- current datepublic <T extends RealFieldElement<T>> T[] mappingFactors(T elevation, T height, T[] parameters, FieldAbsoluteDate<T> date)
MappingFunction
mappingFactors
in interface MappingFunction
T
- type of the elementselevation
- the elevation of the satellite, in radians.height
- the height of the station in m above sea level.parameters
- tropospheric model parameters.date
- current datepublic List<ParameterDriver> getParametersDrivers()
MappingFunction
getParametersDrivers
in interface MappingFunction
public double getLowElevationThreshold()
pathDelay(double, double, double[], AbsoluteDate)
,
pathDelay(RealFieldElement, RealFieldElement, RealFieldElement[], FieldAbsoluteDate)
public void setLowElevationThreshold(double lowElevationThreshold)
lowElevationThreshold
- The new value for the threshold [rad]pathDelay(double, double, double[], AbsoluteDate)
,
pathDelay(RealFieldElement, RealFieldElement, RealFieldElement[], FieldAbsoluteDate)
Copyright © 2002-2020 CS GROUP. All rights reserved.