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


Paul Collins and Richard B. Langley, Technical Report No. 187, Dept. of Geodesy and Geomatics Engineering, University of New Brunswick, 1997. See particularly Appendix C.
This model includes a wet and dry component, and was designed for the user without access to measurements of temperature, pressure and relative humidity at ground level. Input of the receiver latitude, day of year and height above the ellipsoid are required, because the mapping functions depend on these quantities. In addition, if the weather (T,P,H) are not explicitly provided, this model interpolates a table of values, using latitude and day of year, to get the ground level weather parameters.
Usually, the caller will set the latitude and day of year at the same time the weather is set (if weather is available):
NBTropModel nb; nb.setReceiverLatitude(lat); nb.setDayOfYear(doy); nb.setWeather(T,P,H); // OPTIONAL
Then, when the correction (and/or delay and map) is computed, receiver height should be set before the call to correction(elevation):
nb.setReceiverHeight(height); trop = nb.correction(elevation);
NB in this model, units of 'temp' are degrees Kelvin, and 'humid' is the water vapor partial pressure.
Definition at line 623 of file TropModel.hpp.
Public Member Functions | |
| NBTropModel (void) | |
| Empty constructor. | |
| NBTropModel (const double &lat, const int &day) | |
| Create a trop model using the minimum information: latitude and doy. | |
| NBTropModel (const double &lat, const int &day, const WxObservation &wx) throw (InvalidParameter) | |
| Create a trop model with weather. | |
| NBTropModel (const double &lat, const int &day, const double &T, const double &P, const double &H) throw (InvalidParameter) | |
| Create a tropospheric model from explicit weather data. | |
| NBTropModel (const double &ht, const double &lat, const int &day) | |
| Create a valid model from explicit input (weather will be estimated internally by this model). | |
| virtual double | correction (double elevation) const throw (InvalidTropModel) |
| Compute and return the full tropospheric delay. | |
| 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 Xvt &RX, const Xvt &SV, const DayTime &tt) 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. | |
| virtual double | dry_mapping_function (double elevation) const throw (InvalidTropModel) |
| Compute and return the mapping function for dry component of the troposphere. | |
| virtual double | wet_mapping_function (double elevation) const throw (InvalidTropModel) |
| Compute and return the mapping function for wet component of the troposphere. | |
| virtual void | setWeather (const WxObservation &wx) throw (InvalidParameter) |
| Re-define the tropospheric model with explicit weather data. | |
| virtual void | setWeather (const double &T, const double &P, const double &H) throw (InvalidParameter) |
| Define the weather data; typically called just before correction(). | |
| void | setWeather () throw (InvalidTropModel) |
| configure the model to estimate the weather using lat and doy | |
| void | setReceiverHeight (const double &ht) |
| Define the receiver height; this required before calling correction() or any of the zenith_delay or mapping_function routines. | |
| void | setReceiverLatitude (const double &lat) |
| Define the latitude of the receiver; this is required before calling correction() or any of the zenith_delay or mapping_function routines. | |
| void | setDayOfYear (const int &d) |
| Define the day of year; this is required before calling correction() or any of the zenith_delay or mapping_function routines. | |
|
|
Empty constructor.
Definition at line 919 of file TropModel.cpp. |
|
||||||||||||
|
Create a trop model using the minimum information: latitude and doy. Interpolate the weather unless setWeather (optional) is called.
Definition at line 931 of file TropModel.cpp. References NBTropModel::setDayOfYear(), NBTropModel::setReceiverLatitude(), and NBTropModel::setWeather(). |
|
||||||||||||||||
|
Create a trop model with weather.
Definition at line 944 of file TropModel.cpp. |
|
||||||||||||||||||||||||
|
Create a tropospheric model from explicit weather data.
Definition at line 961 of file TropModel.cpp. |
|
||||||||||||||||
|
Create a valid model from explicit input (weather will be estimated internally by this model).
Definition at line 979 of file TropModel.cpp. References NBTropModel::setDayOfYear(), NBTropModel::setReceiverHeight(), NBTropModel::setReceiverLatitude(), and NBTropModel::setWeather(). |
|
||||||||||||||||
|
Reimplemented from TropModel. Definition at line 1056 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 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.
Reimplemented from TropModel. Definition at line 1019 of file TropModel.cpp. References GPSTK_THROW. |
|
|
Compute and return the full tropospheric delay.
Reimplemented from TropModel. Definition at line 990 of file TropModel.cpp. References GPSTK_THROW. |
|
|
Compute and return the mapping function for dry component of the troposphere.
Implements TropModel. Definition at line 1126 of file TropModel.cpp. References ABS, GPSTK_THROW, gpstk::Mad, gpstk::Mbd, gpstk::Mcd, and gpstk::sin(). |
|
|
Compute and return the zenith delay for dry component of the troposphere.
Implements TropModel. Definition at line 1066 of file TropModel.cpp. References gpstk::beta(), gpstk::cos(), gpstk::exp(), GPSTK_THROW, log, and gpstk::ZB. |
|
|
Define the day of year; this is required before calling correction() or any of the zenith_delay or mapping_function routines.
Reimplemented from TropModel. Definition at line 1280 of file TropModel.cpp. References NBTropModel::setWeather(). Referenced by NBTropModel::NBTropModel(). |
|
|
Define the receiver height; this required before calling correction() or any of the zenith_delay or mapping_function routines.
Reimplemented from TropModel. Definition at line 1258 of file TropModel.cpp. References NBTropModel::setWeather(). Referenced by NBTropModel::NBTropModel(). |
|
|
Define the latitude of the receiver; this is required before calling correction() or any of the zenith_delay or mapping_function routines.
Reimplemented from TropModel. Definition at line 1269 of file TropModel.cpp. References NBTropModel::setWeather(). Referenced by NBTropModel::NBTropModel(). |
|
|
configure the model to estimate the weather using lat and doy
Definition at line 1233 of file TropModel.cpp. References GPSTK_THROW, gpstk::ZP, gpstk::ZT, and gpstk::ZW. Referenced by NBTropModel::NBTropModel(), NBTropModel::setDayOfYear(), NBTropModel::setReceiverHeight(), and NBTropModel::setReceiverLatitude(). |
|
||||||||||||||||
|
Define the weather data; typically called just before correction().
Reimplemented from TropModel. Definition at line 1193 of file TropModel.cpp. References gpstk::exp(). |
|
|
Re-define the tropospheric model with explicit weather data. Typically called just before correction().
Reimplemented from TropModel. Definition at line 1211 of file TropModel.cpp. References gpstk::exp(), and GPSTK_RETHROW. |
|
|
Compute and return the mapping function for wet component of the troposphere.
Implements TropModel. Definition at line 1163 of file TropModel.cpp. References GPSTK_THROW, gpstk::Maw, gpstk::Mbw, gpstk::Mcw, and gpstk::sin(). |
|
|
Compute and return the zenith delay for wet component of the troposphere.
Implements TropModel. Definition at line 1094 of file TropModel.cpp. References gpstk::beta(), gpstk::cos(), gpstk::exp(), GPSTK_THROW, log, gpstk::ZB, and gpstk::ZL. |
1.3.9.1