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

Detailed Description

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.)

Note
This model requires heights, both of the weather parameters, and of the receiver. Thus, usually, caller will set heights at the same time the weather is set:
ggh.setWeather(T,P,H);
ggh.setHeights(hT,hP,hH);

And when the correction (and/or delay and map) is computed, receiver height is set before the call to correction(elevation):

ggh.setReceiverHeight(height);
trop = ggh.correction(elevation);
Note
setReceiverHeight(ht) sets the 'weather heights' as well, if they are not already defined.

Definition at line 77 of file GGHeightTropModel.hpp.

#include <GGHeightTropModel.hpp>

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

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
 
- 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 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 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

◆ GGHeightTropModel() [1/4]

gnsstk::GGHeightTropModel::GGHeightTropModel ( )

Empty constructor.

Definition at line 52 of file GGHeightTropModel.cpp.

◆ GGHeightTropModel() [2/4]

gnsstk::GGHeightTropModel::GGHeightTropModel ( const WxObservation wx)

Creates a trop model, with weather observation input

Parameters
wxthe weather to use for this correction.
Exceptions
InvalidParameter

Definition at line 60 of file GGHeightTropModel.cpp.

◆ GGHeightTropModel() [3/4]

gnsstk::GGHeightTropModel::GGHeightTropModel ( const double &  T,
const double &  P,
const double &  H 
)

Create a tropospheric model from explicit weather data

Parameters
Ttemperature in degrees Celsius
Patmospheric pressure in millibars
Hrelative humidity in percent
Exceptions
InvalidParameter

Definition at line 67 of file GGHeightTropModel.cpp.

◆ GGHeightTropModel() [4/4]

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.

Parameters
Ttemperature in degrees Celsius
Patmospheric pressure in millibars
Hrelative humidity in percent
hTheight at which temperature applies in meters.
hPheight at which atmospheric pressure applies in meters.
hHheight at which relative humidity applies in meters.
Exceptions
InvalidParameter

Definition at line 76 of file GGHeightTropModel.cpp.

Member Function Documentation

◆ correction() [1/3]

double gnsstk::GGHeightTropModel::correction ( const Position RX,
const Position 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. 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

Reimplemented from gnsstk::TropModel.

Definition at line 101 of file GGHeightTropModel.cpp.

◆ correction() [2/3]

double gnsstk::GGHeightTropModel::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

Reimplemented from gnsstk::TropModel.

Definition at line 114 of file GGHeightTropModel.cpp.

◆ correction() [3/3]

double gnsstk::GGHeightTropModel::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

Reimplemented from gnsstk::TropModel.

Definition at line 89 of file GGHeightTropModel.cpp.

◆ dry_mapping_function()

double gnsstk::GGHeightTropModel::dry_mapping_function ( double  elevation) const
virtual

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 167 of file GGHeightTropModel.cpp.

◆ dry_zenith_delay()

double gnsstk::GGHeightTropModel::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.

Definition at line 123 of file GGHeightTropModel.cpp.

◆ name()

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

Return the name of the model.

Reimplemented from gnsstk::TropModel.

Definition at line 116 of file GGHeightTropModel.hpp.

◆ setHeights()

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.

Parameters
hTheight at which temperature applies in meters.
hPheight at which atmospheric pressure applies in meters.
hHheight at which relative humidity applies in meters.

Definition at line 288 of file GGHeightTropModel.cpp.

◆ setReceiverHeight()

void gnsstk::GGHeightTropModel::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.

Definition at line 300 of file GGHeightTropModel.cpp.

◆ setWeather() [1/2]

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

Re-define the tropospheric model with explicit weather data. Typically called just before correction().

Parameters
Ttemperature in degrees Celsius
Patmospheric pressure in millibars
Hrelative humidity in percent
Exceptions
InvalidParameter

Reimplemented from gnsstk::TropModel.

Definition at line 254 of file GGHeightTropModel.cpp.

◆ setWeather() [2/2]

void gnsstk::GGHeightTropModel::setWeather ( const WxObservation wx)
virtual

Re-define the tropospheric model with explicit weather data. Typically called just before correction().

Parameters
wxthe weather to use for this correction
Exceptions
InvalidParameter

Reimplemented from gnsstk::TropModel.

Definition at line 272 of file GGHeightTropModel.cpp.

◆ wet_mapping_function()

double gnsstk::GGHeightTropModel::wet_mapping_function ( double  elevation) const
virtual

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 210 of file GGHeightTropModel.cpp.

◆ wet_zenith_delay()

double gnsstk::GGHeightTropModel::wet_zenith_delay ( ) const
virtual

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

Exceptions
InvalidTropModel

Implements gnsstk::TropModel.

Definition at line 143 of file GGHeightTropModel.cpp.

Member Data Documentation

◆ height

double gnsstk::GGHeightTropModel::height
private

height (m) of the receiver

Definition at line 166 of file GGHeightTropModel.hpp.

◆ hhumid

double gnsstk::GGHeightTropModel::hhumid
private

height (m) at which humid applies

Definition at line 169 of file GGHeightTropModel.hpp.

◆ hpress

double gnsstk::GGHeightTropModel::hpress
private

height (m) at which press applies

Definition at line 168 of file GGHeightTropModel.hpp.

◆ htemp

double gnsstk::GGHeightTropModel::htemp
private

height (m) at which temp applies

Definition at line 167 of file GGHeightTropModel.hpp.

◆ validHeights

bool gnsstk::GGHeightTropModel::validHeights
private

flag for valid height

Definition at line 171 of file GGHeightTropModel.hpp.

◆ validRxHeight

bool gnsstk::GGHeightTropModel::validRxHeight
private

flag for valid receiver height

Definition at line 172 of file GGHeightTropModel.hpp.

◆ validWeather

bool gnsstk::GGHeightTropModel::validWeather
private

flag for valid weather

Definition at line 170 of file GGHeightTropModel.hpp.


The documentation for this class was generated from the following files:
gnsstk::GGHeightTropModel::GGHeightTropModel
GGHeightTropModel()
Empty constructor.
Definition: GGHeightTropModel.cpp:52
gnsstk::GGHeightTropModel::height
double height
height (m) of the receiver
Definition: GGHeightTropModel.hpp:166


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