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.
Another posibility is to set the receiver height when calling the constructor.
Definition at line 85 of file GCATTropModel.hpp.
#include <GCATTropModel.hpp>
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 |
![]() | |
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 void | weatherByStandardAtmosphereModel (const double &ht, double &T, double &P, double &H) |
![]() | |
static const GNSSTK_EXPORT double | CELSIUS_TO_KELVIN = 273.15 |
![]() | |
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... | |
|
inline |
Empty constructor.
Definition at line 91 of file GCATTropModel.hpp.
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).
ht | Height of the receiver above mean sea level, in meters. |
Definition at line 44 of file GCATTropModel.cpp.
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.
RX | Receiver position |
SV | Satellite position |
InvalidTropModel |
Reimplemented in gnsstk::MOPSTropModel.
Definition at line 62 of file GCATTropModel.cpp.
|
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.
RX | Receiver position |
SV | Satellite position |
tt | Time tag of the signal |
InvalidTropModel |
Reimplemented from gnsstk::TropModel.
Reimplemented in gnsstk::MOPSTropModel.
Definition at line 137 of file GCATTropModel.hpp.
|
virtual |
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.
RX | Receiver position in ECEF cartesian coordinates (meters) |
SV | Satellite position in ECEF cartesian coordinates (meters) |
tt | Time tag of the signal |
InvalidTropModel |
Reimplemented from gnsstk::TropModel.
Reimplemented in gnsstk::MOPSTropModel.
Definition at line 92 of file GCATTropModel.cpp.
|
virtual |
Compute and return the full tropospheric delay, in meters
elevation | Elevation of satellite as seen at receiver, in degrees |
InvalidTropModel |
Reimplemented from gnsstk::TropModel.
Reimplemented in gnsstk::MOPSTropModel.
Definition at line 51 of file GCATTropModel.cpp.
|
inlinevirtual |
Compute and return the mapping function for hydrostatic (dry) component of the troposphere, in meters.
elevation | Elevation of satellite as seen at receiver, in degrees |
InvalidTropModel |
Implements gnsstk::TropModel.
Definition at line 173 of file GCATTropModel.hpp.
|
virtual |
Compute and return the zenith delay for hydrostatic (dry) component of the troposphere, in meters.
InvalidTropModel |
Implements gnsstk::TropModel.
Reimplemented in gnsstk::MOPSTropModel.
Definition at line 103 of file GCATTropModel.cpp.
|
virtual |
Compute and return the mapping function for both components of the troposphere.
elevation | Elevation of satellite as seen at receiver, in degrees |
InvalidTropModel |
Definition at line 113 of file GCATTropModel.cpp.
|
inlinevirtual |
Return the name of the model.
Reimplemented from gnsstk::TropModel.
Reimplemented in gnsstk::MOPSTropModel.
Definition at line 104 of file GCATTropModel.hpp.
|
virtual |
Define the receiver height; this is required by some models before calling correction() or any of the zenith_delay or mapping_function routines.
ht | Height 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.
|
inlinevirtual |
In GCAT tropospheric model, this is a dummy method kept here just for consistency.
InvalidParameter |
Reimplemented from gnsstk::TropModel.
Reimplemented in gnsstk::MOPSTropModel.
Definition at line 186 of file GCATTropModel.hpp.
|
inlinevirtual |
In GCAT tropospheric model, this is a dummy method kept here just for consistency.
InvalidParameter |
Reimplemented from gnsstk::TropModel.
Reimplemented in gnsstk::MOPSTropModel.
Definition at line 196 of file GCATTropModel.hpp.
|
inlinevirtual |
Compute and return the mapping function for wet component of the troposphere, in meters.
elevation | Elevation of satellite as seen at receiver, in degrees |
InvalidTropModel |
Implements gnsstk::TropModel.
Definition at line 178 of file GCATTropModel.hpp.
|
inlinevirtual |
Compute and return the zenith delay for wet component of the troposphere, in meters.
InvalidTropModel |
Implements gnsstk::TropModel.
Reimplemented in gnsstk::MOPSTropModel.
Definition at line 158 of file GCATTropModel.hpp.
|
private |
Receiver height.
Definition at line 207 of file GCATTropModel.hpp.