I just want to ask if someone does possess the formula linking the local hour to the right ascension of the ascending node (RAAN).

I will try to explain myself: I know that I want my satellite to be on a sun-synchronous orbit 10h30-22h30 with 10h30 corresponding to my local time of ascending node (LTAN) as my entrance parameter; and I want to know the RAAN because in every software simulating an orbit the entrance parameter is the RAAN.

So how can I pass from the LTAN to the RAAN?

  • $\begingroup$ I presume with RAAN you mean Right Ascension of the Ascending Node, and with LTAN you mean Longitude of the Ascending Node (which I only know as LAN)? In that case, both are exactly the same - its just a different name for the same thing/number. $\endgroup$
    – Polygnome
    Jul 19, 2017 at 10:56
  • 4
    $\begingroup$ In this context, I think LTAN means Local Time of the Ascending Node. $\endgroup$
    – Christoph
    Nov 22, 2018 at 13:48

1 Answer 1


Some tools do allow you to plug in local time of node crossing and then calculate the RAAN ($\Omega$) for you, but they may be out of your budget range. Rather than implement it yourself, I recommend skipping to the end and downloading some standard astronomy software. But, if you really want to do it by hand, the rest of this will get you started.

The easy part is to find the longitude of the ascending node. This is just converting local time to degrees. Conventionally, this is done using ordinary wall clock time, which is based on the position of a fictitious "mean sun", located where the sun would be observed to be if earth's orbit were perfectly circular, which it isn't. All details more complicated than that are deferred to later paragraphs. Since a full circle of 360 degrees takes 24 hours to complete, each hour is 15 degrees. This means the 10:30 orbit is $10.5 \times 15 = 157.5$ degrees from the midnight orbit, and $(12-10.5) \times 15 = 22.5$ degrees from the noon orbit. However, how do you decide where midnight and noon go? The easiest choice is to specify your orbit epoch at 00:00, so the 00:00 orbit (green) is at 0 degrees (prime meridian), the 06:00 orbit (magenta) is at 90 degrees (Asia), the 12:00 orbit (yellow) is at 180 degrees (Pacific), and the 18:00 orbit (cyan) is at 270 (aka −90) degrees (Americas). This makes the 10:30 orbit (red) pass through its ascending node at epoch 00:00 at 157.5 degrees east longitude (between Australia and New Zealand).

ground tracks of 5 sun sync sats at 400 km altitude

The ground track from each of those to their next ascending node is shown in the image above, which I made using STK. Note that the shaded part of earth in the image is centered over 0 longitude. This is true at 00:00 UTC, but the shadow (the part of earth hidden from the sun by the other part of earth) drifts to the left at the same average rate that these satellites' ascending nodes do, so that 00:00 remains in the middle of the dark and 12:00 remains in the middle of the light, because that's exactly what sun-synchronous means.

For simplicity, I have made all of the examples circular orbits with the same nominal altitude of 400 km. This is why the end of one noon orbit (yellow) nearly touches the start of one 10:30 orbit (red), because a typical LEO satellite has an orbit period of close to an hour and a half. At 400 km, the period is 92.4 minutes, so the yellow curve overshoots the red start slightly, by 0.6 degrees = 2.4 minutes $\div$ 60 (minutes per hour) $\times$ 15 (degrees per hour). Also, having picked the eccentricity (zero) and semimajor axis (6778 km), I am not free to choose the inclination! There is only one value $i$ is allowed to equal (slightly over 97 degrees) at that $a$ and $e$, or the orbit plane ($\Omega$, RAAN) will drift too fast or too slow to keep in synch with the sun.

The hard part is finding the right ascension of the prime meridian. This is part of converting the coordinate system we've been using, which rotates with earth (ECF, "earth-centered fixed"), to a different coordinate system, which is referenced to distant stars (ECI, "earth-centered inertial"). There are several different kinds of each, and the slight differences between their definitions may cause serious errors in your calculation if you are not careful about determining which kind of ECF and ECI the tool you're plugging into wants you to use. Different textbooks have different preferences, and it's important to keep on the lookout for cases where the meanings of the variables named in the book or article you are reading do not match the meanings of the variables named in the software you are using.

One textbook that treats this process in great detail is David Vallado's Fundamentals of Astrodynamics and Applications. The portion of the book devoted to time systems and conversions fills pages 174 to 239 of the 4th edition (2013). The number you're trying to calculate is usually called the Greenwich Hour Angle (GHA) or Greenwich Mean Sidereal Time (GMST), which describes the angular position of the prime meridian with respect to the standard reference direction. This is nominally the spring equinox, aka "the first point of Aries", written with the symbol good Aries or $\unicode{9800}$. This is amusing because thanks to the precession of earth's equinoxes at the rate of about one degree per 72 years, the spring equinox nowadays actually points to Pisces. Figure 3-23 on page 186 of Vallado shows that in his usage, GHA and GMST both measure the same angle, but GMST measures it positive counter-clockwise from equinox to Greenwich, and GHA measures it positive clockwise from Greenwich to equinox. Vallado's recommendation for computing it is first to find the Julian date (JD), using $$ B = 2 - I \left[ \frac{Y}{100} \right] + I \left[ \frac{ I \left[ \frac{Y}{100} \right]}{4} \right]\ , \ \ \ \ \ \ C = \frac{\frac{\frac{s}{60*}+m}{60}+h}{24}\ ,$$ $$JD = I[365.25(Y+4716)] + I[30.6001(M+1)] + B + C + d - 1524.5$$ where $I[x]$ means truncate the value to the integer part of $x$, h m s are time of day in hours, minutes, and seconds, "60*" means "60, or 61 if the current minute contains a leap second", d is day of month, M is month and Y is year, unless the month is January or February, in which case subtract 1 from Y and add 12 to M. Happily, C is 0 for midnight, but be aware that the zero point of Julian date is actually at noon, not midnight. The B term calculates the number of days offset between the Julian and Gregorian calendars, and it wants Gregorian inputs. Armed with that, find $T = (JD - 2451545) / 36525$, the number of (fractional! don't truncate this) Julian centuries since the J2000 epoch, and finally compute the angle of GMST in degrees as $$100.4606184 + 36000.7705361\ T + 0.00038793\ T^2 - 2.6\times 10^{-8}\ T^3$$

That'll get you started for constellation planning (what number you stick in for RAAN), but it's not enough for real on-orbit operations. To do that, you need to be more precise, including things like the differences among UTC, UT1, TT, perhaps TDB, and other timescales; the polar wander of the earth's axis of rotation; International Astronomical Union nutation theories; and other complications.

The best way to proceed into that mess is don't write the code yourself, but copy it from a reliable and painfully detailed source, such as the Standards of Fundamental Astronomy, while keeping in mind the IERS Conventions.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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