I'm making a program for predicting satellite passes. I'm trying to find out if the satellite is illuminated by the Sun and not in Earth's shadow. I need to know its phase angle: the angle between the observer on Earth, the satellite and the Sun.

Please explain it in simple terms if possible.

(Inserted by reviewer, extension to question, posted originally as answer)

I have TLE data for the satellite (contains right ascension). From that I got ECI position, azimuth, elevation, altitude. For observer I have latitude and longitude and for the sun: elevation and azimuth.

  • 1
    $\begingroup$ What do you have of available data? The right ascension and declination of the satellite? $\endgroup$ – Tosic Sep 18 '19 at 16:45
  • $\begingroup$ If you're using CSPICE, naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/cspice/phaseq_c.html may help -- if not, you could try looking at the source. $\endgroup$ – user21 Sep 18 '19 at 17:26

Draw the triangle Sun-Earth-Satellite, we will first find the angle Sun-Earth-Sat.

The angle between the Sun, the observer, and the satellite will be the angular separation between the Sun and the satellite on the observer's sphere. Here is how you could calculate that:

  1. You have horizontal coordinates for both bodies so the easiest way to go from there would be to look at the spherical triangle Zenith-Sun-Sat, the angle at zenith will be the difference between azimuths, and the Zenith-Sun and Zenith-Sat lengths will be $90^{\circ}-h_{Sun}$ and $90^{\circ}-h_{Sat}$, respectively.

  2. Now using the cosine formula for spherical triangles, one may obtain the following formula:


  1. Now use the sine theorem to find the angle E-Sun-Sat (the sine of this angle divided by the sine of the one we calculated will be equal to the ratio of distances from the Earth to the satellite, and from the satellite to the Sun, respectively), and to find the third angle, subtract the two from $180^{\circ}$.

Note: if you do not know the distance from the Sun to the satellite, I am certain you may use the distance from the Earth to the Sun as the error is probably negligible.

| improve this answer | |
  • $\begingroup$ For most satellites, Earth-Sun-Sat is 1 arcminute or less and can be neglected. $\endgroup$ – Mike G Oct 19 '19 at 4:27
  • $\begingroup$ You can estimate sinx = x, but I wouldn't say you can completely disregard it, that would change the picture altogether ... $\endgroup$ – Tosic Oct 19 '19 at 6:06
  • $\begingroup$ Assuming Earth-Sun-Sat = 0 adds an arcminute of error to Sun-Sat-Earth. Whether you go to the additional trouble depends on the precision you require. $\endgroup$ – Mike G Oct 19 '19 at 6:09
  • $\begingroup$ You may be right, it was just way more convenient for me to explain it this way, with all the additional troubles :-) $\endgroup$ – Tosic Oct 20 '19 at 6:52
  • $\begingroup$ I've adjusted the formatting of your post, can you take a look to make sure this is what you intended? Thanks! $\endgroup$ – uhoh Jun 15 at 6:40

As long as you have the required ephemerides, which I assume you do given the problem at your hand, doesn't it just suffice to compute the dot product between the satellite-to-sun and satellite-to-observer vectors and thereby get the arccos of the phase angle ? In my point of view, this would be the most straight-forward way.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.