SuperNOVAS C++ API v1.6
High-precision C/C++ astrometry library
Loading...
Searching...
No Matches
supernovas::EOP Class Reference

Mean (interpolated) IERS Earth Orientation Parameters (EOP), without diurnal variations. More...

#include <supernovas.h>

Inheritance diagram for supernovas::EOP:

Public Member Functions

 EOP (int leap_seconds, const Interval &dut1, const Angle &xp, const Angle &yp)
 Instantiates new Earth Orientation Parameters (EOP) with the specified values.
 EOP (int leap_seconds, double dut1_sec=0.0, double xp_rad=0.0, double yp_rad=0.0)
 Instantiates new Earth Orientation Parameters (EOP) with the specified values.
Interval dUT1 () const
 Returns the UT1 - UTC time difference as a time interval.
EOP itrf_transformed (int from_year, int to_year) const
 Transforms these Earth Orientation Parameters (EOP) to a different ITRF realization.
int leap_seconds () const
 Returns the leap seconds (TAI - UTC time difference) in seconds.
bool operator!= (const EOP &eop) const
 Checks if these Earth Orientation Parameters differ from another by more than 1 μs / 1 μas.
bool operator== (const EOP &eop) const
 Checks if these Earth Orientation Parameters are the same as another, within 1 μs / 1 μas accuracy.
std::string to_string () const
 Returns a string representation of these Earth Orientation Paramaters (EOP).
const Anglexp () const
 Returns the IERS x pole offset (xp) as an angle.
const Angleyp () const
 Returns the IERS y pole offset (yp) as an angle.
Public Member Functions inherited from supernovas::Validating
bool is_valid () const
 Returns the previously set 'valid' stae of the implementing instance.
 operator bool () const
 Objects that implement Validating can be used in conditionals directly, without explicitly calling is_valid().

Static Public Member Functions

static const EOP & undefined ()
 Returns a reference to a statically defined standard invalid EOP.

Additional Inherited Members

Protected Member Functions inherited from supernovas::Validating
 Validating ()
 dummy constructor;
Protected Attributes inherited from supernovas::Validating
bool _valid = false
 the state variable.

Detailed Description

Mean (interpolated) IERS Earth Orientation Parameters (EOP), without diurnal variations.

IERS publishes daily values, short-term and medium term forecasts, and historical data for the measured, unmodelled (by the IAU 2006 precession-nutation model), xp, yp pole offsets, leap-seconds (UTC - TAI difference), and the current UT1 - UTC time difference for various ITRF realizations.

The xp, yp pole offsets define the true rotational pole of Earth vs the dynamical equator of date, while the leap_seconds and UT1 - UTC time difference trace the variations in Earth's rotation.

EOP are necessary both for defining or accessing astronomical times of the UT1 timescale (e.g. for sidereal time or Earth-rotation angle (ERA) calculations), or for converting coordinates between the preudo Earth-fixed Terrestrial Intermediate Reference System (TIRS) on the dynamical equator of date, and the Earth-fixed International Terrestrial Reference System (ITRS) on the true rotational equator.

NOTES:

  1. Corrections for diurnal variations are automatically applied in the constructors of Time (for dUT1) and Frame (for xp and yp for geodetic observers), and in Geometric::to_itrs(), as appropriate.
  2. For μas-level precision, your EOP data should match the ITRF realization of the site coordinates. IERS provides EOP data in different ITRF realizations, and SuperNOVAS provides methods to convert both the EOP and/or the Site to another ITRF realization, if need be.
See also
Time, GeodeticObserver, Geometric::to_itrs(), Horizontal::to_apparent()

Constructor & Destructor Documentation

◆ EOP() [1/2]

supernovas::EOP::EOP ( int leap_seconds,
double dut1_sec = 0.0,
double xp_rad = 0.0,
double yp_rad = 0.0 )
explicit

Instantiates new Earth Orientation Parameters (EOP) with the specified values.

