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 |
|
inline |
Constructor.
Definition at line 74 of file AtmLoadTides.hpp.
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
site | string Input name of the site; must be the same as previously successfully passed to initializeSites(). |
t | EphTime Input time of interest. |
UT1mUTC | Difference of UT1 and UTC, a very small correction to t. |
if | the 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.
|
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.
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.
sites | vector<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. |
filename | string Input atmospheric loading file name. |
if | the file could not be opened. |
Definition at line 75 of file AtmLoadTides.cpp.
|
inline |
Return true if the given site name has been initialized, otherwise false.
Definition at line 95 of file AtmLoadTides.hpp.
|
private |
map of (site name, coefficient array), created by call to initializeSites()
Definition at line 136 of file AtmLoadTides.hpp.
|
private |
map of (site name,2-element array lat,lon), created by initializeSites()
Definition at line 141 of file AtmLoadTides.hpp.