I am working on a Low to Medium fidelity orbit analysis tool. My key factor here is speed, I am analyzing constellations with 500 - 1000 satellites and want to be able to perform the analysis in under ~1 min. Now that is another story in its self, but I am analyzing specific cases of circular orbits which makes the propogation significantly easier.

My problem I am running into is converting from ECEF to ECI for access analysis. I know there are plenty of functions that use IAU reductions which I have used and tested. My problem is they take a decent bit of time and memory (for me 5-10 seconds is alot).

I have been referencing Vallado and it states a majority of the difference comes from Earths rotation. I have an efficient algorithm to calculate GAST, but I want to know what amount of error I am inducing by just accounting for earths rotation (meters, kilometers, tens of kilometers etc)?

I have found this nice tool ECEFtoECI which he claims can get accuracy compared to STK on the order of cm's. I seem unable to reproduce his information. Any insight would be greatly appreciated.


1 Answer 1


You must be using a computer from the 1960s to have even the most precise IAU earth orientation computation take "5-10 seconds".

That said, computing the Earth's orientation using an extremely accurate algorithm at some epoch time and then rotating the Earth by $2\pi$ radians per sidereal day ($7.29211585275553\times10^{-5}$ radians per second) about the Earth's z axis at the epoch time will have essentially zero error for the next few nanseconds after the epoch time, a negligible error for the next few microseconds to minutes (or perhaps even hours) after the epoch time, and an unacceptable and ever growing error thereafter.

Whether that "negligible error" pertains to just a few microseconds or multiple hours after the epoch time completely depends on the error tolerances of what you are doing. You haven't said what you are doing, or what your error tolerances are.

I've been asked this question multiple times, and my response to you will be the same as it has been to those who have asked in the past: I refuse to give a generic answer. I instead help them find their personalized answer by looking for that inflection point where the worst case error exceeds their error tolerance. Pick a few random epoch times and then at regular times thereafter, calculate the angular difference between a high precision calculation of the Earth's orientation versus the simple $2\pi$ radians per sidereal day about the epoch orientation. Find the inflection point for that randomly selected epoch time, repeat, and pick the worst case. In many cases, this inflection point is way beyond the point where it doesn't matter from the perspective of computational cost.

Another way to find this personal inflection point is to gradually increase the time between epoch computations until you start to see a negligible difference in computation time or a non-negligible difference in algorithmic output. Typically it's the negligible difference in computation time that wins, with some other computational hog now overwhelming the cost of computing the Earth's orientation. Why go beyond this point?

  • 2
    $\begingroup$ David, I do appreciate the honesty but I think it was a bit misunderstood. The computation time is because I am doing the calculation every second for 90 days. As for the accuracy, my question is independent of what the requirements of my simulation requirements are, hence why I didn’t go into great detail as the to the requirements of the simulation. My question was simply if you only account for earth rotation (I.e you have an accurate GAST calculation) then what type of accuracy error is induced $\endgroup$
    – S moran
    Commented Aug 24, 2019 at 11:01
  • $\begingroup$ So do the experiment. You say you have access to the high accuracy solution, and your GAST solution. Run them both out for the period of interest and compare the results. You can benchmark them at the same time and see how much that accuracy is costing you. $\endgroup$ Commented Aug 26, 2019 at 15:55
  • $\begingroup$ Agree with David as well - with modern computational resources earth orientation shouldn't be costing you this much. I'd take a look at my algorithm design. If that doesn't get you there, look into parallel processing - everything has multiple cores available now and stuff like OpenCL is pretty accesible. $\endgroup$ Commented Aug 26, 2019 at 15:57
  • $\begingroup$ @Smoran - Using GAST is so last century. (So last millennium, in fact!) The International Astronomy Union (IAU) 2000/2006 precession/nutation models replace the ecliptic and GAST with concepts called the Celestial Intermediate Origin (CIO) and the Earth Rotation Angle (ERA). These new concepts are simpler, faster, and more accurate than are older ones. There's a qualification on my use of "faster": This only applies if one uses a degraded nutation model. The most accurate nutation/precession model involves over a thousand different frequencies. These are needed if for microarcsecond astronomy. $\endgroup$ Commented Aug 27, 2019 at 1:05
  • $\begingroup$ The IAU models also provide a lower fidelity model, accurate to the milliarcsecond level, that is much faster than the higher fidelity model. And if even less fidelity is acceptable, I suggest using the approach outlined in my model: At various points in time, calculate Earth orientation using a IAU / ICRS model (possibly the lower fidelity model), but at intermediate points in time, rotate the most recent reference orientation about the instantaneous z axis. You do not need GAST or UT1 for these intermediate points in time. TT works quite nicely. $\endgroup$ Commented Aug 27, 2019 at 1:27

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.