Parameters
leap_seconds[s] Leap seconds (TAI - UTC).
dut1_sec[s] (optional) UT1 - UTC time difference (default: 0.0)
xp_rad[rad] (optional) IERS xp pole offset (default: 0.0)
yp_rad[rad] (optional) IERS yp pole offset (default: 0.0)

References leap_seconds().

◆ EOP() [2/2]

supernovas::EOP::EOP ( int leap_seconds,
const Interval & dut1,
const Angle & xp,
const Angle & yp )

Instantiates new Earth Orientation Parameters (EOP) with the specified values.

Parameters
leap_seconds[s] Leap seconds (TAI - UTC).
dut1(optional) UT1 - UTC time difference (default: 0.0)
xp(optional) IERS xp pole offset (default: 0.0)
yp(optional) IERS yp pole offset (default: 0.0)

References leap_seconds(), xp(), and yp().

Member Function Documentation

◆ dUT1()

Interval supernovas::EOP::dUT1 ( ) const

Returns the UT1 - UTC time difference as a time interval.

Returns
a new time interval with the UT1 - UTC time difference.
See also
leap_seconds()

References supernovas::Validating::is_valid().

Referenced by supernovas::Time::from_mjd(), supernovas::Time::now(), and supernovas::CalendarDate::to_time().

◆ itrf_transformed()

EOP supernovas::EOP::itrf_transformed ( int from_year,
int to_year ) const

Transforms these Earth Orientation Parameters (EOP) to a different ITRF realization.

Parameters
from_year[yr] the ITRF realization of these EOP values.
to_year[yr] the ITRF realization in which to return EOP
Returns
the EOP values in the specified new ITRF realization.
See also
Site::itrf_transformed()

References supernovas::Unit::arcsec, supernovas::Validating::is_valid(), and novas_itrf_transform_eop().

◆ leap_seconds()

int supernovas::EOP::leap_seconds ( ) const

Returns the leap seconds (TAI - UTC time difference) in seconds.

Returns
[s] the leap seconds (TAI - UTC).
See also
dUT1()

Referenced by EOP(), EOP(), supernovas::Time::from_mjd(), supernovas::Time::now(), and supernovas::CalendarDate::to_time().

◆ operator!=()

bool supernovas::EOP::operator!= ( const EOP & eop) const

Checks if these Earth Orientation Parameters differ from another by more than 1 μs / 1 μas.

Parameters
eopanother set of Earth Orientation Parameters
Returns
true if this EOP differs from argument by more than 1 μs / 1 μas, otherwise false.
See also
operator!=()

◆ operator==()

bool supernovas::EOP::operator== ( const EOP & eop) const

Checks if these Earth Orientation Parameters are the same as another, within 1 μs / 1 μas accuracy.

Parameters
eopanother set of Earth Orientation Parameters
Returns
true if this EOP matches the argument to 1 μs / 1 μas accuracy, otherwise false.
See also
operator!=()

References supernovas::Unit::uas, and supernovas::Unit::us.

◆ to_string()

std::string supernovas::EOP::to_string ( ) const

Returns a string representation of these Earth Orientation Paramaters (EOP).

Returns
a new string with a representation of this EOP.

◆ undefined()

const EOP & supernovas::EOP::undefined ( )
static

Returns a reference to a statically defined standard invalid EOP.

This invalid EOP may be used inside any object that is invalid itself.

Returns
a reference to a static standard EOP.

◆ xp()

const Angle & supernovas::EOP::xp ( ) const

Returns the IERS x pole offset (xp) as an angle.

Returns
the reference to the x pole offset angle, as stored internally.
See also
yp()

Referenced by EOP().

◆ yp()

const Angle & supernovas::EOP::yp ( ) const

Returns the IERS y pole offset (yp) as an angle.

Returns
the reference to the y pole offset angle, as stored internally.
See also
xp()

Referenced by EOP().