GGHeightTropModel Class Reference
[GPS solution algorithms and Tropospheric]

#include <TropModel.hpp>

Inheritance diagram for GGHeightTropModel:

Inheritance graph
[legend]
Collaboration diagram for GGHeightTropModel:

Collaboration graph
[legend]
List of all members.

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

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

    GGHeightTropModel ggh;
    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);

NB setReceiverHeight(ht) sets the 'weather heights' as well, if they are not already defined.

Definition at line 453 of file TropModel.hpp.

Public Member Functions

 GGHeightTropModel (void)
 Empty constructor.
 GGHeightTropModel (const WxObservation &wx) throw (InvalidParameter)
 Creates a trop model, with weather observation input.
 GGHeightTropModel (const double &T, const double &P, const double &H) throw (InvalidParameter)
 Create a tropospheric model from explicit weather data.
 GGHeightTropModel (const double &T, const double &P, const double &H, const double hT, const double hP, const double hH) throw (InvalidParameter)
 Create a valid model from explicit input.
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 double &T, const double &P, const double &H) throw (InvalidParameter)
 Re-define the weather data.
virtual void setWeather (const WxObservation &wx) throw (InvalidParameter)
 Re-define the tropospheric model with explicit weather data.
void setHeights (const double &hT, const double &hP, const double &hH)
 Re-define the heights at which the weather parameters apply.
void setReceiverHeight (const double &ht)
 Define the receiver height; this required before calling correction() or any of the zenith_delay or mapping_function routines.


Constructor & Destructor Documentation

GGHeightTropModel void   ) 
 

Empty constructor.

Definition at line 452 of file TropModel.cpp.

GGHeightTropModel const WxObservation wx  )  throw (InvalidParameter)
 

Creates a trop model, with weather observation input.

Parameters:
wx the weather to use for this correction.

Definition at line 461 of file TropModel.cpp.

GGHeightTropModel const double &  T,
const double &  P,
const double &  H
throw (InvalidParameter)
 

Create a tropospheric model from explicit weather data.

Parameters:
T temperature in degrees Celsius
P atmospheric pressure in millibars
H relative humidity in percent

Definition at line 472 of file TropModel.cpp.

GGHeightTropModel const double &  T,
const double &  P,
const double &  H,
const double  hT,
const double  hP,
const double  hH
throw (InvalidParameter)
 

Create a valid model from explicit input.

Parameters:
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.

Definition at line 488 of file TropModel.cpp.


Member Function Documentation

double correction const Xvt RX,
const Xvt SV,
const DayTime tt
throw (InvalidTropModel) [virtual]
 

Deprecated:
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.
Parameters:
RX Receiver position in ECEF cartesian coordinates (meters)
SV Satellite position in ECEF cartesian coordinates (meters)
tt Time tag of the signal

Reimplemented from TropModel.

Definition at line 562 of file TropModel.cpp.

double correction const Position RX,
const Position SV,
const DayTime tt
throw (InvalidTropModel) [virtual]
 

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.

Parameters:
RX Receiver position
SV Satellite position
tt Time tag of the signal

Reimplemented from TropModel.

Definition at line 530 of file TropModel.cpp.

References GPSTK_THROW.

double correction double  elevation  )  const throw (InvalidTropModel) [virtual]
 

Compute and return the full tropospheric delay.

Parameters:
elevation Elevation of satellite as seen at receiver, in degrees

Reimplemented from TropModel.

Definition at line 502 of file TropModel.cpp.

References GPSTK_THROW.

double dry_mapping_function double  elevation  )  const throw (InvalidTropModel) [virtual]
 

Compute and return the mapping function for dry component of the troposphere.

Parameters:
elevation Elevation of satellite as seen at receiver, in degrees

Implements TropModel.

Definition at line 634 of file TropModel.cpp.

References WGS84Geoid::a(), GPSTK_THROW, gpstk::norm(), gpstk::sin(), and SQRT.

double dry_zenith_delay void   )  const throw (InvalidTropModel) [virtual]
 

Compute and return the zenith delay for dry component of the troposphere.

Implements TropModel.

Definition at line 572 of file TropModel.cpp.

References GPSTK_THROW, and gpstk::pow().

void 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:
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 787 of file TropModel.cpp.

void setReceiverHeight const double &  ht  )  [virtual]
 

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 800 of file TropModel.cpp.

void setWeather const WxObservation wx  )  throw (InvalidParameter) [virtual]
 

Re-define the tropospheric model with explicit weather data.

Typically called just before correction().

Parameters:
wx the weather to use for this correction

Reimplemented from TropModel.

Definition at line 765 of file TropModel.cpp.

References GPSTK_RETHROW.

void setWeather const double &  T,
const double &  P,
const double &  H
throw (InvalidParameter) [virtual]
 

Re-define the weather data.

Typically called initially, and whenever the weather changes.

Parameters:
T temperature in degrees Celsius
P atmospheric pressure in millibars
H relative humidity in percent

Reimplemented from TropModel.

Definition at line 744 of file TropModel.cpp.

References GPSTK_RETHROW.

double wet_mapping_function double  elevation  )  const throw (InvalidTropModel) [virtual]
 

Compute and return the mapping function for wet component of the troposphere.

Parameters:
elevation Elevation of satellite as seen at receiver, in degrees

Implements TropModel.

Definition at line 688 of file TropModel.cpp.

References WGS84Geoid::a(), GPSTK_THROW, gpstk::norm(), gpstk::sin(), and SQRT.

double wet_zenith_delay void   )  const throw (InvalidTropModel) [virtual]
 

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

Implements TropModel.

Definition at line 600 of file TropModel.cpp.

References GPSTK_THROW, and gpstk::pow().


The documentation for this class was generated from the following files:
Generated on Tue Jan 6 03:32:01 2009 for GPS ToolKit Software Library by  doxygen 1.3.9.1