Earth orientation parameter store. Store EarthOrientation objects in a map with key = integer MJD at which the EOPs are computed. Access the store with any MJD(UTC), interpolating the stored EOPs to the given epoch using the algorithm in class EarthOrientation.
Definition at line 69 of file EOPStore.hpp.
#include <EOPStore.hpp>
Public Member Functions | |
void | addEOP (int MJD, EarthOrientation &eop) |
Add to the store directly. More... | |
int | addEOP (int MJD, EOPPrediction &eopp) |
void | addEOPPFile (const std::string &filename) |
void | addFile (const std::string &filename) |
void | addIERSFile (const std::string &filename) |
void | clear () |
clear the store More... | |
void | dump (short detail=0, std::ostream &s=std::cout) const |
void | edit (int mjdmin, int mjdmax) |
EOPStore () | |
Constructor. More... | |
EarthOrientation | getEOP (double mjd, const IERSConvention &conv) |
int | getFirstTimeMJD () |
Return first time (MJD) in the store. More... | |
int | getLastTimeMJD () |
Return last time (MJD) in the store. More... | |
int | size () |
return the number of entries in the store More... | |
Private Attributes | |
int | begMJD |
first and last times in the store, -1 if store is empty. More... | |
int | endMJD |
std::map< int, EarthOrientation > | mapMJD_EOP |
key is MJD at which the Earth orientation parameters apply More... | |
|
inline |
Constructor.
Definition at line 79 of file EOPStore.hpp.
void gnsstk::EOPStore::addEOP | ( | int | MJD, |
EarthOrientation & | eop | ||
) |
Add to the store directly.
Definition at line 54 of file EOPStore.cpp.
int gnsstk::EOPStore::addEOP | ( | int | MJD, |
EOPPrediction & | eopp | ||
) |
Add to the store by computing using an EOPPrediction
Definition at line 76 of file EOPStore.cpp.
void gnsstk::EOPStore::addEOPPFile | ( | const std::string & | filename | ) |
Add EOPs to the store via an EOPP file using class EOPPrediction. Read the EOPP file and compute EOPs for all days within the valid range.
filename | Name of file to read, including path. |
FileMissingException | if file is not found. |
Definition at line 128 of file EOPStore.cpp.
void gnsstk::EOPStore::addFile | ( | const std::string & | filename | ) |
Add EOPs to the store via an input file: either an EOPP file or a flat file produced by the IERS and available at USNO (see http://maia.usno.navy.mil/ and get either file 'finals.data' or 'finals2000A.data').
filename | Name of file to read, including path. |
FileMissingException | if file is not found. |
Definition at line 98 of file EOPStore.cpp.
void gnsstk::EOPStore::addIERSFile | ( | const std::string & | filename | ) |
Add EOPs to the store via a flat IERS file; e.g. finals2000A.data from USNO.
filename | Name of file to read, including path. |
FileMissingException | if file is not found. |
Definition at line 156 of file EOPStore.cpp.
|
inline |
clear the store
Definition at line 132 of file EOPStore.hpp.
void gnsstk::EOPStore::dump | ( | short | detail = 0 , |
std::ostream & | s = std::cout |
||
) | const |
Dump the store to cout.
detail | determines how much detail to include in the output 0 start and stop times (MJD), and number of EOPs. 1 list of all times and EOPs. |
Definition at line 271 of file EOPStore.cpp.
void gnsstk::EOPStore::edit | ( | int | mjdmin, |
int | mjdmax | ||
) |
Edit the store by deleting all entries before(after) the given min(max) MJDs (TimeSystem UTC). If mjdmin is later than mjdmax, the two are switched.
mjdmin | integer MJD desired earliest store time. |
mjdmax | integer MJD desired latest store time. |
Definition at line 214 of file EOPStore.cpp.
EarthOrientation gnsstk::EOPStore::getEOP | ( | double | mjd, |
const IERSConvention & | conv | ||
) |
Get the EOP at the given epoch. This involves interpolation and corrections as prescribed by the appropriate IERS convention, using code in class EarthOrientation. This routine pulls data from the map for 4 entries surrounding the input time; this array of data is passed to class EarthOrientation to perform the interpolation and corrections.
mjd | MJD(UTC) time of interest |
conv | IERSConvention to be used. |
InvalidRequest | if the integer MJD falls outside the store, or if the store contains fewer than 4 entries |
Definition at line 313 of file EOPStore.cpp.
|
inline |
Return first time (MJD) in the store.
Definition at line 147 of file EOPStore.hpp.
|
inline |
Return last time (MJD) in the store.
Definition at line 150 of file EOPStore.hpp.
|
inline |
return the number of entries in the store
Definition at line 129 of file EOPStore.hpp.
|
private |
first and last times in the store, -1 if store is empty.
Definition at line 75 of file EOPStore.hpp.
|
private |
Definition at line 75 of file EOPStore.hpp.
|
private |
key is MJD at which the Earth orientation parameters apply
Definition at line 72 of file EOPStore.hpp.