Jean Meeus' Astronomical Algorithms, 2nd ed. p. 99 gives a formula for finding the two longitudes where the ecliptic crosses the horizon:

$$\tan\lambda = \frac{-\cos\theta}{\sin\epsilon \tan\phi + \cos\epsilon\sin\theta}$$

where "$\epsilon$ is the obliquity of the ecliptic, $\phi$ is the latitude of the observer, and $\theta$ is the local sidereal time, returns $\lambda$ the longitudes of the two points of the ecliptic which are (180 degrees apart) on the horizon".

The software I am using then applies $\arctan$ to get $\lambda$ and adds $\pi$ if $\lambda < 0$. Then it returns $\lambda$ and $\lambda + \pi$.

I need to know which of the two angles returned points to the easterly direction. Is there any way to tell which is which? I have all of the information needed to perform the calculation (UT, local time, sidereal time, latitude, longitude), but I can't see how they are related.

Thanks much!

  • $\begingroup$ $\lambda$ must be the ecliptic longitude, but what are the other values? $\endgroup$
    – JohnHoltz
    May 18, 2020 at 12:27
  • $\begingroup$ @JohnHoltz Good question, I've updated the text to say include what each value means. $\endgroup$ May 19, 2020 at 2:29

1 Answer 1


These steps can be used to find which of the two horizons is to the east:

The local sidereal time equals the right ascension ($\alpha$) of the meridian. From equation (13.3) that transforms the ecliptical into equatorial coordinates, the ecliptic longitude of the meridian ($\lambda_m$) can be calculated. Since the ecliptic latitude is zero ($\beta=0$) on the ecliptic,

$$\frac{\tan(\alpha)}{\cos(\epsilon)} = \tan(\lambda_m)$$

Note that $\lambda_m$ must be in the same quadrant as $\alpha$. If this is not the case, add 180 degrees. Of the two ecliptic longitudes calculated to intersect the horizon, the one that is approximately 90 degrees greater than the adjusted $\lambda_m$ is the one that is in the east.

  • $\begingroup$ Thank you! I'll try this out tomorrow and let you know if it works. $\endgroup$ May 19, 2020 at 14:17
  • $\begingroup$ Unfortunately this isn't giving me the result I expect for my test case. I'm using $\theta=2.571rad$ and $\epsilon=0.409rad$. If I put those results in my original formula I get the two angles $.861rad$ and $4.003rad$ of which I know the latter is the correct. If I use your formula, substituting $\theta$ for $\alpha$, I get $-.610rad$ to which I can add $\pi$ and arrive at $2.531rad$ which is not either of the expected values. Do you have any advice? $\endgroup$ May 20, 2020 at 3:00
  • $\begingroup$ @ShawnLauzon. I added a statement about the ecliptic longitude of the meridian and sidereal time being in the same quadrant. So -0.610 rad that you found for the meridian's longitude and added pi to gives the ecliptic longitude of the meridian = 2.531 radian in the correct quadrant. Adding pi/2 to the longitude of the meridian gives the approximate eastern point = 2.531+pi/2=4.102 radian. So 4.003 radian that you found from your formula is the ecliptic longitude where it rises in the east. $\endgroup$
    – JohnHoltz
    May 20, 2020 at 4:35
  • $\begingroup$ Thanks for your comment @JohnHoltz, and that works for the original problem, but not for another one. With a sidereal time of 3.575 rad, the two longitudes calculated are 1.449 (Q1) and 4.591 rad (Q3) (the second one is east). $\lambda_m$ is calculated to be 0.467 rad (Q1). Adding $\pi/2$ = 2.0381 rad (Q2) which does not point to the correct answer. I imagine I'm doing something wrong, but can't tell what. $\endgroup$ May 20, 2020 at 8:35
  • $\begingroup$ 0.467 radians is wrong because it is not in the same quadrant as 3.575 radians. 0.467+pi=3.609 radians is the correct value for the longitude of the meridian, plus pi/2=5.179 radians. So Q3 (4.591) is the longitude to the east. $\endgroup$
    – JohnHoltz
    May 20, 2020 at 12:20

You must log in to answer this question.

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