I am trying to implement an algorithm I created to get the sun rise, transit and set accurately, but in order to do that I need to get the Earth-Moon barycenter (EMB) perihelion, and not the Earth perihelion. I tried to get such time using the Horizons System, but it resulted in weird outputs (it showed that the perihelion is around December 1st, 2021, but it should be closer to the Earth perihelion at January 4th, 2022). Are there alternatives to get the EMB perihelion time?

  • 2
    $\begingroup$ I am unable to reproduce your results. I found EMB perihelion to have occurred at 2022-Jan-03 20:16:08 TDB using Horizons. Tell us what points you selected, what outputs you selected, and how you determined when perihelion occurred. I chose the Earth Moon barycenter as one point, the center of the Sun as the other, and vectors as output. I then looked where range rate changed from negative to positive. $\endgroup$ Mar 20 at 17:30
  • 1
    $\begingroup$ It appears you might have chosen the solar system barycenter rather than the center of the Sun as one of the two points of interest. Using Horizons, I am seeing a perihelion passage time of 2022-Jan-03 20:16:08 TDB but a pericenter passage time of 2021-Dec-03 00:44:09 TDB. $\endgroup$ Mar 20 at 17:54
  • 1
    $\begingroup$ It's true, I used the solar system barycenter. How do I set it to the center of the Sun? I couldn't find the option anywhere. $\endgroup$
    – ordptt
    Mar 20 at 17:57
  • 2
    $\begingroup$ You might be heading down the wrong path, you do not need to know the EMB perihelion to compute the sunrise and sunset. If the ephemeris you're using only gives you the Moon, and EMB, you need to compute the Earth position by multiplying by that vector by the Earth/Moon mass ratio, but you don't need it's parhelion. Predicting the sunrise/set to within 1 minute is nearly impossible due to atmospheric effects. You can get results within the margin of error, just by using the EMB as the Earth's position. $\endgroup$ Mar 21 at 14:29
  • $\begingroup$ The Sun has the body id number 10 in Horizons. $\endgroup$
    – PM 2Ring
    Mar 27 at 23:00

1 Answer 1


From a comment by the OP,

How do I set it to the center of the Sun?

Select Vector table as the ephemeris type. Choose the Earth-Moon barycenter as the target body and @sun as the coordinate center. The only value you're interested in in the output is the range rate. Look for when it changes from negative to positive if you're looking for perihelion passage time, or from positive to negative if you're looking for aphelion passage time.

  • 1
    $\begingroup$ "Range" is the distance between the target and coordinate center. "Range rate" is the time derivative of that distance. Range rate (RR) happens to be the last of the nine elements in the output table, so it's easy to spot when it changes sign. $\endgroup$ Mar 20 at 18:23

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .