# Calculation of RA and DEC

I'm currently stuck on a problem. I have the RA and DEC for JD2000:

RA = 17 57 48.49980

DEC = + 04 41 36.1114

I want to calculate the RA and DEC for 01.01.2017, how can I do it? The solution might be easy but I'm totally stuck right now.

• I think your question would be better if you would ask in a more generalized form, i.e. ask for "how can I convert...". Jul 1, 2018 at 21:56
• The answer changes depending on how accurate you need to be. If you really need to be accurate to 1/100,000 of an arcsecond, you will have to use the most sophisticated algorithms available. If that's the case, I would suggest using the library available at "Standards of Fundamental Astronomy" (iausofa.org). Jul 2, 2018 at 16:54
• It might help if you explain the purpose behind this. There are multiple levels of converting an astrometric (J2000) coordinate to an appaernt (of date) coordinate. And they are different for different object types, e.g. planets vs stars. Precession only will get you about arcminute precision. Nov 11, 2022 at 23:31

Simon Littlefair of Sheffield University gives formulae for adjusting for precession

$$Δα = M + N \sinα \tanδ$$ $$Δδ = N \cosα$$

where M and N are given by

$$M = 1°.2812323 T + 0°.0003879 T^2 + 0°.0000101 T^3$$ $$N = 0°.5567530 T - 0°.0001185 T^2 + 0°.0000116 T^3$$

and $T$ is defined as

$$T = (t-2000.0)/100$$

where t is the observation date, in years. $Δα$ is the change in RA that you would need to add, in degrees.

(formulae quoted directly from the website)

So you would have T = 0.17, M= 0.21782075093,N=0.09464464234

The actual changes in RA and Dec can be calculated from the trig formulae above.

Alternately caltech provide an online calculator

I received an email based off this question, as the notes linked above are not available any more. The best way to perform these coordinate transformations is arguably in Python with astropy. This will be more accurate, and work for a larger range of dates than the formulae above.

The exact answer depends on the precise meaning of the question, since "RA and DEC for 01.01.2017" is not very well defined. If you just want to apply precession of the equator, you probably want to transform your RA and Dec from whatever it is now into FK5 at the correct equinox. If you have J2000 coordinates they are probably in the ICRS frame and so you want, e.g:

from astropy import coordinates as coord
from astropy import units as u
from astropy.time import Time

coo = coord.SkyCoord('17 57 48.49980 +04 41 36.1114', unit=(u.hour, u.deg), frame='icrs')

equinox = Time('2017-01-01')
fk5_frame = coord.FK5(equinox=equinox)
coo_fk5 = coo.transform_to(fk5_frame)
print(coo_fk5.to_string(style='hmsdms', sep=':'))


which gives 17:58:38.91262 +04:41:33.5019.

The formulae quoted above give 17:58:38.91406 +04:41:32.8530, which gives you some idea about the precision of the formulae.

However, you may want "JNow" or apparent place, which are corrected for precession AND nutation of the Earth, plus for the aberration of starlight due to the Earth's motion. JNow is often used for pointing equatorial telescopes...

In astropy the coordinate frame for apparent place is TETE:

https://docs.astropy.org/en/stable/api/astropy.coordinates.TETE.html

In this case you would want something like (assuming an observing location of La Palma, Spain):

from astropy import coordinates as coord
from astropy import units as u
from astropy.time import Time

coo = coord.SkyCoord('17 57 48.49980 +04 41 36.1114', unit=(u.hour, u.deg), frame='icrs')

observatory = coord.EarthLocation.of_site('lapalma')
equinox = Time('2017-01-01')
jnow_frame = coord.TETE(obstime=equinox, location=observatory)
coo_jnow = coo.transform_to(jnow_frame)
print(coo_jnow.to_string(style='hmsdms', sep=':'))


which gives 17:58:37.14350 +04:41:40.7183