Tropospheric model with heights based on Goad and Goodman(1974), "A Modified Hopfield Tropospheric Refraction Correction Model," Paper presented at the Fall Annual Meeting of the American Geophysical Union, San Francisco, December 1974.
(Not the same as GGTropModel because this has height dependence, and the computation of this model does not break cleanly into wet and dry components.)
And when the correction (and/or delay and map) is computed, receiver height is set before the call to correction(elevation):
Definition at line 77 of file GGHeightTropModel.hpp.
#include <GGHeightTropModel.hpp>
Public Member Functions | |
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 |
GGHeightTropModel () | |
Empty constructor. More... | |
GGHeightTropModel (const double &T, const double &P, const double &H) | |
GGHeightTropModel (const double &T, const double &P, const double &H, const double hT, const double hP, const double hH) | |
GGHeightTropModel (const WxObservation &wx) | |
virtual std::string | name () |
Return the name of the model. More... | |
void | setHeights (const double &hT, const double &hP, const double &hH) |
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 | height |
height (m) of the receiver More... | |
double | hhumid |
height (m) at which humid applies More... | |
double | hpress |
height (m) at which press applies More... | |
double | htemp |
height (m) at which temp applies More... | |
bool | validHeights |
flag for valid height More... | |
bool | validRxHeight |
flag for valid receiver height More... | |
bool | validWeather |
flag for valid weather 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... | |
gnsstk::GGHeightTropModel::GGHeightTropModel | ( | ) |
Empty constructor.
Definition at line 52 of file GGHeightTropModel.cpp.
gnsstk::GGHeightTropModel::GGHeightTropModel | ( | const WxObservation & | wx | ) |
Creates a trop model, with weather observation input
wx | the weather to use for this correction. |
InvalidParameter |
Definition at line 60 of file GGHeightTropModel.cpp.
gnsstk::GGHeightTropModel::GGHeightTropModel | ( | const double & | T, |
const double & | P, | ||
const double & | H | ||
) |
Create a tropospheric model from explicit weather data
T | temperature in degrees Celsius |
P | atmospheric pressure in millibars |
H | relative humidity in percent |
InvalidParameter |
Definition at line 67 of file GGHeightTropModel.cpp.
gnsstk::GGHeightTropModel::GGHeightTropModel | ( | const double & | T, |
const double & | P, | ||
const double & | H, | ||
const double | hT, | ||
const double | hP, | ||
const double | hH | ||
) |
Create a valid model from explicit input.
T | temperature in degrees Celsius |
P | atmospheric pressure in millibars |
H | relative humidity in percent |
hT | height at which temperature applies in meters. |
hP | height at which atmospheric pressure applies in meters. |
hH | height at which relative humidity applies in meters. |
InvalidParameter |
Definition at line 76 of file GGHeightTropModel.cpp.
|
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 |
SV | Satellite position |
tt | Time tag of the signal |
InvalidTropModel |
Reimplemented from gnsstk::TropModel.
Definition at line 101 of file GGHeightTropModel.cpp.
|
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.
Definition at line 114 of file GGHeightTropModel.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.
Definition at line 89 of file GGHeightTropModel.cpp.
|
virtual |
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 167 of file GGHeightTropModel.cpp.
|
virtual |
Compute and return the zenith delay for hydrostatic (dry) component of the troposphere, in meters.
InvalidTropModel |
Implements gnsstk::TropModel.
Definition at line 123 of file GGHeightTropModel.cpp.
|
inlinevirtual |
Return the name of the model.
Reimplemented from gnsstk::TropModel.
Definition at line 116 of file GGHeightTropModel.hpp.
void gnsstk::GGHeightTropModel::setHeights | ( | const double & | hT, |
const double & | hP, | ||
const double & | hH | ||
) |
Re-define the heights at which the weather parameters apply. Typically called whenever setWeather is called.
hT | height at which temperature applies in meters. |
hP | height at which atmospheric pressure applies in meters. |
hH | height at which relative humidity applies in meters. |
Definition at line 288 of file GGHeightTropModel.cpp.
|
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.
Definition at line 300 of file GGHeightTropModel.cpp.
|
virtual |
Re-define the tropospheric model with explicit weather data. Typically called just before correction().
T | temperature in degrees Celsius |
P | atmospheric pressure in millibars |
H | relative humidity in percent |
InvalidParameter |
Reimplemented from gnsstk::TropModel.
Definition at line 254 of file GGHeightTropModel.cpp.
|
virtual |
Re-define the tropospheric model with explicit weather data. Typically called just before correction().
wx | the weather to use for this correction |
InvalidParameter |
Reimplemented from gnsstk::TropModel.
Definition at line 272 of file GGHeightTropModel.cpp.
|
virtual |
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 210 of file GGHeightTropModel.cpp.
|
virtual |
Compute and return the zenith delay for wet component of the troposphere, in meters.
InvalidTropModel |
Implements gnsstk::TropModel.
Definition at line 143 of file GGHeightTropModel.cpp.
|
private |
height (m) of the receiver
Definition at line 166 of file GGHeightTropModel.hpp.
|
private |
height (m) at which humid applies
Definition at line 169 of file GGHeightTropModel.hpp.
|
private |
height (m) at which press applies
Definition at line 168 of file GGHeightTropModel.hpp.
|
private |
height (m) at which temp applies
Definition at line 167 of file GGHeightTropModel.hpp.
|
private |
flag for valid height
Definition at line 171 of file GGHeightTropModel.hpp.
|
private |
flag for valid receiver height
Definition at line 172 of file GGHeightTropModel.hpp.
|
private |
flag for valid weather
Definition at line 170 of file GGHeightTropModel.hpp.