# Why does the tropical year have a ~161 years cycle?

Using PyEphem, I calculated the time difference between consecutive summer solstices in the south hemisphere for the last 4000 years, and plotted them in a graph. It seems like random noise around the mean, but the amplitude seems to oscilate with a period of around ~161 years. What explains this behavior?

Code used:

import ephem

date = ephem.Date("2023/01/01")
solstice = ephem.previous_winter_solstice(date)
for i in range(4000):
previous_solstice = ephem.previous_winter_solstice(solstice)
print(solstice - previous_solstice)
solstice = previous_solstice

• I suspect that it's due to some cycle involving the Moon, similar to what happens with perihelion & aphelion, as I explained here. Commented Jun 4, 2023 at 15:44
• OTOH, just playing with various mean month & year lengths I can't make a simple 161 year cycle. The best I can do is 239 years, just under 1½ of your cycles. Roughly, 2956 synodic months = 3168 anomalistic months = 239 tropical years = 87293 days. sagecell.sagemath.org/… Commented Jun 4, 2023 at 15:45
• The paper Fedorov, V.M. "Interannual variations in the duration of the tropical year." Seems to be about this. The abstract says that it is due to "perturbations" but the article is behind a paywall. Commented Jun 4, 2023 at 16:15
• If I include the synodic period of Jupiter (398.88404 days), then I get 6011 synodic, 6442 anomalistic, 445 Jupiter, 486 Tropical ~= 177508 days, which is intriguing. ;) Commented Jun 4, 2023 at 16:17
• @JamesK: I have read the article, but it mentions no 161-year period. I suspect, as PM 2Ring does, that it has to do with Moon cycles. Multiplying the apsidal precession period (8.61 years) by the nodal precession period (18.6 years) gives 164.61 years, which is close to 161 years… Commented Jun 4, 2023 at 22:14