Those lights in the sky used to just be stars. Now, no matter where you are on Earth, a satellite (or more likely several) is in view too. You might not know exactly where your local GPS or Globalstar satellite is flying, but luckily SaVi, a satellite visualization, application, does.
SaVi specializes in simulating and explaining types of satellite constellations. Satellites in a constellation move together in carefully synchronized orbits, in order to provide global coverage for applications such as navigation or communication. SaVi shows these orbits in 3-D and gives users an idea of how the systems and orbits are put together.
Other programs that simulate satellite orbits tend to either focus on real-world satellite positioning and tracking for amateur radio and astronomy hobbyists, or on very detailed orbital simulation for professional users who already know exactly what they need and are willing to pay for it. By contrast, SaVi focuses on classic orbital dynamics rather than complete this-is-where-they-are-now realism. That, in addition to the fact that it’s free, puts SaVi in a niche by itself.
Project leader Lloyd Wood took over maintaining SaVi from original authors Patrick Worfolk and Robert Thurman after their employment at the University of Minnesota’s Geometry Center ended when the center closed down due to cancellation of funding in 1997. “I found SaVi useful in my Ph.D. work on satellite constellations. I kept playing with and using the software, and once I graduated, I finally found time to contribute back and start developing it further. I put a release up on SourceForge.net in 2001, and I’ve been tweaking and rewriting bits of SaVi ever since.”
SaVi is written in C, with Tcl/Tk for the command scripting and user interface. “Tcl/Tk was as obvious choice for Patrick, the primary author,” Wood says, “as he’d previously helped write a dynamic simulation package called DsTool, with a GUI originally using XView/Open Look. DsTool then got adopted to use the more portable Tk for its interface in its version 3, and that gave a proven (if now somewhat antique) user interface library to start with. Tcl’s quite useful as a high-level way to script simulations and let non-programmers get results without too much work.”
To publicize the software in its early days, Wood put graphics of the various satellite systems on web pages he maintained that tracked developments in satellite constellations while they were the Next Big Thing. Nowadays people often find out about SaVi when they come across renderings of the systems SaVi simulates. SaVi’s output has appeared in a number of academic papers and press articles, and SaVi has been used by a number of organizations planning to construct satellite constellations. “Unfortunately, SaVi’s imagery is often used without attribution, despite a picture credit being SaVi’s one requirement,” Wood notes. “For example, a recent Robert X. Cringely article took a SaVi image from my first academic paper in 1997 without a credit, and ignored requests for (and deleted blog comments giving) an attribution. Thanks so much, Bob!”
If you want SaVi renderings to illustrate an article, try these large, high-quality images; you may need to scale them down.
Wood makes new releases every six months or so. Some releases include new features or system simulations, but many keep SaVi building smoothly across a wide variety of platforms. The latest 1.4.3 version, released this week, builds on, among others, Ubuntu 9.10, Fedora 12.0, Cygwin for Windows, and Mac OS X 10.6 Snow Leopard.
While Wood is the only active maintainer, he has a long to-do list of issues that he wouldn’t mind some help with. “I’d also like to do OpenGL directly without requiring Geomview, as that would make SaVi more immediately useful, portable, and faster – but that’s a lot of work, and not likely to be something I’d get to solely by myself. Modernizing SaVi’s Tk user interface library with menu shortcuts, more flexible widgets and so on, is another goal.” Volunteers can post a message to a SaVi mailing list or directly to Wood.
|Tips from Lloyd Wood|
Running savi -debug displays a lot of useful information to stderr. Quite often people can get simulation figures and results they need by just looking at and tweaking the existing debug output; there really is a full simulator hiding under that graphical interface. Like the fisheye, the coverage view is resizeable; you can see what’s happening over the Pacific by just dragging the coverage window wider.
My favourite satellite view is to turn off the solid Earth body to get an outline of the continents, turn on footprints, and switch to spherical view in Geomview, looking out and up at the satellites. You can compare that with the fisheye view to see how satellites move in the sky.