Problem: Suppose an observer's latitude is 45 S and a star's RA/DEC is 3h15min/41S. On what date will the sun set with the star.

I have been stuck on this problem for a while.

I found out that the time of setting of a star is found using the formula:

$$\alpha+\arccos(-\tan(\delta).\tan(\phi))$$ $\implies3\frac{1}{4}^h+\arccos(-\tan(-41)\tan(-45)) = \alpha_{sun}+\arccos(-\tan(\delta_{sun})\tan(-45))$

$\implies 47.8 = \alpha_{sun}+arccos(tan(\delta_{sun}))$

I am not able to solve this any further.

Is there something wrong in my approach? Something I am missing?

If not how do I solve the above equation further?

Thanks in anticipation!

  • $\begingroup$ What do you mean by the sun 'sets with the star'? Can you explain this further? $\endgroup$
    – user10106
    Mar 29, 2018 at 12:35
  • 1
    $\begingroup$ It means that the star is on the horizon at the same time as the sun is on the horizion in the West. Its related to the old problem of estimating the Heliacal rising of stars. $\endgroup$
    – James K
    Mar 29, 2018 at 13:42
  • $\begingroup$ You sure you're not doing it the hard way? Here's the standard definition: "0 hours right ascension is by convention the right ascension of the sun on the vernal equinox, March 21." the DEC is not involved in this set/rise calculation. So maybe if you can calculate the sun's set time, just invert until you get the desired RA value. $\endgroup$ Mar 29, 2018 at 14:36
  • $\begingroup$ I've edited my answer to make it more accurate $\endgroup$ Mar 29, 2018 at 19:04

2 Answers 2


The formula you gave is to find the hour angle of the star while setting, not the setting time itself. Suppose the hour angle of star is $HA\star$, and $RA=\alpha$,then the Local Sidereel Time is given by $LST=HA\star+\alpha$. At the time of setting, $HA\star=10^h1^m30.2^s$. Thus, $LST=13^h16^m30.2^s$at the time of setting.

Now, $RA\odot=6^h$ on $\text{June} 21^{st}$ and $HA_\odot =\arccos(\tan(23.43^{\circ}))=4^h17^m17^s$ at sunset. Thus the star sets with the sun after $\text{ June} 21^{st}$. Since $RA_\odot$ increases approximately by $2^h$ every month, we can assume that the star sets with the sen near $\text{July }21^{st}$. Let it set after $n$ days. At $\text{July }21^{st}$, $\delta_\odot = 20.09^{\circ}$ which gives us $HA_\odot=4^h34^m11^s$, and $RA_{\odot}=8^h9^m44^s$. The $HA_\odot$ at sunset is approximately the same for nearby dates. Since $\delta_\odot$ is also near the maximum, we can approximate $\Delta RA_\odot= \omega_\odot n$. Thus,

$$13^h16^m30.2^s=8^h9^m44^s + \omega_\odot n + 4^h34^m11^s$$ $$ \omega_\odot n =0.5433^h$$ $$n=8$$

At $\text{July } 29^{th}$, $\delta_\odot=18.23^{\circ}$, $HA_\odot= 4^h43^m6^s$, $RA_\odot=8^h42^m12^s$ which gives us $LST=13^h25^m18^s$, which is a bit more than expected. Trial and error for few days before gives us that on $\text{July } 26^{th}$, the sun sets at LST $13^h15^m9^s$ which would be the most appropriate answer.

Thus, the sun sets along with the star at $\text{July } 26^{th}$


ERROR: My program incorrectly assumes that the sun's sidereal rising time is always increasing. This is generally true, but not near the poles. In those cases (and I hope to add more details later), there can be multiple heliacal rising/setting/etc dates, and the program will either give a completely incorrect answer, or, at best, only one of the heliacal rising/setting/etc dates. I am hoping to "fix" this soon.

This is not an answer, but I've written a very basic proof-of-concept page at https://barrycarter.github.io/pages/HELIACAL/ which computes the heliacal rising and setting(as well as dawn/dusk rising/setting) for stars at any right ascension and declination, and for cities at any latitude and longitude. You can also select from a list of big cities and bright stars. Note that the longitude field is not actually used and does not affect the computation. Notes:

  • The dates given should be very accurate for the year 2020, but less accurate further from 2020.

  • I used precession-corrected positions for the Sun, but J2000 positions for the stars, but the inaccuracy thus generated should be very small.

  • The code does account for refraction, the sun's angular radius, and the Equation of Time (more details below).

  • Source code: https://github.com/barrycarter/pages/tree/master/HELIACAL

  • The source code is in JavaScript, and all files you need to run it are in the source code above. The code is entirely client-side and does not make any server connections. If you download it, you should be able to run it even without an Internet connection.

  • I livestreamed my attempts to solve this problem. The recordings are available at https://www.youtube.com/playlist?list=PLQiTKaefaTLpfUVJETwWX31IxLypqA7xy (videos 81-87 with 'heliacal' in the title). However, there are several highly off-topic digressions, and, even when I stay on-topic, the process of watching me work out this answer may not be helpful.

  • I included dawn/dusk rising/setting because even bright stars may not be visible when the sun is rising or setting, but should be visible when the sun is 6 degrees below the horizon (start/end of civil twilight).

  • Stars rise about 4 minutes earlier every day. This means that:

    • The heliacal dates are only approximations, and a star might rise/set/etc +-2 minutes (in some cases more) from when the Sun does.

    • Stars rise with the sun before they rise at dawn; realistically, this means a given star will be first visible in the morning sometime between it's heliacal rise and it's dawn rise.

    • Conversely, a star may be visible at dusk ("first star I see tonight") one day, and not be visible at all the next day.

  • I originally tried to use a simple closed-form formula for solar right ascension and declination:

ra = 2*Pi*d/365.242

dec = 23.4*Pi/180 * sin(ra)

where ra is the right ascension, dec is the declination, 365.242 is the length of the tropical year, 23.4 is the inclination of the ecliptic in degrees (converted to radians via multiplying by Pi/180), and d is the number of days since the vernal equinox.

Unfortunately, because this formula completely ignores the Equation of Time (https://en.wikipedia.org/wiki/Equation_of_time), it was excessively inaccurate when I used Stellarium to check my results.

I ended up using CSPICE to generate solar positions and Mathematica to create an interpolation good to within 5 seconds of arc: https://github.com/barrycarter/bcapps/tree/master/ASTRO/bc-approx-sun-ra-dec.m

  • I was hoping to find a closed-form formula for heliacal rising date, but, even ignoring refraction, the sun's angular radius, and the Equation of Time, I couldn't find such a formula, even with the free Wolfram Cloud's (https://www.wolframcloud.com/) help.

  • I still believe there may be a closed-form approximation that does not require iterative searching like my current solution does. I believe that graphing the "heliacal rising date" function (which has three inputs: right ascension, declination, and latitude) might help find that closed-form approximation.

  • $\begingroup$ Edited to indicate there is an error in the program. $\endgroup$
    – user21
    Jan 23, 2020 at 13:52

You must log in to answer this question.

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