Making Real-Time Computations: Satellites
Have you ever wondered why you often see this example of the International Space Station (ISS) in promotion pieces for Wolfram|Alpha and the Wolfram|Alpha App? Aside from the example being visually interesting, the results highlight Wolfram|Alpha’s ability to make complex real-time computations.
Wolfram|Alpha provides some great real-time computations in many, many areas, including satellites. So what is a satellite? There are many definitions, but here we use the term to describe any artificial object in orbit around Earth that has an official North American Aerospace Defense Command (NORAD) number. This means NORAD tracks it and has assigned an official catalog number to it. The code behind Wolfram|Alpha’s dynamic satellite computations is rather complex.
The gray “window” surrounding the satellite’s position in Wolfram|Alpha’s output represents the area on the Earth that should be able to see the satellite. I’ve actually verified the results by checking Wolfram|Alpha and then watching the ISS pass within range of my home.
If you’ve ever wondered what goes into determining the orbit of a satellite, essentially it all boils down to something called a two-line element (TLE). These TLEs are standardized by NORAD and define the parameters necessary to describe the orbit and position of a satellite. When you display a satellite’s orbit, the results are only as good as the TLE. You may be surprised to know that not all satellites have their TLEs updated constantly. Some satellites have their TLEs updated far more frequently than others. Due to effects from atmospheric drag and also satellite maneuvers, the TLE of a satellite may change quite often. In Wolfram|Alpha, the age of the TLE being used for a given query can be found under the position graphic.
A TLE essentially has a time stamp on it. For a given TLE, you can compute the position of a satellite fairly accurately as long as the specified date is near the time of the TLE. Trying to project the position of a satellite into the future becomes more and more unreliable because a TLE does not specify what future maneuvers or other changes may occur. However, Wolfram|Alpha uses a large collection of historical TLEs so that when you query for the position of a satellite in the past, we use the TLE closest to the specified date to compute the orbit and position. Here’s an example specifying a date in the past:
Of course most satellites’ orbits decay eventually like that of Sputnik 1. You can also learn about these decayed satellites using Wolfram|Alpha. If it’s currently decayed, you will get a “typical orbit” to give you an idea of how its orbit was oriented. If you specify a time and optional location during which the satellite was in orbit, you can see where it was on that date (and location):
Many people would be surprised to know that there are over 35,000 objects being tracked in Earth orbit. Most of these are debris, including everything from the tool bag accidentally released during work on the ISS to debris from the collision of satellites (you can specify these by providing their NORAD numbers, as they typically don’t have unique names to make a proper name query useful):
It tells you how many satellites, including debris, are visible above your local horizon as well as the names of some non-debris satellites visible from your location (you can click on the names to bring up a popup containing a link to those satellites). The graphic at the bottom represents the Earth as the blue sphere in the center. Points in red are those satellites visible from your location. The gray cloud nearest Earth are the ones in low Earth orbit. Changing the zoom level to “Geosynchronous satellites” will give a wider view showing an “outer shell” of satellites that orbit at nearly the same rate that the Earth spins. Due to time constraints imposed by the system, the above query only works for the current time, but you can specify other locations. In the future, perhaps we will add some sort of textured surface map for a better point of reference. The number of computations required for this visualization is quite challenging due to the time constraints allowed per query, but with the computational power of Wolfram|Alpha’s servers, we were able to just pull this off.
As time moves forward, we will be adding more and more satellites as they are launched, so keep watching—and if you’ve never seen the ISS, Wolfram|Alpha can help show you where it is so you can schedule a memorable outdoor activity.