#include <TropModel.hpp>
Inheritance diagram for MOPSTropModel:


This model is described in the RTCA "Minimum Operational Performance Standards" (MOPS), version C (RTCA/DO-229C), in Appendix A.4.2.4. Although originally developed for SBAS systems (EGNOS, WAAS), it may be suitable for other uses as well.
This model needs the day of year, satellite elevation (degrees), receiver height over mean sea level (meters) and receiver latitude in order to start computing.
On the other hand, the outputs are the tropospheric correction (in meters) and the sigma-squared of tropospheric delay residual error (meters^2).
A typical way to use this model follows:
MOPSTropModel mopsTM; mopsTM.setReceiverLatitude(lat); mopsTM.setReceiverHeight(height); mopsTM.setDayOfYear(doy);
Once all the basic model parameters are set (latitude, height and day of year), then we are able to compute the tropospheric correction as a function of elevation:
trop = mopsTM.correction(elevation);
Definition at line 1170 of file TropModel.hpp.
Public Member Functions | |
| MOPSTropModel (void) | |
| Empty constructor. | |
| MOPSTropModel (const double &ht) | |
| Constructor to create a MOPS trop model providing just the height of the receiver above mean sea level. | |
| MOPSTropModel (const double &ht, const double &lat, const int &doy) | |
| Constructor to create a MOPS trop model providing the height of the receiver above mean sea level (as defined by ellipsoid model), its latitude and the day of year. | |
| MOPSTropModel (const Position &RX, const DayTime &time) | |
| Constructor to create a MOPS trop model providing the position of the receiver and current time. | |
| virtual double | correction (double elevation) const throw (InvalidTropModel) |
| Compute and return the full tropospheric delay. | |
| virtual double | correction (const Position &RX, const Position &SV) throw (InvalidTropModel) |
| Compute and return the full tropospheric delay, given the positions of receiver and satellite. | |
| virtual double | correction (const Position &RX, const Position &SV, const DayTime &tt) throw (InvalidTropModel) |
| Compute and return the full tropospheric delay, given the positions of receiver and satellite and the time tag. | |
| virtual double | correction (const Position &RX, const Position &SV, const int &doy) throw (InvalidTropModel) |
| Compute and return the full tropospheric delay, given the positions of receiver and satellite and the day of the year. | |
| virtual double | correction (const Xvt &RX, const Xvt &SV) throw (InvalidTropModel) |
| virtual double | correction (const Xvt &RX, const Xvt &SV, const DayTime &tt) throw (InvalidTropModel) |
| virtual double | correction (const Xvt &RX, const Xvt &SV, const int &doy) throw (InvalidTropModel) |
| virtual double | dry_zenith_delay (void) const throw (InvalidTropModel) |
| Compute and return the zenith delay for dry component of the troposphere. | |
| virtual double | wet_zenith_delay (void) const throw (InvalidTropModel) |
| Compute and return the zenith delay for wet component of the troposphere. | |
| void | setWeather () throw (InvalidTropModel) |
| This method configure the model to estimate the weather using height, latitude and day of year (DOY). | |
| virtual void | setWeather (const double &T, const double &P, const double &H) throw (InvalidParameter) |
| In MOPS tropospheric model, this is a dummy method kept here just for consistency. | |
| virtual void | setWeather (const WxObservation &wx) throw (InvalidParameter) |
| In MOPS tropospheric model, this is a dummy method kept here just for consistency. | |
| virtual void | setReceiverHeight (const double &ht) |
| Define the receiver height; this is required before calling correction() or any of the zenith_delay routines. | |
| virtual void | setReceiverLatitude (const double &lat) |
| Define the receiver latitude; this is required before calling correction() or any of the zenith_delay routines. | |
| virtual void | setDayOfYear (const int &doy) |
| Set the time when tropospheric correction will be computed for, in days of the year. | |
| virtual void | setDayOfYear (const DayTime &time) |
| Set the time when tropospheric correction will be computed for, in days of the year. | |
| virtual void | setAllParameters (const DayTime &time, const Position &rxPos) |
| Convenient method to set all model parameters in one pass. | |
| double | MOPSsigma2 (double elevation) throw (TropModel::InvalidTropModel) |
| Compute and return the sigma-squared value of tropospheric delay residual error (meters^2). | |
|
|
Empty constructor.
Definition at line 1928 of file TropModel.cpp. |
|
|
Constructor to create a MOPS trop model providing just the height of the receiver above mean sea level. The other parameters must be set with the appropriate set methods before calling correction methods.
Definition at line 1185 of file TropModel.hpp. |
|
||||||||||||||||
|
Constructor to create a MOPS trop model providing the height of the receiver above mean sea level (as defined by ellipsoid model), its latitude and the day of year.
Definition at line 1945 of file TropModel.cpp. References MOPSTropModel::setDayOfYear(), MOPSTropModel::setReceiverHeight(), and MOPSTropModel::setReceiverLatitude(). |
|
||||||||||||
|
Constructor to create a MOPS trop model providing the position of the receiver and current time.
Definition at line 1961 of file TropModel.cpp. References Position::getAltitude(), Position::getGeodeticLatitude(), MOPSTropModel::setDayOfYear(), MOPSTropModel::setReceiverHeight(), and MOPSTropModel::setReceiverLatitude(). |
|
||||||||||||||||
|
Definition at line 2130 of file TropModel.cpp. |
|
||||||||||||||||
|
Reimplemented from GCATTropModel. Definition at line 2107 of file TropModel.cpp. |
|
||||||||||||
|
Definition at line 2087 of file TropModel.cpp. |
|
||||||||||||||||
|
Compute and return the full tropospheric delay, given the positions of receiver and satellite and the day of the year. 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 latitude) and passes them to appropriate methods.
Definition at line 2068 of file TropModel.cpp. |
|
||||||||||||||||
|
Compute and return the full tropospheric delay, given the positions of receiver and satellite and the time tag. 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 latitude) and passes them to appropriate methods.
Reimplemented from GCATTropModel. Definition at line 2048 of file TropModel.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 latitude) and passes them to appropriate methods. You must set time using method setReceiverDOY() before calling this method.
Reimplemented from GCATTropModel. Definition at line 2008 of file TropModel.cpp. References GPSTK_RETHROW. |
|
|
Compute and return the full tropospheric delay. The receiver height, latitude and Day oy Year must has been set before using the appropriate constructor or the provided methods.
Reimplemented from GCATTropModel. Definition at line 1974 of file TropModel.cpp. |
|
|
Compute and return the zenith delay for dry component of the troposphere.
Reimplemented from GCATTropModel. Definition at line 2144 of file TropModel.cpp. References gpstk::beta(), and gpstk::pow(). |
|
|
Compute and return the sigma-squared value of tropospheric delay residual error (meters^2).
Definition at line 2348 of file TropModel.cpp. |
|
||||||||||||
|
Convenient method to set all model parameters in one pass.
Definition at line 2324 of file TropModel.cpp. References DayTime::DOY(), Position::getGeodeticLatitude(), Position::getHeight(), and MOPSTropModel::setWeather(). |
|
|
Set the time when tropospheric correction will be computed for, in days of the year.
Definition at line 2305 of file TropModel.cpp. References DayTime::DOY(), and MOPSTropModel::setWeather(). |
|
|
Set the time when tropospheric correction will be computed for, in days of the year.
Reimplemented from TropModel. Definition at line 2278 of file TropModel.cpp. References MOPSTropModel::setWeather(). Referenced by MOPSTropModel::MOPSTropModel(). |
|
|
Define the receiver height; this is required before calling correction() or any of the zenith_delay routines.
Reimplemented from GCATTropModel. Definition at line 2240 of file TropModel.cpp. References MOPSTropModel::setWeather(). Referenced by MOPSTropModel::MOPSTropModel(). |
|
|
Define the receiver latitude; this is required before calling correction() or any of the zenith_delay routines.
Reimplemented from TropModel. Definition at line 2259 of file TropModel.cpp. References MOPSTropModel::setWeather(). Referenced by MOPSTropModel::MOPSTropModel(). |
|
|
In MOPS tropospheric model, this is a dummy method kept here just for consistency.
Reimplemented from GCATTropModel. Definition at line 1358 of file TropModel.hpp. |
|
||||||||||||||||
|
In MOPS tropospheric model, this is a dummy method kept here just for consistency.
Reimplemented from GCATTropModel. Definition at line 1350 of file TropModel.hpp. |
|
|
This method configure the model to estimate the weather using height, latitude and day of year (DOY). It is called automatically when setting those parameters. Definition at line 2202 of file TropModel.cpp. References GPSTK_RETHROW. Referenced by MOPSTropModel::setAllParameters(), MOPSTropModel::setDayOfYear(), MOPSTropModel::setReceiverHeight(), and MOPSTropModel::setReceiverLatitude(). |
|
|
Compute and return the zenith delay for wet component of the troposphere.
Reimplemented from GCATTropModel. Definition at line 2172 of file TropModel.cpp. References gpstk::beta(), and gpstk::pow(). |
1.3.9.1