coordConv provides conversion of astronomical coordinates with sufficient accuracy to control large research telescopes. Supported coordinate conversions include ICRS, FK5, FK4, Galactic, Apparent Geocentric, Apparent Topocentric and Observed (apparent topocentric with atmospheric refraction), and more may be added. The design accuracy is 0.01 arcsecond.
CoordConv is written in C++ and Python, using SWIG as the C++ wrapper.
In Python the following will convert an FK5 J2000 position to apparent topocentric coordinates at a specified TAI date:
import coordConv taiDate = 4916391905 # TAI date in MJD, seconds site = coordConv.Site(-105.822616, 32.780988, 2788) # Apache Point Observatory 3.5m telescope # For better accuracy you may also specify UT1-TAI and pole wander in site; # these may be obtained from IERS Bulletin B fk5Sys = coordConv.FK5CoordSys(2000) fk5Coords = coordConv.Coord(35.12, 75.3) appTopoSys = coordConv.AppTopoCoordSys() # the default is "now": use the TAI date provided to convertFrom appTopoCoords = appTopoSys.convertFrom(fk5Sys, fk5Coords, site, taiDate) print appTopoCoords
This should print: Coord(197.389757, 32.422602, 0.00000)
Coord(197.389757, 32.422602, 0.00000)
To convert to observed coordinates, refraction coefficients must be set in site; you may use slalib's slaRefco to compute these. Site information is ignored when converting between mean coordinate systems.
site
slaRefco
The following packages are required, and all but slalib are available in the LSST software stack:
The simplest way to build this package is:
cd package_root
setup -r .
scons
scons install version=version declare
python/coordConv/version.py
eups declare coordConv version -t tag