Astro-PAL
view release on metacpan or search on metacpan
erfasrc/src/ltpb.c view on Meta::CPAN
#include "erfa.h"
void eraLtpb(double epj, double rpb[3][3])
/*
** - - - - - - - -
** e r a L t p b
** - - - - - - - -
**
** Long-term precession matrix, including ICRS frame bias.
**
** Given:
** epj double Julian epoch (TT)
**
** Returned:
** rpb double[3][3] precession-bias matrix, J2000.0 to date
**
** Notes:
**
** 1) The matrix is in the sense
**
** P_date = rpb x P_ICRS,
**
** where P_ICRS is a vector in the Geocentric Celestial Reference
** System, and P_date is the vector with respect to the Celestial
** Intermediate Reference System at that date but with nutation
** neglected.
**
** 2) A first order frame bias formulation is used, of sub-
** microarcsecond accuracy compared with a full 3D rotation.
**
** 3) The Vondrak et al. (2011, 2012) 400 millennia precession model
** agrees with the IAU 2006 precession at J2000.0 and stays within
** 100 microarcseconds during the 20th and 21st centuries. It is
** accurate to a few arcseconds throughout the historical period,
** worsening to a few tenths of a degree at the end of the
** +/- 200,000 year time span.
**
** References:
**
** Vondrak, J., Capitaine, N. and Wallace, P., 2011, New precession
** expressions, valid for long time intervals, Astron.Astrophys. 534,
** A22
**
** Vondrak, J., Capitaine, N. and Wallace, P., 2012, New precession
** expressions, valid for long time intervals (Corrigendum),
** Astron.Astrophys. 541, C1
**
** Copyright (C) 2013-2020, NumFOCUS Foundation.
** Derived, with permission, from the SOFA library. See notes at end of file.
*/
{
/* Frame bias (IERS Conventions 2010, Eqs. 5.21 and 5.33) */
const double dx = -0.016617 * ERFA_DAS2R,
de = -0.0068192 * ERFA_DAS2R,
dr = -0.0146 * ERFA_DAS2R;
int i;
double rp[3][3];
/* Precession matrix. */
eraLtp(epj, rp);
/* Apply the bias. */
for ( i = 0; i < 3; i++ ) {
rpb[i][0] = rp[i][0] - rp[i][1]*dr + rp[i][2]*dx;
rpb[i][1] = rp[i][0]*dr + rp[i][1] + rp[i][2]*de;
rpb[i][2] = -rp[i][0]*dx - rp[i][1]*de + rp[i][2];
}
}
/*----------------------------------------------------------------------
**
**
** Copyright (C) 2013-2020, NumFOCUS Foundation.
** All rights reserved.
**
** This library is derived, with permission, from the International
** Astronomical Union's "Standards of Fundamental Astronomy" library,
** available from http://www.iausofa.org.
**
** The ERFA version is intended to retain identical functionality to
** the SOFA library, but made distinct through different function and
** file names, as set out in the SOFA license conditions. The SOFA
** original has a role as a reference standard for the IAU and IERS,
** and consequently redistribution is permitted only in its unaltered
** state. The ERFA version is not subject to this restriction and
** therefore can be included in distributions which do not support the
( run in 1.450 second using v1.01-cache-2.11-cpan-39bf76dae61 )