Public Member Functions | Private Attributes | List of all members
gnsstk::GCATTropModel Class Reference

Detailed Description

Tropospheric model implemented in "GPS Code Analysis Tool" (GCAT) software.

This model is described in the book "GPS Data processing: code and phase Algorithms, Techniques and Recipes" by Hernandez-Pajares, M., J.M. Juan-Zornoza and Sanz-Subirana, J. See Chapter 5.

This book and associated software are freely available at:

http://gage152.upc.es/~manuel/tdgps/tdgps.html

This is a simple but efective model composed of the wet and dry vertical tropospheric delays as defined in Gipsy/Oasis-II GPS analysis software, and the mapping function as defined by Black and Eisner (H. D. Black, A. Eisner. Correcting Satellite Doppler Data for Tropospheric Effects. Journal of Geophysical Research. Vol 89. 1984.) and used in MOPS (RTCA/DO-229C) standards.

Usually, the caller will set the receiver height using setReceiverHeight() method, and then call the correction() method with the satellite elevation as parameter.

GCATTropModel gcatTM();
...
gcatTM.setReceiverHeight(150.0);
trop = gcatTM.correction(elevation);

Another posibility is to set the receiver height when calling the constructor.

GCATTropModel gcatTM(150.0); // Receiver height is 150.0 meters
...
trop = gcatTM.correction(elevation);

Definition at line 85 of file GCATTropModel.hpp.

#include <GCATTropModel.hpp>

Inheritance diagram for gnsstk::GCATTropModel:
Inheritance graph
[legend]

Public Member Functions

virtual double correction (const Position &RX, const Position &SV)
 
virtual double correction (const Position &RX, const Position &SV, const CommonTime &tt)
 
virtual double correction (const Xvt &RX, const Xvt &SV, const CommonTime &tt)
 
virtual double correction (double elevation) const
 
virtual double dry_mapping_function (double elevation) const
 
virtual double dry_zenith_delay () const
 
 GCATTropModel ()
 Empty constructor. More...
 
 GCATTropModel (const double &ht)
 
virtual double mapping_function (double elevation) const
 
virtual std::string name ()
 Return the name of the model. More...
 
virtual void setReceiverHeight (const double &ht)
 
virtual void setWeather (const double &T, const double &P, const double &H)
 
virtual void setWeather (const WxObservation &wx)
 
virtual double wet_mapping_function (double elevation) const
 
virtual double wet_zenith_delay () const
 
- Public Member Functions inherited from gnsstk::TropModel
bool isValid ()
 Return validity of model. More...
 
double SaasDryDelay (const double pr, const double lat, const double ht) const
 
virtual void setDayOfYear (const int &d)
 
virtual void setReceiverLatitude (const double &lat)
 
virtual void setReceiverLongitude (const double &lon)
 
virtual ~TropModel ()
 Destructor. More...
 

Private Attributes

double gcatHeight
 Receiver height. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from gnsstk::TropModel
static void weatherByStandardAtmosphereModel (const double &ht, double &T, double &P, double &H)
 
- Static Public Attributes inherited from gnsstk::TropModel
static const GNSSTK_EXPORT double CELSIUS_TO_KELVIN = 273.15
 
- Protected Attributes inherited from gnsstk::TropModel
double humid
 latest value of relative humidity (percent) More...
 
double press
 latest value of pressure (millibars) More...
 
double temp
 latest value of temperature (kelvin or celsius) More...
 
bool valid
 true only if current model parameters are valid More...
 

Constructor & Destructor Documentation

◆ GCATTropModel() [1/2]

gnsstk::GCATTropModel::GCATTropModel ( )
inline

Empty constructor.

Definition at line 91 of file GCATTropModel.hpp.

◆ GCATTropModel() [2/2]

gnsstk::GCATTropModel::GCATTropModel ( const double &  ht)

Constructor to create a GCAT trop model providing the height of the receiver above mean sea level (as defined by ellipsoid model).

Parameters
htHeight of the receiver above mean sea level, in meters.

Definition at line 44 of file GCATTropModel.cpp.

Member Function Documentation

◆ correction() [1/4]

double gnsstk::GCATTropModel::correction ( const Position RX,
const Position SV 
)
virtual

Compute and return the full tropospheric delay, given the positions of receiver and satellite. This version is most useful within positioning algorithms, where the receiver position may vary; it computes the elevation (and other receiver location information as height) and passes them to setReceiverHeight() method and correction(elevation) method.

Parameters
RXReceiver position
SVSatellite position
Returns
The tropospheric delay in meters
Exceptions
InvalidTropModel

Reimplemented in gnsstk::MOPSTropModel.

Definition at line 62 of file GCATTropModel.cpp.

◆ correction() [2/4]

virtual double gnsstk::GCATTropModel::correction ( const Position RX,
const Position SV,
const CommonTime tt 
)
inlinevirtual

Compute and return the full tropospheric delay, in meters, given the positions of receiver and satellite and the time tag. This version is most useful within positioning algorithms, where the receiver position and timetag may vary; it computes the elevation (and other receiver location information) and passes them to appropriate set...() routines and the correction(elevation) routine.

Parameters
RXReceiver position
SVSatellite position
ttTime tag of the signal
Returns
The tropospheric delay (meters)
Exceptions
InvalidTropModel
Note
This model does not use time. The tt parameter is a dummy parameter kept just for consistency

Reimplemented from gnsstk::TropModel.

Reimplemented in gnsstk::MOPSTropModel.

Definition at line 137 of file GCATTropModel.hpp.

◆ correction() [3/4]

