[AstroPy] Telescope pointing with astropy, atmospheric refraction and precession

Russell Valentine russell.valentine at gmail.com
Fri Nov 27 16:20:13 EST 2020


Hello,

I've been trying to figure out the best way to get correct coordinates 
for telescope pointing of a equatorial mount in astropy. How to, given a 
set of coordinates in ICRS, convert it to account for precession and 
atmosphereic refraction to correctly move the telescope. It is my 
understand that you can transform from ICRS to TETE to compensate for 
precession, but then how to also account for atmospheric refraction? I 
believe the AltAz coordinate is needed for that.

Things I was thinking and tried:

1) ICRS->AltAz (w/pressure)->TETE
I do not know if this is correct because you get just very close to just 
ICRS. I thought maybe it is right and the refraction just happens to be 
the counter the precession, but I tried it on both east and west 
horizons with the same result.

2) ICRS->TETE->AltAz(w/pressure)

But as expected AltAz is the same as ICRS->AltAz

I feel like I am missing some key piece. Has anyone done this with astropy?




from astropy.coordinates import EarthLocation, TETE, ICRS, AltAz, SkyCoord
import astropy.units as u
from astropy.time import Time as AstroTime
from astropy.units import si as usi
t = AstroTime('2020-11-27 19:12:16.894431')
earth_location = EarthLocation(lat=38.9369*u.deg, lon= -95.242*u.deg, 
height=266.0*u.m)
# East horizon object
icrs = ICRS(ra=346.23611667*u.deg, dec=12.32287778*u.deg)
pressure = 98170.13549857 * u.Pa
altaz = icrs.transform_to(AltAz(obstime=t, location=earth_location, 
pressure=pressure))
tete = icrs.transform_to(TETE(obstime=t, location=earth_location))
tete_from_altaz = altaz.transform_to(TETE())

# West horizon object
icrs2 = ICRS(ra=172.53106667*u.deg, dec=9.27663056*u.deg)
altaz2 = icrs2.transform_to(AltAz(obstime=t, location=earth_location, 
pressure=pressure))
tete2 = icrs2.transform_to(TETE(obstime=t, location=earth_location))
tete2_from_altaz2 = altaz2.transform_to(TETE())


altaz_from_tete = tete_from_altaz.transform_to(AltAz(obstime=t, 
location=earth_location, pressure=pressure))


More information about the AstroPy mailing list