<p>The planetary orbits can not strictly be described by the usual Kepler elements anymore as they are disturbed by the other planets (Saturn in particular will for instance be heavily affected by Jupiter). The Kepler elements can therefore not be accurately defined but are only used as 'osculating elements' that approximate the actual orbit but vary from point to point. If you go to <a href="https://ssd.jpl.nasa.gov/horizons/app.html#/" rel="nofollow noreferrer">NASA's Horizons website</a> and get the ephemeris for the last Saturn year, you can see that the sidereal period (which is calculated for each point via Kepler's law from the semimajor axis A) varies from PR=1.072402392741634E+04 d to PR=1.083416198008542E+04 d over one Saturn orbit, whereas in the header data it gives 10755.698 d for the sidereal period (which is some average over recent data for a not further specified period).</p>
<p>So as the orbital period (and the other Kepler elements) fluctuate in this sense with time, they are not really suitable to use as fixed values for applications where high accuracy is needed. And for uncritical applications any value that falls within the range of the fluctuations should do.</p>

CC BY-SA 4.0
2022-01-21T23:21:23.447Z
We should also remember that the Sun itself doesn't even "stay in one place" but dances around with Jupiter, Saturn, Uranus and Neptune; the last of which is surprising because of its low relative mass until one considers that it makes up for that with distance.
uhoh
CC BY-SA 4.0
2022-01-22T09:47:31.603Z
@uhoh If you select 'osculating orbital elements' as the ephemeris type in the |Horizons app, these will refer to the center of the sun anyway (as they are essentially Kepler elements, albeit time dependent). It is only if you select 'Vector table' (i.e. x,y,z coordinates) that they are referred to the barycenter of the solar system.
Thomas
CC BY-SA 4.0
2022-01-22T09:56:06.197Z
Yes, you can ask for oscilating orbital elements of any body about any other body; Horizons will give you the osculating elements of Jupiter orbiting around Mercury, one of Saturn's moons or the Royal Observatory if you like.
uhoh
CC BY-SA 4.0
2022-01-22T12:27:04.293Z
@uhoh You can not refer the osculating orbital elements to any other than the center of the sun. It will result in an error message in the Horizons app if you try to do that. You can only do it for if you select ''Vector Table' (which gives you x,y,z coordinates) or 'Observer Table' (which gives you RA,DEC)
Thomas
CC BY-SA 4.0
2022-01-22T13:11:17.257Z
@uhoh I was referring to the osculating orbital elements of planets above. In general, they are only defined with regard to the primary body of the orbit. So you can not refer the orbital elements of a moon of Saturn to Jupiter for instance. You will get the error message "Cannot output osculating elements of satellite wrt non-primary center body".  In this case you can select only Saturn or the Sun (in the latter case it gives some non-sensical elements though like a negative semi-major axis and and infinite orbital period)
Thomas
CC BY-SA 4.0
2022-01-22T13:58:03.200Z
Oh I think that error message is new! I remember (but can not prove right now, I'll go digging) that *Horizons used to* allow crazier combinations; the algorithm doesn't care. I'll look back, I think about five years ago I did some tests like that. But yes now it seems to give an error message. " You can not refer the osculating orbital elements to any other than the center of the sun." You can also still ask for them relative to the solar system barycenter. Here's an [old example](https://space.stackexchange.com/a/24278/12102) but it still works today. https://i.sstatic.net/9ZHJL.png
uhoh
CC BY-SA 4.0
2022-01-23T19:07:44.617Z
@uhoh This error message when trying to use a reference point other than the primary body has been appearing at lest for the least 2 years or so (I have not used Horizons much before that, so I could not tell how it used to be). You can of course choose the solar system barycenter as reference point for the osculating orbital elements, but this is not how they are normally defined and used. There would be a high risk of misinterpreting your data if you define them this way. Anyway, this option has disappeared from the dropdown menu. You have to explicitly type 500@0 for this.
Thomas
CC BY-SA 4.0
2022-01-23T21:25:03.703Z
I certainly agree that it would be a bad idea to allow pure nonsense queries. I'll continue to try to remember to do some poking around to see if I can figure out why *I think I remember* that pure nonsense osculating elements of A around B queries were possible once.
uhoh
CC BY-SA 4.0
2022-01-21T19:11:19.647Z
2022-01-21T19:11:19.647Z
Thomas
<p>Wikipedia gives <span class="math-container">$10759.22$</span> days for sidereal period of Saturn. I have calculated a period from <a href="https://naif.jpl.nasa.gov/pub/naif/generic_kernels/spk/planets/" rel="nofollow noreferrer">de441_part-1.bsp</a> and obtained <span class="math-container">$10736.247\bar{2}$</span> days. Why such a big difference? Which is more accurate? What accuracy in percentage I can expect from periods of Jupiter, Saturn, Uranus and Neptune?</p>
<p>EDIT:
Code in Python 2.7:</p>
<pre><code>from datetime import datetime, timedelta
from skyfield.api import load
from skyfield.framelib import ecliptic_frame


def f(t):
    eph = load('de441_part-1.bsp')
    sun_eph = eph['sun']
    s_eph = eph['saturn barycenter']
    _, s_lon, _ = sun_eph.at(t).observe(s_eph).frame_latlon(ecliptic_frame)
    s_angle = s_lon._degrees
    print(&quot;s_angle = &quot;, s_angle)

ts = load.timescale()
t0 = ts.utc(-13188, 8, 11, 14, 4)
f(t0)
# ('s_angle = ', 1.7441721183417348e-05)
t1 = ts.utc(1878, 10, 8, 3, 55)
f(t1)
# ('s_angle = ', 1.4075963901504881e-05)
(t1-t0)/512.0
# 10747.657377115886
</code></pre>
<p>Indeed there was error somewhere, now I got another number, but it still is not equal to that of Wikipedia.</p>

CC BY-SA 4.0
2022-01-20T14:29:48.660Z
Not only Wikipedia, Nasa's website also states the same number, check here https://nssdc.gsfc.nasa.gov/planetary/factsheet/saturnfact.html, Even tropical year of saturn is  10,746.94 earth days only
Kavin Ishwaran
CC BY-SA 4.0
2022-01-20T15:22:02.390Z
I think you are looking for **accuracy**,  not  *precision*  .
Carl Witthoft
CC BY-SA 4.0
2022-01-20T20:11:40.547Z
It would be better if you had shown your calculation. You might well have made a mistake, and there's no way to tell.
David Hammen
CC BY-SA 4.0
2022-01-21T21:13:08.793Z
This may be helpful: [Nuances of the terms (mean / osculating / Keplerian / orbital) elements](https://space.stackexchange.com/q/14731/38535)
PM 2Ring
<planet><sidereal-period>
What is precision of planet periods data?
DSblizzard
# What is precision of planet periods data?

(Asked by: username_0 on 2022-01-20)

Wikipedia gives $10759.22$ days for sidereal period of Saturn. I have calculated a period from de441_part-1.bsp and obtained $10736.247\bar{2}$ days. Why such a big difference? Which is more accurate? What accuracy in percentage I can expect from periods of Jupiter, Saturn, Uranus and Neptune?
EDIT:
Code in Python 2.7:
from datetime import datetime, timedelta
from skyfield.api import load
from skyfield.framelib import ecliptic_frame


def f(t):
    eph = load('de441_part-1.bsp')
    sun_eph = eph['sun']
    s_eph = eph['saturn barycenter']
    _, s_lon, _ = sun_eph.at(t).observe(s_eph).frame_latlon(ecliptic_frame)
    s_angle = s_lon._degrees
    print("s_angle = ", s_angle)

ts = load.timescale()
t0 = ts.utc(-13188, 8, 11, 14, 4)
f(t0)
# ('s_angle = ', 1.7441721183417348e-05)
t1 = ts.utc(1878, 10, 8, 3, 55)
f(t1)
# ('s_angle = ', 1.4075963901504881e-05)
(t1-t0)/512.0
# 10747.657377115886

Indeed there was error somewhere, now I got another number, but it still is not equal to that of Wikipedia.

**Tags:** planet, sidereal-period
> **Comments:**
> **username_1**: Not only Wikipedia, Nasa's website also states the same number, check here https://nssdc.gsfc.nasa.gov/planetary/factsheet/saturnfact.html, Even tropical year of saturn is  10,746.94 earth days only  
> **username_2**: I think you are looking for **accuracy**,  not  *precision*  .  
> **username_3**: It would be better if you had shown your calculation. You might well have made a mistake, and there's no way to tell.  
> **username_4**: This may be helpful: [Nuances of the terms (mean / osculating / Keplerian / orbital) elements](https://space.stackexchange.com/q/14731/38535)  

---

## 1 answers

### Answer by username_5 on 2022-01-21. Score: 3 | Accepted answer

The planetary orbits can not strictly be described by the usual Kepler elements anymore as they are disturbed by the other planets (Saturn in particular will for instance be heavily affected by Jupiter). The Kepler elements can therefore not be accurately defined but are only used as 'osculating elements' that approximate the actual orbit but vary from point to point. If you go to [NASA's Horizons website](https://ssd.jpl.nasa.gov/horizons/app.html#/) and get the ephemeris for the last Saturn year, you can see that the sidereal period (which is calculated for each point via Kepler's law from the semimajor axis A) varies from PR=1.072402392741634E+04 d to PR=1.083416198008542E+04 d over one Saturn orbit, whereas in the header data it gives 10755.698 d for the sidereal period (which is some average over recent data for a not further specified period).

So as the orbital period (and the other Kepler elements) fluctuate in this sense with time, they are not really suitable to use as fixed values for applications where high accuracy is needed. And for uncritical applications any value that falls within the range of the fluctuations should do.

> **Comments:**
> **username_6**: We should also remember that the Sun itself doesn't even "stay in one place" but dances around with Jupiter, Saturn, Uranus and Neptune; the last of which is surprising because of its low relative mass until one considers that it makes up for that with distance.  
> **username_5**: @uhoh If you select 'osculating orbital elements' as the ephemeris type in the |Horizons app, these will refer to the center of the sun anyway (as they are essentially Kepler elements, albeit time dependent). It is only if you select 'Vector table' (i.e. x,y,z coordinates) that they are referred to the barycenter of the solar system.  
> **username_6**: Yes, you can ask for oscilating orbital elements of any body about any other body; Horizons will give you the osculating elements of Jupiter orbiting around Mercury, one of Saturn's moons or the Royal Observatory if you like.  
> **username_5**: @uhoh You can not refer the osculating orbital elements to any other than the center of the sun. It will result in an error message in the Horizons app if you try to do that. You can only do it for if you select ''Vector Table' (which gives you x,y,z coordinates) or 'Observer Table' (which gives you RA,DEC)  
> **username_5**: @uhoh I was referring to the osculating orbital elements of planets above. In general, they are only defined with regard to the primary body of the orbit. So you can not refer the orbital elements of a moon of Saturn to Jupiter for instance. You will get the error message "Cannot output osculating elements of satellite wrt non-primary center body".  In this case you can select only Saturn or the Sun (in the latter case it gives some non-sensical elements though like a negative semi-major axis and and infinite orbital period)  
> **username_6**: Oh I think that error message is new! I remember (but can not prove right now, I'll go digging) that *Horizons used to* allow crazier combinations; the algorithm doesn't care. I'll look back, I think about five years ago I did some tests like that. But yes now it seems to give an error message. " You can not refer the osculating orbital elements to any other than the center of the sun." You can also still ask for them relative to the solar system barycenter. Here's an [old example](https://space.stackexchange.com/a/24278/12102) but it still works today. https://i.sstatic.net/9ZHJL.png  
> **username_5**: @uhoh This error message when trying to use a reference point other than the primary body has been appearing at lest for the least 2 years or so (I have not used Horizons much before that, so I could not tell how it used to be). You can of course choose the solar system barycenter as reference point for the osculating orbital elements, but this is not how they are normally defined and used. There would be a high risk of misinterpreting your data if you define them this way. Anyway, this option has disappeared from the dropdown menu. You have to explicitly type 500@0 for this.  
> **username_6**: I certainly agree that it would be a bad idea to allow pure nonsense queries. I'll continue to try to remember to do some poking around to see if I can figure out why *I think I remember* that pure nonsense osculating elements of A around B queries were possible once.  

---