double gnsstk::GCATTropModel::correction ( const Xvt RX,
const Xvt SV,
const CommonTime tt 
)
virtual

Compute and return the full tropospheric delay, in meters, given the positions of receiver and satellite and the time tag.

Deprecated:
This method is deprecated. Use correction(const Position&,const Position&,const CommonTime&) instead.

This version is most useful within positioning algorithms, where the receiver position and timetag may vary; it computes the elevation (and other receiver location information) and passes them to appropriate set...() routines and the correction(elevation) routine.

Parameters
RXReceiver position in ECEF cartesian coordinates (meters)
SVSatellite position in ECEF cartesian coordinates (meters)
ttTime tag of the signal
Returns
The tropospheric delay (meters)
Exceptions
InvalidTropModel
Note
This model does not use time. The tt parameter is a dummy parameter kept just for consistency

Reimplemented from gnsstk::TropModel.

Reimplemented in gnsstk::MOPSTropModel.

Definition at line 92 of file GCATTropModel.cpp.

◆ correction() [4/4]

double gnsstk::GCATTropModel::correction ( double  elevation) const
virtual

Compute and return the full tropospheric delay, in meters

Parameters
elevationElevation of satellite as seen at receiver, in degrees
Returns
The tropospheric delay (meters)
Exceptions
InvalidTropModel
Note
The receiver height must have been provided before, whether using the appropriate constructor or with the setReceiverHeight() method.

Reimplemented from gnsstk::TropModel.

Reimplemented in gnsstk::MOPSTropModel.

Definition at line 51 of file GCATTropModel.cpp.

◆ dry_mapping_function()

virtual double gnsstk::GCATTropModel::dry_mapping_function ( double  elevation) const
inlinevirtual

Compute and return the mapping function for hydrostatic (dry) component of the troposphere, in meters.

Parameters
elevationElevation of satellite as seen at receiver, in degrees
Exceptions
InvalidTropModel

Implements gnsstk::TropModel.

Definition at line 173 of file GCATTropModel.hpp.

◆ dry_zenith_delay()

double gnsstk::GCATTropModel::dry_zenith_delay ( ) const
virtual

Compute and return the zenith delay for hydrostatic (dry) component of the troposphere, in meters.

Exceptions
InvalidTropModel

Implements gnsstk::TropModel.

Reimplemented in gnsstk::MOPSTropModel.

Definition at line 103 of file GCATTropModel.cpp.

◆ mapping_function()

double gnsstk::GCATTropModel::mapping_function ( double  elevation) const
virtual

Compute and return the mapping function for both components of the troposphere.

Parameters
elevationElevation of satellite as seen at receiver, in degrees
Exceptions
InvalidTropModel

Definition at line 113 of file GCATTropModel.cpp.

◆ name()

virtual std::string gnsstk::GCATTropModel::name ( )
inlinevirtual

Return the name of the model.

Reimplemented from gnsstk::TropModel.

Reimplemented in gnsstk::MOPSTropModel.

Definition at line 104 of file GCATTropModel.hpp.

◆ setReceiverHeight()

void gnsstk::GCATTropModel::setReceiverHeight ( const double &  ht)
virtual

Define the receiver height; this is required by some models before calling correction() or any of the zenith_delay or mapping_function routines.

Parameters
htHeight of the receiver above mean sea level, in meters.

Reimplemented from gnsstk::TropModel.

Reimplemented in gnsstk::MOPSTropModel.

Definition at line 126 of file GCATTropModel.cpp.

◆ setWeather() [1/2]

virtual void gnsstk::GCATTropModel::setWeather ( const double &  T,
const double &  P,
const double &  H 
)
inlinevirtual

In GCAT tropospheric model, this is a dummy method kept here just for consistency.

Exceptions
InvalidParameter

Reimplemented from gnsstk::TropModel.

Reimplemented in gnsstk::MOPSTropModel.

Definition at line 186 of file GCATTropModel.hpp.

◆ setWeather() [2/2]

virtual void gnsstk::GCATTropModel::setWeather ( const WxObservation wx)
inlinevirtual

In GCAT tropospheric model, this is a dummy method kept here just for consistency.

Exceptions
InvalidParameter

Reimplemented from gnsstk::TropModel.

Reimplemented in gnsstk::MOPSTropModel.

Definition at line 196 of file GCATTropModel.hpp.

◆ wet_mapping_function()

virtual double gnsstk::GCATTropModel::wet_mapping_function ( double  elevation) const
inlinevirtual

Compute and return the mapping function for wet component of the troposphere, in meters.

Parameters
elevationElevation of satellite as seen at receiver, in degrees
Exceptions
InvalidTropModel

Implements gnsstk::TropModel.

Definition at line 178 of file GCATTropModel.hpp.

◆ wet_zenith_delay()

virtual double gnsstk::GCATTropModel::wet_zenith_delay ( ) const
inlinevirtual

Compute and return the zenith delay for wet component of the troposphere, in meters.

Exceptions
InvalidTropModel

Implements gnsstk::TropModel.

Reimplemented in gnsstk::MOPSTropModel.

Definition at line 158 of file GCATTropModel.hpp.

Member Data Documentation

◆ gcatHeight

double gnsstk::GCATTropModel::gcatHeight
private

Receiver height.

Definition at line 207 of file GCATTropModel.hpp.


The documentation for this class was generated from the following files:
gnsstk::GCATTropModel::GCATTropModel
GCATTropModel()
Empty constructor.
Definition: GCATTropModel.hpp:91


gnsstk
Author(s):
autogenerated on Wed Oct 25 2023 02:40:44