# Why does my Saturnian System simulation "rotate" over time?

I am attempting to create a "top-down view" of the Saturnian System, using the Keplerian Elements + Rates provided here: https://ssd.jpl.nasa.gov/?sat_elem#saturn

To verify the validity of my simulation, I am using this NASA simulator: https://space.jpl.nasa.gov/

When I compare my findings with the NASA simulation, I realize that I am doing something wrong:

1. JAN 1, 2000 (EPOCH): Simulation matches NASA simulation
2. JAN 1, 2002: Simulation needs to be rotated 30 degrees to match NASA simulation
3. JAN 1, 2004: Simulation needs to be rotated 60 degrees to match NASA simulation

So as time passes from the EPOCH I need to adjust my simulation by roughly 15 degrees per year to continue to have it match.

Why is this? Is this due to the changing angle between Saturn and the Earth, or am I not understanding the "Laplace Plane"?

NOTE: I am using the same logic I used to create a simulation for the 8 planets in our solar system and this simulation does not have this issue.

NOTE2: To calculate the "Longitude rate" for the moons, I multiple the value for "n" found on the JPL webpage by 36525 Julian Days (e.g. 381.9944948 degrees/day x 36525).

1) HOW I DO MY SIMULATION

First I used the elements & rates from the following JPL table: I noticed that the table does not give me "MEAN LONGITUDE" and "LONGITUDE OF PERIHELION". So I calculate them using the following formula:

• LONG. PERIHELION(W) = ARG. PERIHELION(w) + LONG. ASC. NODE(☊)
• MEAN LONGITUDE(L) = LONG. ASC. NODE(☊) + ARG. PERIHELION(w) + MEAN
ANOMALY(M)

Next to that, I realize I am missing the following rates:

• a
• e
• i

So I set those all to 0 degrees per century. I know this is not ideal, but I can't imagine these rates would amount to a 30 degree mismatch after 2 years.

Finally, I calculate the "LONGITUDE RATE" using this formula: LONGITUDE RATE = n * 36,525 JULIAN DAYS

Since the position of moons match with the NASA simulation @J2000, I would think I am making a calculation mistake with this "LONGITUDE RATE"...

2) ROTATION AFTER SHORTER TIME PERIODS (6 MONTHS + 1 YEAR)

1. JUL 1, 2000: Simulation needs to be rotated 10 degrees clockwise to match NASA simulation
2. JAN 1, 2001: Simulation needs to be rotated 20 degrees clockwise to match NASA simulation

So it doesn't look it is 360 + 30...

Find here the complete JS source code for the Saturnian Simulation for reference with the issue described here:

http://www.chris_j.dds.nl/saturnian.js

ALSO SEE SCREENSHOTS BELOW:

• It may be difficult to answer "what's wrong with my simulation" when you don't explain how you do your simulation or what effects you take into account. Real orbits are not Keplerian, there are all kinds of perturbations. Jupiter has a strong J2 for example, so if you are not using at least a quadrupole field your gravity isn't correct. Also, have you checked at shorter time periods, are you sure it's not 360+30 degrees every year instead of just 30 degrees?
– uhoh
Commented Jun 24, 2019 at 7:09
• Thank you for the feedback uhoh. I will add some additional information later today (including shorter time periods). Commented Jun 24, 2019 at 14:53
• Hi uhoh. I updated the question with additional information. Many thanks! Commented Jun 25, 2019 at 1:57
• that's great, I will have a look in a few minutes, thanks!
– uhoh
Commented Jun 25, 2019 at 2:02
• Hi uhoh, I have now also provided a link to the full JavaScript source code. It's a bit of a mess, but hope that helps. Commented Jun 25, 2019 at 5:12

As uhoh and Russell Borogove alluded to already, if I add a rotation rate for Saturn since Epoch J2000 for each of the moons, it matches the NASA simulation almost perfectly. Not sure why I need to do this, but it works.

So when calculating the MEAN LONGITUDE for the moon, I add the following longitude rate from Saturn:

MEAN LONGITUDE = MEAN LONGITUDE - (1222.49362201 x T)

(where "T" is centuries since the epoch)

See below screenshot, comparing positions of the moon on Jan 1, 2024 (the last year of the NASA simulation). This corresponds to a Saturn rotation of 293.4 degrees since J2000: