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

Detailed Description

Atmospheric loading. Computation of displacements of sites on the solid earth surface due to atmospheric loading. The computation requires a site-specific set of coefficients that are available via the program grdinterp.f Once a file is obtained for the sites of choice, this object is initialized by calling initializeSites(), passing it the file name an a list of the sites for which computations will later be desired. The function isValid() returns true when a given site has been initialized. The function computeDisplacement() will compute the site displacement vector at any time for any initialized site.

Definition at line 70 of file AtmLoadTides.hpp.

#include <AtmLoadTides.hpp>

Public Member Functions

 AtmLoadTides ()
 Constructor. More...
 
Triple computeDisplacement (std::string site, EphTime t, double UT1mUTC=0)
 
Triple getPosition (std::string site)
 
int initializeSites (std::vector< std::string > &sites, std::string filename)
 
bool isValid (std::string site)
 

Private Attributes

std::map< std::string, std::vector< double > > coefficientMap
 
std::map< std::string, std::vector< double > > positionMap
 

Constructor & Destructor Documentation

◆ AtmLoadTides()

gnsstk::AtmLoadTides::AtmLoadTides ( )
inline

Constructor.

Definition at line 74 of file AtmLoadTides.hpp.

Member Function Documentation

◆ computeDisplacement()

Triple gnsstk::AtmLoadTides::computeDisplacement ( std::string  site,
EphTime  t,
double  UT1mUTC = 0 
)

Compute the site displacement vector at the given time for the given site. The site must have been successfully initialized; if not an exception is thrown. Based on IERS routine HARDISP.F

Parameters
sitestring Input name of the site; must be the same as previously successfully passed to initializeSites().
tEphTime Input time of interest.
UT1mUTCDifference of UT1 and UTC, a very small correction to t.
Returns
Triple containing the North, East and Up components of the site displacement in meters.
Exceptions
ifthe site has not been initialized, if the time system is unknown, if there is corruption in the static arrays

Definition at line 265 of file AtmLoadTides.cpp.

◆ getPosition()

Triple gnsstk::AtmLoadTides::getPosition ( std::string  site)
inline

Return the recorded latitude, longitude and ht(=0) for the given site. Return value of (0.0,0.0,0.0) probably means the position was not found.

Definition at line 119 of file AtmLoadTides.hpp.

◆ initializeSites()

int gnsstk::AtmLoadTides::initializeSites ( std::vector< std::string > &  sites,
std::string  filename 
)

Open and read the given file, containing atmospheric loading coefficients, and initialize this object for the sites names in the input list that match a name in the file (case sensitive, may contain embedded whitespace). Return the number of successfully initialized site names, and remove those sites from the input list. Convert coefficients from degrees to radians.

Parameters
sitesvector<string> On input contains site labels found in the file, on output contains only sites that were NOT found. If empty, all sites are read.
filenamestring Input atmospheric loading file name.
Returns
the number of sites successfully initialized.
Exceptions
ifthe file could not be opened.

Definition at line 75 of file AtmLoadTides.cpp.

◆ isValid()

bool gnsstk::AtmLoadTides::isValid ( std::string  site)
inline

Return true if the given site name has been initialized, otherwise false.

Definition at line 95 of file AtmLoadTides.hpp.

Member Data Documentation

◆ coefficientMap

std::map<std::string, std::vector<double> > gnsstk::AtmLoadTides::coefficientMap
private

map of (site name, coefficient array), created by call to initializeSites()

Definition at line 136 of file AtmLoadTides.hpp.

◆ positionMap

std::map<std::string, std::vector<double> > gnsstk::AtmLoadTides::positionMap
private

map of (site name,2-element array lat,lon), created by initializeSites()

Definition at line 141 of file AtmLoadTides.hpp.


The documentation for this class was generated from the following files:


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