<p>Simon Littlefair of Sheffield University gives <a href="http://slittlefair.staff.shef.ac.uk/teaching/phy115/session2/moreCel/moreCel.html" rel="nofollow noreferrer">formulae for adjusting for precession</a></p>

<p>$$
Δα = M + N \sinα \tanδ
$$
$$
Δδ = N \cosα
$$</p>

<p>where M and N are given by</p>

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

<p>and $T$ is defined as</p>

<p>$$
T = (t-2000.0)/100
$$</p>

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

<p>(formulae quoted directly from the website)</p>

<p>So you would have T = 0.17, M= 0.21782075093,N=0.09464464234</p>

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

<p>Alternately caltech provide an <a href="https://ned.ipac.caltech.edu/forms/calculator.html" rel="nofollow noreferrer">online calculator</a></p>

CC BY-SA 4.0
2018-07-01T23:11:47.060Z
2018-07-01T23:11:47.060Z
James K
<p>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.</p>
<p>The exact answer depends on the precise meaning of the question, since &quot;RA and DEC for 01.01.2017&quot; 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:</p>
<pre><code>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=':'))
</code></pre>
<p>which gives 17:58:38.91262 +04:41:33.5019.</p>
<p>The formulae quoted above give 17:58:38.91406 +04:41:32.8530, which gives you some idea about the precision of the formulae.</p>
<p>However, you may want &quot;JNow&quot; 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...</p>
<p>In astropy the coordinate frame for apparent place is TETE:</p>
<p><a href="https://docs.astropy.org/en/stable/api/astropy.coordinates.TETE.html" rel="nofollow noreferrer">https://docs.astropy.org/en/stable/api/astropy.coordinates.TETE.html</a></p>
<p>In this case you would want something like (assuming an observing location of La Palma, Spain):</p>
<pre><code>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=':'))
</code></pre>
<p>which gives 17:58:37.14350 +04:41:40.7183</p>

CC BY-SA 4.0
2022-11-11T17:21:41.680Z
2022-11-11T17:27:02.753Z
2022-11-11T17:27:02.753Z
Stuart P Littlefair
<p>I'm currently stuck on a problem. 
I have the RA and DEC for JD2000:</p>

<p>RA = 17 57 48.49980</p>

<p>DEC = + 04 41 36.1114</p>

<p>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.</p>

<p>Thanks in advance.</p>

CC BY-SA 4.0
2018-07-01T21:56:28.110Z
I think your question would be better if you would ask in a more generalized form, i.e. ask for "how can I convert...".
peterh
CC BY-SA 4.0
2018-07-02T16:54:35.447Z
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" (http://www.iausofa.org/).
Gerard Ashton
CC BY-SA 4.0
2022-11-11T23:31:20.293Z
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.
Greg Miller
<coordinate><precession>
Calculation of RA and DEC
Egi
# Calculation of RA and DEC

(Asked by: username_0 on 2018-07-01)

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.

Thanks in advance.

**Tags:** coordinate, precession

> **Comments:**
> **username_1**: I think your question would be better if you would ask in a more generalized form, i.e. ask for "how can I convert...".  
> **username_2**: 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" (http://www.iausofa.org/).  
> **username_3**: 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.  

---

## 2 answers

### Answer by username_4 on 2018-07-01. Score: 4

Simon Littlefair of Sheffield University gives [formulae for adjusting for precession](http://slittlefair.staff.shef.ac.uk/teaching/phy115/session2/moreCel/moreCel.html)

$$
Δα = 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](https://ned.ipac.caltech.edu/forms/calculator.html)


---

### Answer by username_5 on 2022-11-11. Score: 3

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


---

