void iauZr(double r[3][3])
Initialize an r-matrix to the null matrix.
Definition: zr.c:3
void iauPrec76(double date01, double date02, double date11, double date12, double *zeta, double *z, double *theta)
IAU 1976 precession model.
Definition: prec76.c:3
void iauZp(double p[3])
Zero a p-vector.
Definition: zp.c:3
double iauObl80(double date1, double date2)
Mean obliquity of the ecliptic.
Definition: obl80.c:3
double iauS00(double date1, double date2, double x, double y)
The CIO locators given CIP coordinates.
Definition: s00.c:3
void iauPmpx(double rc, double dc, double pr, double pd, double px, double rv, double pmt, double pob[3], double pco[3])
Proper motion and parallax.
Definition: pmpx.c:3
int iauTtut1(double tt1, double tt2, double dt, double *ut11, double *ut12)
TT to UT1.
Definition: ttut1.c:3
double iauEe00b(double date1, double date2)
Equation of the equinoxes.
Definition: ee00b.c:3
double eh[3]
Sun to observer (unit vector)
Definition: sofam.h:29
void iauLd(double bm, double p[3], double q[3], double e[3], double em, double dlim, double p1[3])
Apply light deflection by a solar-system body.
Definition: ld.c:3
void iauP2pv(double p[3], double pv[2][3])
Extend a p-vector to a pv-vector by appending a zero velocity.
Definition: p2pv.c:3
void iauXys00b(double date1, double date2, double *x, double *y, double *s)
Compute X,Y coordinates of the CIP and CIO locator.
Definition: xys00b.c:3
void iauCp(double p[3], double c[3])
Copy a p-vector.
Definition: cp.c:3
void iauFw2m(double gamb, double phib, double psi, double eps, double r[3][3])
Form rotation matrix given the Fukushima-Williams angles.
Definition: fw2m.c:3
void iauPb06(double date1, double date2, double *bzeta, double *bz, double *btheta)
forms three Euler angles which implement general precession from epoch J2000.0,
Definition: pb06.c:3
int main(int argc, char *argv[])
Definition: t_sofa_c.c:9883
void iauAtic13(double ri, double di, double date1, double date2, double *rc, double *dc, double *eo)
Transform star RA,Dec from geocentric CIRS to ICRS astrometric.
Definition: atic13.c:3
void iauTr(double r[3][3], double rt[3][3])
Transpose an r-matrix.
Definition: tr.c:3
int iauTcbtdb(double tcb1, double tcb2, double *tdb1, double *tdb2)
TCB to TDB.
Definition: tcbtdb.c:3
void iauLdn(int n, iauLDBODY b[], double ob[3], double sc[3], double sn[3])
apply light deflection by multiple solar-system bodies
Definition: ldn.c:3
void iauEceq06(double date1, double date2, double dl, double db, double *dr, double *dd)
Transformation from ecliptic coordinates (mean equinox and ecliptic of date) to ICRS RA,...
Definition: eceq06.c:3
#define DTY
Length of tropical year B1900 (days)
void iauRxp(double r[3][3], double p[3], double rp[3])
Multiply a p-vector by an r-matrix.
Definition: rxp.c:3
double iauEo06a(double date1, double date2)
Equation of the origins.
Definition: eo06a.c:3
void iauPvmpv(double a[2][3], double b[2][3], double amb[2][3])
Subtract one pv-vector from another.
Definition: pvmpv.c:3
#define TDB0
TDB (s) at TAI 1977/1/1.0.
double iauSeps(double al, double ap, double bl, double bp)
Angular separation between two sets of spherical coordinates.
Definition: seps.c:3
void iauNum00b(double date1, double date2, double rmatn[3][3])
Form the matrix of nutation for a given date.
Definition: num00b.c:3
int iauTporv(double xi, double eta, double v[3], double v01[3], double v02[3])
In the tangent plane projection, determine the direction cosines of the tangent point.
Definition: tporv.c:3
double iauFane03(double t)
mean longitude of Neptune.
Definition: fane03.c:3
void iauNut00b(double date1, double date2, double *dpsi, double *deps)
Nutation, IAU 2000B model.
Definition: nut00b.c:3
double iauS06(double date1, double date2, double x, double y)
The CIO locator given CIP coordinates.
Definition: s06.c:3
void iauC2i06a(double date1, double date2, double rc2i[3][3])
Form the celestial-to-intermediate matrix for a given date.
Definition: c2i06a.c:3
int iauGc2gd(int n, double xyz[3], double *elong, double *phi, double *height)
Transform geocentric coordinates to geodetic.
Definition: gc2gd.c:3
int iauPmsafe(double ra1, double dec1, double pmr1, double pmd1, double px1, double rv1, double ep1a, double ep1b, double ep2a, double ep2b, double *ra2, double *dec2, double *pmr2, double *pmd2, double *px2, double *rv2)
Star proper motion.
Definition: pmsafe.c:3
void iauPfw06(double date1, double date2, double *gamb, double *phib, double *psib, double *epsa)
Precession angles, IAU 2006 (Fukushima-Williams 4-angle formulation).
Definition: pfw06.c:3
void iauApco(double date1, double date2, double ebpv[2][3], double ehp[3], double x, double y, double s, double theta, double elong, double phi, double hm, double xp, double yp, double sp, double refa, double refb, iauASTROM *astrom)
prepare star-independent astrometry parameters
Definition: apco.c:3
void iauTpstv(double xi, double eta, double v0[3], double v[3])
In the tangent plane projection, solve for the direction cosines of the star.
Definition: tpstv.c:3
double iauFame03(double t)
mean longitude of Mercury.
Definition: fame03.c:3
int iauGc2gde(double a, double f, double xyz[3], double *elong, double *phi, double *height)
Transform geocentric coordinates to geodetic.
Definition: gc2gde.c:3
void iauRv2m(double w[3], double r[3][3])
Form the r-matrix corresponding to a given r-vector.
Definition: rv2m.c:3
int iauEpv00(double date1, double date2, double pvh[2][3], double pvb[2][3])
Earth position and velocity.
Definition: epv00.c:3
void iauPvu(double dt, double pv[2][3], double upv[2][3])
Update a pv-vector.
Definition: pvu.c:3
void iauNut06a(double date1, double date2, double *dpsi, double *deps)
IAU 2000A nutation with adjustments.
Definition: nut06a.c:3
void iauLdsun(double p[3], double e[3], double em, double p1[3])
Deflection of starlight by the Sun.
Definition: ldsun.c:3
double iauFad03(double t)
mean elongation of the Moon from the Sun
Definition: fad03.c:3
double em
distance from Sun to observer (au)
Definition: sofam.h:30
#define WGS72
Reference ellipsoid.
double iauS00a(double date1, double date2)
The CIO locator using the IA2000A precission-nutation model.
Definition: s00a.c:3
void iauC2i00a(double date1, double date2, double rc2i[3][3])
Form the celestial-to-intermediate matrix for a given date.
Definition: c2i00a.c:3
void iauC2ixys(double x, double y, double s, double rc2i[3][3])
Form the celestial to intermediate-frame-of-date matrix.
Definition: c2ixys.c:3
double iauGmst00(double uta, double utb, double tta, double ttb)
Greenwich mean sidereal time.
Definition: gmst00.c:3
#define DJM00
Reference epoch (J2000.0), Modified Julian Date.
void iauApcg(double date1, double date2, double ebpv[2][3], double ehp[3], iauASTROM *astrom)
prepare star-independent astrometry parameters
Definition: apcg.c:3
void iauEcm06(double date1, double date2, double rm[3][3])
ICRS equatorial to ecliptic rotation matrix, IAU 2006.
Definition: ecm06.c:3
void iauTrxp(double r[3][3], double p[3], double trp[3])
Multiply a p-vector by the transpose of an r-matrix.
Definition: trxp.c:3
void iauPmat06(double date1, double date2, double rbp[3][3])
Precession matrix from GCRS to a specified date.
Definition: pmat06.c:3
void iauTrxpv(double r[3][3], double pv[2][3], double trpv[2][3])
Multiply a pv-vector by the transpose of an r-matrix.
Definition: trxpv.c:3
double phi
geodetic latitude (radians)
Definition: sofam.h:35
void iauFk54z(double r2000, double d2000, double bepoch, double *r1950, double *d1950, double *dr1950, double *dd1950)
Convert a J2000.0 FK5 star position to B1950.0 FK4Convert a J2000.0 FK5 star position to B1950....
Definition: fk54z.c:3
double iauPap(double a[3], double b[3])
Position-angle from two p-vectors.
Definition: pap.c:3
#define DR2AS
Radians to arcseconds.
void iauC2t00b(double tta, double ttb, double uta, double utb, double xp, double yp, double rc2t[3][3])
Form the celestial to terrestrial matrix.
Definition: c2t00b.c:3
int iauApio13(double utc1, double utc2, double dut1, double elong, double phi, double hm, double xp, double yp, double phpa, double tc, double rh, double wl, iauASTROM *astrom)
prepare star-independent astrometry parameters
Definition: apio13.c:3
void iauCpv(double pv[2][3], double c[2][3])
Copy a position/velocity vector.
Definition: cpv.c:3
#define DJC
Days per Julian century.
void iauAe2hd(double az, double el, double phi, double *ha, double *dec)
Horizon to equatorial coordinates: transform azimuth and altitude to hour angle and declination.
Definition: ae2hd.c:3
#define DJM77
1977 Jan 1.0 as MJD
double iauDtdb(double date1, double date2, double ut, double elong, double u, double v)
An approximation to TDB-TT.
Definition: dtdb.c:3
double iauEors(double rnpb[3][3], double s)
Equation of the origins.
Definition: eors.c:3
double iauFal03(double t)
mean anomaly of the Moon
Definition: fal03.c:3
void iauIr(double r[3][3])
Initialize an r-matrix to the identity matrix.
Definition: ir.c:3
double v[3]
barycentric observer velocity (vector, c)
Definition: sofam.h:31
#define DAYSEC
Seconds per day.
double sphi
sine of geodetic latitude
Definition: sofam.h:38
double along
longitude + s' + dERA(DUT) (radians)
Definition: sofam.h:34
void iauPmat76(double date1, double date2, double rmatp[3][3])
Precession matrix from J2000.0 to a specified date.
Definition: pmat76.c:3
void iauCr(double r[3][3], double c[3][3])
Copy an r-matrix.
Definition: cr.c:3
void iauPnm00a(double date1, double date2, double rbpn[3][3])
Form the matrix of precession-nutation.
Definition: pnm00a.c:3
void iauNut80(double date1, double date2, double *dpsi, double *deps)
Nutation, IAU 1980 model.
Definition: nut80.c:3
void iauAticqn(double ri, double di, iauASTROM *astrom, int n, iauLDBODY b[], double *rc, double *dc)
Quick CIRS to ICRS astrometric place transformation.
Definition: aticqn.c:3
#define DAU
Astronomical unit (m, IAU 2012)
void iauC2tpe(double tta, double ttb, double uta, double utb, double dpsi, double deps, double xp, double yp, double rc2t[3][3])
Form the celestial to terrestrial matrix.
Definition: c2tpe.c:3
void iauPn06(double date1, double date2, double dpsi, double deps, double *epsa, double rb[3][3], double rp[3][3], double rbp[3][3], double rn[3][3], double rbpn[3][3])
Precession-nutation, IAU 2006 model.
Definition: pn06.c:3
void iauPvxpv(double a[2][3], double b[2][3], double axb[2][3])
Outer (=vector=cross) product of two pv-vectors.Notes:
Definition: pvxpv.c:3
void iauP2s(double p[3], double *theta, double *phi, double *r)
P-vector to spherical polar coordinates.
Definition: p2s.c:3
void iauAtciq(double rc, double dc, double pr, double pd, double px, double rv, iauASTROM *astrom, double *ri, double *di)
Quick ICRS, epoch J2000.0, to CIRS transformation.
Definition: atciq.c:3
#define DS2R
Seconds of time to radians.
void iauRm2v(double r[3][3], double w[3])
Express an r-matrix as an r-vector.
Definition: rm2v.c:3
void iauPv2p(double pv[2][3], double p[3])
Discard velocity component of a pv-vector.
Definition: pv2p.c:3
void iauC2ixy(double date1, double date2, double x, double y, double rc2i[3][3])
Form the celestial to intermediate-frame-of-date matrix.
Definition: c2ixy.c:3
void iauXy06(double date1, double date2, double *x, double *y)
X,Y coordinates of celestial intermediate pole.
Definition: xy06.c:3
double iauFaf03(double t)
mean longitude of the Moon minus...
Definition: faf03.c:3
double iauEqeq94(double date1, double date2)
Equation of the equinoxes.
Definition: eqeq94.c:3
int iauTttai(double tt1, double tt2, double *tai1, double *tai2)
TT to TAI.
Definition: tttai.c:3
double iauGmst82(double dj1, double dj2)
Universal Time to Greenwich mean sidereal time.
Definition: gmst82.c:3
void iauAticq(double ri, double di, iauASTROM *astrom, double *rc, double *dc)
Quick CIRS RA,Dec to ICRS astrometric place.
Definition: aticq.c:3
void iauPn00(double date1, double date2, double dpsi, double deps, double *epsa, double rb[3][3], double rp[3][3], double rbp[3][3], double rn[3][3], double rbpn[3][3])
Precession-nutation, IAU 2000 model.
Definition: pn00.c:3
void iauAtciqn(double rc, double dc, double pr, double pd, double px, double rv, iauASTROM *astrom, int n, iauLDBODY b[], double *ri, double *di)
Quick ICRS, epoch J2000.0, to CIRS transformation.
Definition: atciqn.c:3
void iauSxpv(double s, double pv[2][3], double spv[2][3])
Multiply a pv-vector by a scalar.
Definition: sxpv.c:3
void iauS2p(double theta, double phi, double r, double p[3])
Convert spherical polar coordinates to p-vector.
Definition: s2p.c:3
int iauTf2d(char s, int ihour, int imin, double sec, double *days)
Convert hours, minutes, seconds to days.
Definition: tf2d.c:4
int iauD2dtf(const char *scale, int ndp, double d1, double d2, int *iy, int *im, int *id, int ihmsf[4])
Format for output a 2-part Julian Date.
Definition: d2dtf.c:4
void iauApcs13(double date1, double date2, double pv[2][3], iauASTROM *astrom)
prepare star-independent astrometry parameters
Definition: apcs13.c:3
double bm1
sqrt(1-|v|^2): reciprocal of Lorenz factor
Definition: sofam.h:32
double iauHd2pa(double ha, double dec, double phi)
Parallactic angle for a given hour angle and declination.Notes:
Definition: hd2pa.c:3
void iauA2tf(int ndp, double angle, char *sign, int ihmsf[4])
Decompose radians into hours, minutes, seconds, fraction.
Definition: a2tf.c:3
void iauApio(double sp, double theta, double elong, double phi, double hm, double xp, double yp, double refa, double refb, iauASTROM *astrom)
prepare star-independent astrometry parameters
Definition: apio.c:3
void iauAtoiq(const char *type, double ob1, double ob2, iauASTROM *astrom, double *ri, double *di)
Quick observed place to CIRS.
Definition: atoiq.c:3
void iauXys00a(double date1, double date2, double *x, double *y, double *s)
Compute X,Y coordinates of the CIP and CIO locator.
Definition: xys00a.c:3
double iauFaur03(double t)
mean longitude of Uranus
Definition: faur03.c:3
#define DAS2R
Arcseconds to radians.
void iauNutm80(double date1, double date2, double rmatn[3][3])
Form the matrix of nutation for a given date,.
Definition: nutm80.c:3
int iauAf2a(char s, int ideg, int iamin, double asec, double *rad)
Convert degrees, arcminutes, arcseconds to radians.
Definition: af2a.c:4
#define CMPS
Speed of light (m/s)
void iauLtpequ(double epj, double veq[3])
Long-term precession of the equator. Notes:
Definition: ltpequ.c:3
void iauRxr(double a[3][3], double b[3][3], double atb[3][3])
Multiply two r-matrices.
Definition: rxr.c:3
void iauAtioq(double ri, double di, iauASTROM *astrom, double *aob, double *zob, double *hob, double *dob, double *rob)
Quick CIRS to observed place transformation.
Definition: atioq.c:3
#define ELB
L_B = 1 - d(TDB)/d(TCB)
void iauNum00a(double date1, double date2, double rmatn[3][3])
Form the matrix of nutation for a given date.
Definition: num00a.c:3
int iauUt1tai(double ut11, double ut12, double dta, double *tai1, double *tai2)
UT1 to TAI.
Definition: ut1tai.c:3
#define GRS80
Reference ellipsoid.
double iauObl06(double date1, double date2)
Mean obliquity of the ecliptic.
Definition: obl06.c:3
double iauEpj(double dj1, double dj2)
Julian Date to Julian Epoch.
Definition: epj.c:3
void iauPxp(double a[3], double b[3], double axb[3])
p-vector outer (=vector=cross) product.
Definition: pxp.c:3
void iauPnm06a(double date1, double date2, double rnpb[3][3])
Form the matrix of precession-nutation.
Definition: pnm06a.c:3
void iauC2t06a(double tta, double ttb, double uta, double utb, double xp, double yp, double rc2t[3][3])
Form the celestial to terrestrial matrix.
Definition: c2t06a.c:3
void iauPn06a(double date1, double date2, double *dpsi, double *deps, double *epsa, double rb[3][3], double rp[3][3], double rbp[3][3], double rn[3][3], double rbpn[3][3])
Precession-nutation, IAU 2006/2000A models.
Definition: pn06a.c:3
void iauAtci13(double rc, double dc, double pr, double pd, double px, double rv, double date1, double date2, double *ri, double *di, double *eo)
Transform ICRS star data, epoch J2000.0, to CIRS.
Definition: atci13.c:3
void iauP06e(double date1, double date2, double *eps0, double *psia, double *oma, double *bpa, double *bqa, double *pia, double *bpia, double *epsa, double *chia, double *za, double *zetaa, double *thetaa, double *pa, double *gam, double *phi, double *psi)
Precession angles.
Definition: p06e.c:3
double iauAnpm(double a)
Normalize angle into the range -pi <= a < +pi.
Definition: anpm.c:3
void iauPom00(double xp, double yp, double sp, double rpom[3][3])
Form the matrix of polar motion.
Definition: pom00.c:3
void iauZpv(double pv[2][3])
Zero a pv-vector.
Definition: zpv.c:3
int iauApco13(double utc1, double utc2, double dut1, double elong, double phi, double hm, double xp, double yp, double phpa, double tc, double rh, double wl, iauASTROM *astrom, double *eo)
prepare star-independent astrometry parameters
Definition: apco13.c:3
double iauSp00(double date1, double date2)
The TIO locator.
Definition: sp00.c:3
void iauNumat(double epsa, double dpsi, double deps, double rmatn[3][3])
Form the matrix of nutation.
Definition: numat.c:3
double iauFasa03(double t)
mean longitude of Saturn.
Definition: fasa03.c:3
void iauPr00(double date1, double date2, double *dpsipr, double *depspr)
Precession-rate part of the IAU 2000 models.
Definition: pr00.c:3
double iauEe00a(double date1, double date2)
Equation of the equinoxes.
Definition: ee00a.c:3
int iauTf2a(char s, int ihour, int imin, double sec, double *rad)
Convert hours, minutes, seconds to radians.
Definition: tf2a.c:4
double refa
refraction constant A (radians)
Definition: sofam.h:42
void iauLteceq(double epj, double dl, double db, double *dr, double *dd)
Transformation from ecliptic coordinates (mean equinox and ecliptic of date) to ICRS RA,...
Definition: lteceq.c:3
int iauStarpv(double ra, double dec, double pmr, double pmd, double px, double rv, double pv[2][3])
Convert star catalog coordinates to position+velocity vector.
Definition: starpv.c:3
void iauHd2ae(double ha, double dec, double phi, double *az, double *el)
Equatorial to horizon coordinates.
Definition: hd2ae.c:3
void iauRz(double psi, double r[3][3])
Rotate an r-matrix about the z-axis.
Definition: rz.c:3
double iauFave03(double t)
mean longitude of Venus
Definition: fave03.c:3
void iauG2icrs(double dl, double db, double *dr, double *dd)
Transformation from Galactic Coordinates to ICRS.
Definition: g2icrs.c:3
void iauPv2s(double pv[2][3], double *theta, double *phi, double *r, double *td, double *pd, double *rd)
Convert position/velocity from Cartesian to spherical coordinates.
Definition: pv2s.c:3
#define TURNAS
Arcseconds in a full circle.
#define DC
Speed of light (AU per day)
double refb
refraction constant B (radians)
Definition: sofam.h:43
int iauAtco13(double rc, double dc, double pr, double pd, double px, double rv, double utc1, double utc2, double dut1, double elong, double phi, double hm, double xp, double yp, double phpa, double tc, double rh, double wl, double *aob, double *zob, double *hob, double *dob, double *rob, double *eo)
ICRS RA,Dec to observed place.
Definition: atco13.c:3
int iauUt1tt(double ut11, double ut12, double dt, double *tt1, double *tt2)
UT1 to TT.
Definition: ut1tt.c:3
double eb[3]
SSB to observer (vector, au)
Definition: sofam.h:28
#define TTMTAI
TT minus TAI (s)
void iauIcrs2g(double dr, double dd, double *dl, double *db)
Transformation from ICRS to Galactic Coordinates.
Definition: icrs2g.c:3
double diurab
magnitude of diurnal aberration vector
Definition: sofam.h:40
void iauC2i00b(double date1, double date2, double rc2i[3][3])
Form the celestial-to-intermediate matrix for a given date .
Definition: c2i00b.c:3
int iauTpxev(double v[3], double v0[3], double *xi, double *eta)
In the tangent plane projection, solve for the star's rectangular coordinates in the tangent plane....
Definition: tpxev.c:3
double pv[2][3]
barycentric PV of the body (au, au/day)
Definition: sofam.h:51
#define gmax(A, B)
larger (most +ve) of two numbers (generic)
void iauAper(double theta, iauASTROM *astrom)
update the Earth rotation angle
Definition: aper.c:3
double eral
"local" Earth rotation angle (radians)
Definition: sofam.h:41
#define SRS
Schwarzschild radius of the Sun (au) = 2 * 1.32712440041e20 / (2.99792458e8)^2 / 1....
int iauTttcg(double tt1, double tt2, double *tcg1, double *tcg2)
TT to TCG.
Definition: tttcg.c:3
double iauPdp(double a[3], double b[3])
p-vector inner (=scalar=dot) product.
Definition: pdp.c:3
void iauAb(double pnat[3], double v[3], double s, double bm1, double ppr[3])
Apply aberration to transform natural direction into proper direction.
Definition: ab.c:3
void iauBpn2xy(double rbpn[3][3], double *x, double *y)
Extract the X,Y coordinates of the Celestial Intermediate Pole.
Definition: bpn2xy.c:3
#define DJM0
Julian Date of Modified Julian Date zero.
void iauLtp(double epj, double rp[3][3])
Long-term precession matrix.Notes:
Definition: ltp.c:3
void iauPvm(double pv[2][3], double *r, double *s)
Modulus of pv-vector.
Definition: pvm.c:3
double iauFapa03(double t)
general accumulated precession in longitude
Definition: fapa03.c:3
void iauBp06(double date1, double date2, double rb[3][3], double rp[3][3], double rbp[3][3])
Frame bias and precession, IAU 2006.
Definition: bp06.c:3
void iauS2xpv(double s1, double s2, double pv[2][3], double spv[2][3])
Multiply a pv-vector by two scalars.
Definition: s2xpv.c:3
void iauBi00(double *dpsibi, double *depsbi, double *dra)
Frame bias components of IAU 2000 precession-nutation models.
Definition: bi00.c:3
double iauFaju03(double t)
mean longitude of Jupiter
Definition: faju03.c:3
void iauRefco(double phpa, double tc, double rh, double wl, double *refa, double *refb)
Determine constants in the atmospheric refraction model.
Definition: refco.c:3
void iauTpsts(double xi, double eta, double a0, double b0, double *a, double *b)
In the tangent plane projection, solve for the spherical coordinates of the star.
Definition: tpsts.c:3
void iauS2pv(double theta, double phi, double r, double td, double pd, double rd, double pv[2][3])
Definition: s2pv.c:3
void iauFk52h(double r5, double d5, double dr5, double dd5, double px5, double rv5, double *rh, double *dh, double *drh, double *ddh, double *pxh, double *rvh)
Transform FK5 star data into the Hipparcos system.
Definition: fk52h.c:3
void iauC2tcio(double rc2i[3][3], double era, double rpom[3][3], double rc2t[3][3])
Assemble the celestial to terrestrial matrix.
Definition: c2tcio.c:3
int iauCal2jd(int iy, int im, int id, double *djm0, double *djm)
Gregorian Calendar to Julian Date.
Definition: cal2jd.c:3
double dl
deflection limiter (radians^2/2)
Definition: sofam.h:50
double iauSepp(double a[3], double b[3])
Angular separation between two p-vectors.
Definition: sepp.c:3
void iauLtecm(double epj, double rm[3][3])
ICRS equatorial to ecliptic rotation matrix, long-term.
Definition: ltecm.c:3
Body parameters for light deflection.
Definition: sofam.h:48
void iauC2txy(double tta, double ttb, double uta, double utb, double x, double y, double xp, double yp, double rc2t[3][3])
Form the celestial to terrestrial matrix.
Definition: c2txy.c:3
void iauEqec06(double date1, double date2, double dr, double dd, double *dl, double *db)
Transformation from ICRS equatorial coordinates to ecliptic coordinates.
Definition: eqec06.c:3
#define ELG
L_G = 1 - d(TT)/d(TCG)
void iauNut00a(double date1, double date2, double *dpsi, double *deps)
Nutation, IAU 2000A model.
Definition: nut00a.c:3
void iauPpp(double a[3], double b[3], double apb[3])
P-vector addition.
Definition: ppp.c:3
void iauAtciqz(double rc, double dc, iauASTROM *astrom, double *ri, double *di)
Quick ICRS to CIRS transformation.
Definition: atciqz.c:3
int iauDat(int iy, int im, int id, double fd, double *deltat)
For a given UTC date, calculate delta(AT) = TAI-UTC.
Definition: dat.c:3
void iauBp00(double date1, double date2, double rb[3][3], double rp[3][3], double rbp[3][3])
Frame bias and precession, IAU 2000.
Definition: bp00.c:3
void iauS2pv(double theta, double phi, double r, double td, double pd, double rd, double pv[2][3])
Definition: s2pv.c:3
void iauFw2xy(double gamb, double phib, double psi, double eps, double *x, double *y)
CIP X,Y given Fukushima-Williams bias-precession-nutation angles.
Definition: fw2xy.c:3
#define DJM
Days per Julian millennium.
void iauPvppv(double a[2][3], double b[2][3], double apb[2][3])
Add one pv-vector to another.
Definition: pvppv.c:3
int iauPlan94(double date1, double date2, int np, double pv[2][3])
Approximate heliocentric position and velocity of a planet.
Definition: plan94.c:3
void iauFk5hip(double r5h[3][3], double s5h[3])
FK5 to Hipparcos rotation and spin.
Definition: fk5hip.c:3
void iauNum06a(double date1, double date2, double rmatn[3][3])
Form the matrix of nutation for a given date.
Definition: num06a.c:3
double iauGst06(double uta, double utb, double tta, double ttb, double rnpb[3][3])
Greenwich apparent sidereal time.
Definition: gst06.c:3
#define dsign(A, B)
magnitude of A with sign of B (double)
void iauFk425(double r1950, double d1950, double dr1950, double dd1950, double p1950, double v1950, double *r2000, double *d2000, double *dr2000, double *dd2000, double *p2000, double *v2000)
Convert B1950.0 FK4 star catalog data to J2000.0 FK5.Notes:
Definition: fk425.c:3
int iauTaitt(double tai1, double tai2, double *tt1, double *tt2)
TAI to TT.
Definition: taitt.c:3
double iauGmst06(double uta, double utb, double tta, double ttb)
Greenwich mean sidereal time.
Definition: gmst06.c:3
void iauC2ibpn(double date1, double date2, double rbpn[3][3], double rc2i[3][3])
Form the celestial-to-intermediate matrix for a given date.
Definition: c2ibpn.c:3
void iauPmp(double a[3], double b[3], double amb[3])
P-vector subtraction.
Definition: pmp.c:3
#define dint(A)
truncate to nearest whole number towards zero (double)
double iauAnp(double a)
Normalize angle into the range 0 <= a < 2pi.
Definition: anp.c:3
int iauDtf2d(const char *scale, int iy, int im, int id, int ihr, int imn, double sec, double *d1, double *d2)
Encode date and time fields into 2-part Julian Date.
Definition: dtf2d.c:4
void iauXys06a(double date1, double date2, double *x, double *y, double *s)
Compute X,Y coordinates of the CIP and CIO locator.
Definition: xys06a.c:3
void iauS2c(double theta, double phi, double c[3])
Convert spherical coordinates to Cartesian.
Definition: s2c.c:3
int iauAtio13(double ri, double di, double utc1, double utc2, double dut1, double elong, double phi, double hm, double xp, double yp, double phpa, double tc, double rh, double wl, double *aob, double *zob, double *hob, double *dob, double *rob)
CIRS RA,Dec to observed place.
Definition: atio13.c:3
double pmt
PM time interval (SSB, Julian years)
Definition: sofam.h:27
double iauGst94(double uta, double utb)
Greenwich apparent sidereal time.
Definition: gst94.c:3
int iauTpors(double xi, double eta, double a, double b, double *a01, double *b01, double *a02, double *b02)
In the tangent plane projection, determine the spherical coordinates of the tangent point.
Definition: tpors.c:3
void iauPn00b(double date1, double date2, double *dpsi, double *deps, double *epsa, double rb[3][3], double rp[3][3], double rbp[3][3], double rn[3][3], double rbpn[3][3])
Precession-nutation, IAU 2000B model.
Definition: pn00b.c:3
void iauPmat00(double date1, double date2, double rbp[3][3])
Precession matrix from GCRS to specified date.
Definition: pmat00.c:3
double ypl
polar motion yp wrt local meridian (radians)
Definition: sofam.h:37
void iauPnm00b(double date1, double date2, double rbpn[3][3])
Form the matrix of precession-nutation.
Definition: pnm00b.c:3
double iauPas(double al, double ap, double bl, double bp)
Position-angle from spherical coordinates.
Definition: pas.c:3
double iauEe00(double date1, double date2, double epsa, double dpsi)
The equation of the equinoxes.
Definition: ee00.c:3
void iauLtpb(double epj, double rpb[3][3])
Long-term precession matrix, including ICRS frame bias.Notes:
Definition: ltpb.c:3
int iauTpxes(double a, double b, double a0, double b0, double *xi, double *eta)
In the tangent plane projection, solve for the star's rectangular coordinates in the tangent plane....
Definition: tpxes.c:3
double iauGst00a(double uta, double utb, double tta, double ttb)
Greenwich apparent sidereal time.
Definition: gst00a.c:3
int iauUtctai(double utc1, double utc2, double *tai1, double *tai2)
UTC to TAI.
Definition: utctai.c:3
double iauS00b(double date1, double date2)
The CIO locator using the IAU 2000B precission-nutation model.
Definition: s00b.c:3
int iauAtoi13(const char *type, double ob1, double ob2, double utc1, double utc2, double dut1, double elong, double phi, double hm, double xp, double yp, double phpa, double tc, double rh, double wl, double *ri, double *di)
Observed place to CIRS.
Definition: atoi13.c:3
int iauJd2cal(double dj1, double dj2, int *iy, int *im, int *id, double *fd)
Julian Date to Gregorian year, month, day, and fraction of a day.
Definition: jd2cal.c:4
double cphi
cosine of geodetic latitude
Definition: sofam.h:39
void iauApcg13(double date1, double date2, iauASTROM *astrom)
prepare star-independent astrometry parameters
Definition: apcg13.c:3
double bm
mass of the body (solar masses)
Definition: sofam.h:49
void iauFk45z(double r1950, double d1950, double bepoch, double *r2000, double *d2000)
Convert a B1950.0 FK4 star position to J2000.0 FK5.Convert a B1950.0 FK4 star position to J2000....
Definition: fk45z.c:3
#define WGS84
Reference ellipsoid.
void iauH2fk5(double rh, double dh, double drh, double ddh, double pxh, double rvh, double *r5, double *d5, double *dr5, double *dd5, double *px5, double *rv5)
Transform Hipparcos star data into the FK5 (J2000.0) system.
Definition: h2fk5.c:3
void iauApci(double date1, double date2, double ebpv[2][3], double ehp[3], double x, double y, double s, iauASTROM *astrom)
prepare star-independent astrometry parameters
Definition: apci.c:3
int iauTdbtt(double tdb1, double tdb2, double dtr, double *tt1, double *tt2)
TDB to TT.
Definition: tdbtt.c:3
double iauEra00(double dj1, double dj2)
Earth rotation angle.
Definition: era00.c:3
#define dnint(A)
round to nearest whole number (double)
double iauGst00b(double uta, double utb)
Greenwich apparent sidereal time.
Definition: gst00b.c:3
void iauFk5hz(double r5, double d5, double date1, double date2, double *rh, double *dh)
Transform an FK5 star position into the Hipparcos system.
Definition: fk5hz.c:3
int iauPvstar(double pv[2][3], double *ra, double *dec, double *pmr, double *pmd, double *px, double *rv)
Convert star position+velocity vector to catalog coordinates.
Definition: pvstar.c:3
int iauEform(int n, double *a, double *f)
Earth reference ellipsoids.
Definition: eform.c:3
double iauFae03(double t)
mean longitude of Earth.
Definition: fae03.c:3
void iauPvdpv(double a[2][3], double b[2][3], double adb[2])
Inner (=scalar=dot) product of two pv-vectors.
Definition: pvdpv.c:3
void iauC2t00a(double tta, double ttb, double uta, double utb, double xp, double yp, double rc2t[3][3])
Form the celestial to terrestrial matrix.
Definition: c2t00a.c:3
#define AULT
Light time for 1 au (s)
#define gmin(A, B)
smaller (least +ve) of two numbers (generic)
#define DJ00
Reference epoch (J2000.0), Julian Date.
Star-independent astrometry parameters (Vectors eb, eh, em and v are all with respect to BCRS axes....
Definition: sofam.h:26
double iauPm(double p[3])
Modulus of p-vector.
Definition: pm.c:3
void iauEpb2jd(double epb, double *djm0, double *djm)
Besselian Epoch to Julian Date.
Definition: epb2jd.c:3
void iauRx(double phi, double r[3][3])
Rotate an r-matrix about the x-axis.
Definition: rx.c:3
void iauAper13(double ut11, double ut12, iauASTROM *astrom)
update the Earth rotation angle
Definition: aper13.c:3
void iauC2teqx(double rbpn[3][3], double gst, double rpom[3][3], double rc2t[3][3])
Assemble the celestial to terrestrial matrix.
Definition: c2teqx.c:3
void iauPvtob(double elong, double phi, double hm, double xp, double yp, double sp, double theta, double pv[2][3])
Position and velocity of a terrestrial observing station.
Definition: pvtob.c:3
void iauLtpecl(double epj, double vec[3])
Long-term precession of the ecliptic.Notes:
Definition: ltpecl.c:3
void iauApcs(double date1, double date2, double pv[2][3], double ebpv[2][3], double ehp[3], iauASTROM *astrom)
prepare star-independent astrometry parameters
Definition: apcs.c:3
int iauUt1utc(double ut11, double ut12, double dut1, double *utc1, double *utc2)
UT1 to UTC.
Definition: ut1utc.c:3
int iauTdbtcb(double tdb1, double tdb2, double *tcb1, double *tcb2)
TDB to TCB.
Definition: tdbtcb.c:3
void iauApci13(double date1, double date2, iauASTROM *astrom, double *eo)
prepare star-independent astrometry parameters
Definition: apci13.c:3
#define DD2R
Degrees to radians.
int iauStarpm(double ra1, double dec1, double pmr1, double pmd1, double px1, double rv1, double ep1a, double ep1b, double ep2a, double ep2b, double *ra2, double *dec2, double *pmr2, double *pmd2, double *px2, double *rv2)
Star proper motion.
Definition: starpm.c:3
void iauLteqec(double epj, double dr, double dd, double *dl, double *db)
Transformation from ICRS equatorial coordinates to ecliptic coordinates.
Definition: lteqec.c:3
void iauA2af(int ndp, double angle, char *sign, int idmsf[4])
Decompose radians into degrees, arcminutes, arcseconds, fraction.
Definition: a2af.c:3
void iauPn(double p[3], double *r, double u[3])
Convert a p-vector into modulus and unit vector.
Definition: pn.c:3
int iauTpors(double xi, double eta, double a, double b, double *a01, double *b01, double *a02, double *b02)
In the tangent plane projection, determine the spherical coordinates of the tangent point.
Definition: tpors.c:3
void iauFk524(double r2000, double d2000, double dr2000, double dd2000, double p2000, double v2000, double *r1950, double *d1950, double *dr1950, double *dd1950, double *p1950, double *v1950)
Convert J2000.0 FK5 star catalog data to B1950.0 FK4.Notes:
Definition: fk524.c:3
void iauLtpequ(double epj, double veq[3])
Long-term precession of the equator. Notes:
Definition: ltpequ.c:3
#define DJY
Days per Julian year.
void iauSxp(double s, double p[3], double sp[3])
Multiply a p-vector by a scalar.
Definition: sxp.c:3
void iauRy(double theta, double r[3][3])
Rotate an r-matrix about the y-axis.
Definition: ry.c:3
int iauTcgtt(double tcg1, double tcg2, double *tt1, double *tt2)
TCG to TT.
Definition: tcgtt.c:3
void iauHfk5z(double rh, double dh, double date1, double date2, double *r5, double *d5, double *dr5, double *dd5)
Transform a Hipparcos star position into FK5 J2000.0.
Definition: hfk5z.c:3
int iauTttdb(double tt1, double tt2, double dtr, double *tdb1, double *tdb2)
TT to TDB.
Definition: tttdb.c:3
int iauGd2gce(double a, double f, double elong, double phi, double height, double xyz[3])
Transform geodetic coordinates to geocentric.
Definition: gd2gce.c:3
void iauPn00a(double date1, double date2, double *dpsi, double *deps, double *epsa, double rb[3][3], double rp[3][3], double rbp[3][3], double rn[3][3], double rbpn[3][3])
Precession-nutation, IAU 2000A model.
Definition: pn00a.c:3
int iauTaiut1(double tai1, double tai2, double dta, double *ut11, double *ut12)
TAI to UT1.
Definition: taiut1.c:3
double iauFaom03(double t)
mean longitude Moon's ascending node
Definition: faom03.c:3
double iauEe06a(double date1, double date2)
Equation of the equinoxes.
Definition: ee06a.c:3
int iauGd2gc(int n, double elong, double phi, double height, double xyz[3])
Transform geodetic coordinates to geocentric.
Definition: gd2gc.c:3
double iauFama03(double t)
mean longitude of Mars.
Definition: fama03.c:3
void iauEpj2jd(double epj, double *djm0, double *djm)
Julian Epoch to Julian Date.
Definition: epj2jd.c:3
double bpn[3][3]
bias-precession-nutation matrix
Definition: sofam.h:33
double xpl
polar motion xp wrt local meridian (radians)
Definition: sofam.h:36
double iauFalp03(double t)
mean anomaly of the Sun
Definition: falp03.c:3
int iauUtcut1(double utc1, double utc2, double dut1, double *ut11, double *ut12)
UTC to UT1.
Definition: utcut1.c:3
void iauD2tf(int ndp, double days, char *sign, int ihmsf[4])
Decompose days to hours, minutes, seconds, fraction.
Definition: d2tf.c:3
void iauRxpv(double r[3][3], double pv[2][3], double rpv[2][3])
Multiply a pv-vector by an r-matrix.
Definition: rxpv.c:3
double iauEpb(double dj1, double dj2)
Julian Date to Besselian Epoch.
Definition: epb.c:3
void iauPpsp(double a[3], double s, double b[3], double apsb[3])
P-vector scale and addition.
Definition: ppsp.c:3
void iauPvup(double dt, double pv[2][3], double p[3])
Update a pv-vector, discarding the velocity component.
Definition: pvup.c:3
void iauC2s(double p[3], double *theta, double *phi)
P-vector to spherical coordinates.
Definition: c2s.c:3
double iauGst06a(double uta, double utb, double tta, double ttb)
Greenwich apparent sidereal time.
Definition: gst06a.c:3
int iauAtoc13(const char *type, double ob1, double ob2, double utc1, double utc2, double dut1, double elong, double phi, double hm, double xp, double yp, double phpa, double tc, double rh, double wl, double *rc, double *dc)
Observed place at a groundbased site to to ICRS astrometric RA,Dec.
Definition: atoc13.c:3
double iauS06a(double date1, double date2)
The CIO locator using IAU2006 precession and IAU 2000A nutation models.
Definition: s06a.c:3
double iauEect00(double date1, double date2)
Equation of the equinoxes.
Definition: eect00.c:3
#define DMAS2R
Milliarcseconds to radians.
int iauTaiutc(double tai1, double tai2, double *utc1, double *utc2)
TAI to UTC.
Definition: taiutc.c:3
void iauPnm80(double date1, double date2, double rmatpn[3][3])
Form the matrix of precession/nutation.
Definition: pnm80.c:3
int iauJdcalf(int ndp, double dj1, double dj2, int iymdf[4])
Julian Date to Gregorian Calendar.
Definition: jdcalf.c:3