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

Detailed Description

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>

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

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, EarthOrientationmapMJD_EOP
 key is MJD at which the Earth orientation parameters apply More...
 

Constructor & Destructor Documentation

◆ EOPStore()

gnsstk::EOPStore::EOPStore ( )
inline

Constructor.

Definition at line 79 of file EOPStore.hpp.

Member Function Documentation

◆ addEOP() [1/2]

void gnsstk::EOPStore::addEOP ( int  MJD,
EarthOrientation eop 
)

Add to the store directly.

Definition at line 54 of file EOPStore.cpp.

◆ addEOP() [2/2]

int gnsstk::EOPStore::addEOP ( int  MJD,
EOPPrediction eopp 
)

Add to the store by computing using an EOPPrediction

Parameters
MJDinteger MJD at which to add EOPs
Returns
non-0 if MJD is outside range
Exceptions
Exceptionif MJD is invalid

Definition at line 76 of file EOPStore.cpp.

◆ addEOPPFile()

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.

Parameters
filenameName of file to read, including path.
Exceptions
FileMissingExceptionif file is not found.

Definition at line 128 of file EOPStore.cpp.

◆ addFile()

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

Parameters
filenameName of file to read, including path.
Exceptions
FileMissingExceptionif file is not found.

Definition at line 98 of file EOPStore.cpp.

◆ addIERSFile()

void gnsstk::EOPStore::addIERSFile ( const std::string &  filename)

Add EOPs to the store via a flat IERS file; e.g. finals2000A.data from USNO.

Parameters
filenameName of file to read, including path.
Exceptions
FileMissingExceptionif file is not found.

Definition at line 156 of file EOPStore.cpp.

◆ clear()

void gnsstk::EOPStore::clear ( )
inline

clear the store

Definition at line 132 of file EOPStore.hpp.

◆ dump()

void gnsstk::EOPStore::dump ( short  detail = 0,
std::ostream &  s = std::cout 
) const

Dump the store to cout.

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

◆ edit()

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.

Parameters
mjdmininteger MJD desired earliest store time.
mjdmaxinteger MJD desired latest store time.

Definition at line 214 of file EOPStore.cpp.

◆ getEOP()

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.

Parameters
mjdMJD(UTC) time of interest
convIERSConvention to be used.
Exceptions
InvalidRequestif the integer MJD falls outside the store, or if the store contains fewer than 4 entries
Returns
EarthOrientation EOPs at mjd.

Definition at line 313 of file EOPStore.cpp.

◆ getFirstTimeMJD()

int gnsstk::EOPStore::getFirstTimeMJD ( )
inline

Return first time (MJD) in the store.

Definition at line 147 of file EOPStore.hpp.

◆ getLastTimeMJD()

int gnsstk::EOPStore::getLastTimeMJD ( )
inline

Return last time (MJD) in the store.

Definition at line 150 of file EOPStore.hpp.

◆ size()

int gnsstk::EOPStore::size ( )
inline

return the number of entries in the store

Definition at line 129 of file EOPStore.hpp.

Member Data Documentation

◆ begMJD

int gnsstk::EOPStore::begMJD
private

first and last times in the store, -1 if store is empty.

Definition at line 75 of file EOPStore.hpp.

◆ endMJD

int gnsstk::EOPStore::endMJD
private

Definition at line 75 of file EOPStore.hpp.

◆ mapMJD_EOP

std::map<int, EarthOrientation> gnsstk::EOPStore::mapMJD_EOP
private

key is MJD at which the Earth orientation parameters apply

Definition at line 72 of file EOPStore.hpp.


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


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