SOFA Routines
The SOFA sub-package is meant to be a migration path for those who are already using the C interface package, i.e., the sisl package. This means that SOFA is essentially a drop-in replacement. It also has the potential for checking the accuracy of the C algorithms by replacing the Float64 type with higher precision types such as Float128 or BigFloat and for checking the error propagation of the algorithms.
In addition to that, it has the potential to provide higher performance compared to the C library, particularly when doing calculations of a large number (of order millions) of objects. Having to do a C call on every object incurs a huge overhead and is a significant performance hit.
Astrometry.SOFA.Astrom — Type
AstromStar independent astrometry parameters
| Field Name | Description |
|---|---|
pmt | proper motion time interval (SSB, Julian years) |
eb | solar system barycenter to observer (vector, AU) |
eh | Sun to observer (vector, unit) |
em | distance from Sun to observer (AU) |
v | barycentric observer velocity (vector, c) |
bm1 | inverse Lorenz factor, i.e., sqrt(1-v^2) |
bpn | bias-precesson-nutation matrix |
along | longitude + s' + dERA(DUT) (radians) |
phi | geodetic latitude (radians) |
xpl | polar motion xp wrt local meridian (radians) |
ypl | polar motion yp wrt local meridian (radians) |
sphi | sine of geodetic latitude |
cphi | cosine of geodetic latitude |
diurab | magnitude of diurnal aberration vector |
eral | "local" Earth rotation angle (radians) |
refa | refraction constant A (radians) |
refb | refraction constant B (radians) |
Astrometry.SOFA.Leapsecond — Type
Leap second parametersAstrometry.SOFA.Driftsecond — Type
Drift second parametersAstrometry.SOFA.Ldbody — Type
LdbodyBody parameters for light deflection
| Field Name | Description |
|---|---|
bm | mass of the body (solar masses) |
dl | deflection limiter (radians^2/2) |
pv | barycentric PV of the body (AU, AU/day) |