Washington Apple Pi

A Community of Apple iPad, iPhone and Mac Users

electric pi


Starry Night Deluxe
and the Tracking of Spacecraft

by David L. Harris

Washington Apple Pi Journal, September/October 1999, pp. 52-60, reprint information

Last Christmas, after some hinting on my part, my brother gave me Starry Night Deluxe version 2.1.3 from Sienna Software. SND is one of a number of "planetarium" programs available for the Macintosh. Some other general-purpose ones are Redshift 3 from Piranha Interactive Publishing, Distant Suns from Easysoft Creations, Night Sky from Kaweah Software, and Voyager II from Carina Software. (You can get information on these programs through http://www.seds.org/billa/astrosoftware.html or http://www.skypub.com/resources/software/software.shtml.) I have not used any of these alternatives except briefly an earlier version of Redshift on a PC, so I cannot compare SND with the others. In addition, I have by no means explored all the capabilities of SND, and I probably never will, so this will not be an exhaustive review of it. I will begin with a short overview of SND, and then present a much more detailed account of how to use one of its capabilities that has interested me. Possibly that part of the program will interest a few others also.

Overview of Starry Night Deluxe

Messages posted on some Usenet astronomy newsgroups indicate that SND is one of the most highly regarded planetarium programs for the amateur. Others may be better for printing sky charts or controlling telescopes, for more advanced users, though both of these are possible using SND. A realistic presentation of what you can see is supposed to be one of the strengths of SND. It can simulate the view from any point within or near the solar system. You can see how the stars, planets, moons, comets, galaxies and other deep-space objects will appear from any point on Earth or from the other planets or moons (see Figure 1 for a view of Saturn and the sun as seen from one of Saturn's moons, Tethys), or sitting on a comet or asteroid, at any time you wish. You can create QuickTime movies of events, add your own earthly scenery or add an astronomical body, complete with its properties and surface appearance, and track its movement through the solar system.

Figure 1: Saturn as seen from Tethys

SND comes with a great deal of data. One example is a pre-prepared view of the solar eclipse of August 11, 1999, which can be viewed as it progresses, in a Starry Night Deluxe window. Figure 2 shows the moon's shadow over Europe at 10:27 Universal Time on August 11 (6:27 AM Eastern Daylight Time). The circle shows the area in which the sun would be seen partially eclipsed; if you look closely at the center of the circle, near the border between France and Belgium, southeast from the English Channel, you can see the small black dot of totality.

Figure 2: Total solar eclipse of August 11, 1999

Close to home

Figure 3 shows a typical SND opening screen, in this case what you might see with clear skies looking in a southwesterly direction from a location in Washington, DC at 8:35 PM on September 16, 1999. To the left of the view window is a tool palette; I have also opened a time-control palette and one for picking the solar-system body you want to work with (at the moment it's Earth). You can see the screen is rather cluttered; a monitor considerably larger than my 14" one would be nice. The palette windows can be closed, however, if desired. Prominent in the evening sky are the moon and Mars. (Clicking on any object with the pointer tool will bring up its name.)

Figure 3: Starry Night Deluxe opening screen

Using the tool palette on the left one can specify a viewing location, height above ground, magnification, turn a constellation marker on or off, toggle time and planet palettes on and off, find angular sizes, and so on. With the time palette one can make time run forward or backward in user-specified intervals, or set a far-off date and time. Menu options let you find objects by name, toggle constellation boundaries or overlay coordinate lines on or off, and more.

Details of a special project: tracking spacecraft

SND comes with a full complement of stars, planets, and deep-space objects. As shipped it includes only a small number of asteroids and comets. Fortunately the user can add new ones, using the Orbit Editor and the Planets palette. From Figure 3 you can see I've added Mir and the International Space Station as satellites of Earth (see palette at the upper right). You can add bodies around any planet, moon, or the sun, or edit orbital elements of ones already added. These "bodies" can be asteroids, comets, spacecraft, or what have you. All that is required is to find their "orbital elements" to make it possible to track them in the sky. For comets and asteroids these elements have been determined by astronomers and may be found, for instance, on the Web in a format suitable for use in SND at http://cfa-www.harvard.edu/iau/Ephemerides/Soft07.html. I have added several asteroids and comets that are targets of presently travelling spacecraft. Data for earth satellites such as Mir and ISS can be found at http://celestrak.com/. See for instance Celestrak's 100-brightest-satellites data file. Once the orbital elements for earth satellites are entered into SND, you can see satellites travel across the sky by letting the time run with the Time palette. Or, print charts ahead of time, showing their paths in the sky for later viewing outdoors. I have found SND's predictions of paths and times for satellites to be quite accurate, at least for casual viewing, if the orbital elements are up to date (they change with time and must be renewed periodically). The most convenient format for entering earth-satellite orbital elements into SND's editor is the NASA two-line format-see Figure 4 for Mir. With this format one only has two lines of data for each satellite to copy from the text file found at the Celestrak site, and paste into the SND editor.


1 16609U 86017A 99188.23223394 .00028508 00000-0 21201-3 0 6457

2 16609 51.6595 241.2522 0004864 270.8955 89.1479 15.72569612764561

Figure 4: NASA two-line element set

    /_ /| /____/ \ /_ /| Horizons On-line Ephemeris System v2.80
    | | | | __ \ / | | | | Solar System Dynamics Group
 ___| | | | |__) |/ | | |__ Jet Propulsion Laboratory
/___| | | | ___/ | |/__ /| Pasadena, CA, USA
|_____|/  |_|/     |_____|/


Establishing connection, stand-by ...


JPL Horizons, vers SUN-v2.80
`?' for brief intro, `?!' for more details
System news updated JUN 28, 1999

Horizons> ?

Figure 5: JPL Horizons system opening screen

Orbital elements for a few interplanetary spacecraft may be found in a Jet Propulsion Laboratories system called Horizons. It can be accessed by telnet at ssd.jpl.nasa.gov,6775-that is, ssd.jpl.nasa.gov and port 6775. No password is required to access this system. Its rather intimidating opening screen is shown in Figure 5. Entering a ? or ?! at the Horizons> prompt will get you more information. Figure 6 shows what happens with the ?. Available spacecraft are found in the "major bodies" category-I don't know why. I have entered an "N*" at the prompt to get a list; Figure 7 shows, at its top, the bottom of that list of major bodies. You can see that these spacecraft are known in the system: Lunar Prospector, Cassini, NEAR, and Planet-B (which I believe is only in the thinking stage). I have typed -82 at the prompt to get information on Cassini; that appears in the lower part of Figure 7. Cassini is headed for Saturn, and at the time I write has rendezvoused with Venus twice, is headed back to Earth, thence on past Jupiter, to reach Saturn in 2004. All the in-between planet encounters are to boost the spacecraft towards its eventual destination (Saturn). These maneuvers are done because boosting on a direct path is beyond the capacity of the launch vehicle. At the bottom of Figure 7 I have entered an "e" to get the "elements" for entry into SND.

> Major-body: enter name OR body number OR IAU number OR fragments of them
ex : Horizons> mars (uniquely select Mars center; '499' does same)
Horizons> 501 (uniquely select Io)
Horizons> N* (list all major bodies with 'n' in an ID field)

> Asteroids & comets: enter fields to search, separated by semi-colon (;)
ex : Horizons> A < 2.5; IN > 7.8; STYP = S; GM <> 0; (Match parameters)
Horizons> QR < 1.0; ADIST < 1.1; LIST; (Match AND show values)
Horizons> Vesta; (or "ASTNAM = Vesta;" for faster search)
Horizons> DES=AN10*; (Objects whose designation contains "AN10")
Horizons> 1; (Object in file position #1)
Horizons> ; (Enter your own osculating elements)

Program information:
MB .......... Show planet/natural-satellite (major-body) ID fields.
SB .......... Show small-body search-field names & meanings.
NEWS ........ Display program news (new capabilities, updates, etc.).
?! .......... Extended help ('?' for brief help).

Program controls:
LIST ........ Toggle display of small-body match-parameter values.
PAGE ........ Toggle screen paging (scrolling) on or off.
EMAIL {X}.... Set your email address to {X} for output delivery.
TTY {R} {C}.. Check or reset screen size; "tty" or "tty 24 79" to set.
X ........... Exit JPL on-line system (also "QUIT" or "EXIT").
- ........... Return to the previous prompt (back-up!).

Horizons> N*
Multiple major-bodies match string "N*"

Figure 6: Horizons after entering "?"

899 Neptune
901 PI Charon
-25 Lunar Prospector (LP) Spacecraft
-82 Cassini Spacecraft
-93 NEAR Spacecraft
-178 Planet-B Spacecraft

Number of matches = 46. Use ID# to make unique selection.
Horizons> -82
Revised: Jan 03, 1999 Cassini Spacecraft (interplanetary) / (Sun) -82

Power at Saturn = ~660 Watts Data storage = 4 Gbits
Star catalog = 3700 stars Engineering Subsys = 12
Height = 6.8 m Engineering computers = 26
Primary s/w language = Ada Parts count > 100000
Transmitter power = 19 Watts (RF) Main engine thrust = 445 Newtons
Data Rate at Saturn = 140000 bits/s # of telemetry measurs = 11000
Orbiter Instruments = 12 Huygens Instruments = 6
Total sensors = 66 Radar power = 108 Watts
Fuel mass = 3132 kg

Attitude control = 3-axis stabil. Pointing accuracy = 2.0 mrad
Pointing Stability = 0.036 mrad/5-sec

Trajectories provided by the Navigation Team:
971105_SC-PLTEPH_LP0_SP0 1997-OCT-15 09:35 to 1998-MAY-03 12:00
981218_SCEPH_V1P7_SP0 1998-MAY-03 12:00 to 2004-JUL-01 12:00
Select... [E]phemeris, [F]tp, [K]ermit, [M]ail, [R]edisplay, ?, <cr>: e

Observe, Elements, Vectors [o,e,v,?] : e

Figure 7: Horizons does Cassini

In Figure 8 (still in the Horizons system; I am going to give you all the gory details) at the top I have given the sun as the coordinate system center, the ecliptic as the reference plane, starting and ending dates (on July 6, 1999) and times for the calculation, and calculation interval of one hour. (The figure is misleading in that one enters these one-by-one; they don't appear on your telnet screen all at once. This is a screen capture after I've entered all the factors.) All these choices are appropriate for an interplanetary spacecraft: the body it is orbiting is the sun, and the ecliptic is the average plane of the planets' orbits around the sun. I enter beginning and ending times and interval only an hour apart because I know from experience that this will give me the orbital elements that I want, without extra time-related information that I don't need.

### .... Input a BODY-CENTER integer code or name [fragment].
Coordinate system center [ ###, ? ] : sun
Reference plane [eclip, frame, body ] : eclip
Starting TDB [ex: 1997-Oct-15 21:41 ] : 1999-Jul-6 13:00
Ending TDB [ex: 2004-Jun-30 23:55 ] : 1999-Jul-6 14:00
Output interval [ex: 10m, 1h, 1d, ? ] : 1h

Current output table defaults --
Ref. Frame = ICRF/J2000.0
Units = AU-D
CSV format = NO

Accept default output [ cr=(y), n, ?] :
Working ... -
Ephemeris / PORT_LOGIN Tue Jul 6 05:27:22 1999 Pasadena, USA / JPL-Horizons
Target body name: Cassini Spacecraft (-82) {source: pfile_redesign_v2m189
Center body name: Sun (10) {source: DE-0406LE-0406}
Center-site name: BODY-CENTERED
Start time : A.D. 1999-Jul-06 13:00:00.0000 TDB
Stop time : A.D. 1999-Jul-06 14:00:00.0000 TDB
Step-size : 60 minutes
Center geodetic : 0.000000, 0.000000, 0.00000 {E-lon(deg),Lat(deg),Alt(km)}
Center cylindric: 0.00000, 0.000, 0.000 {E-lon(deg),Dxy(km),Dz(km)}
Center radii : 696000.0 x 696000.0 x 696000.0 k{Equator, meridian, polar}
Center body GM : 2.9591220828559109E-04 AU^3/d^2
Output units : AU-D, deg
Output format : 10
Reference frame : ICRF/J2000.0
Output type : GEOMETRIC osculating elements
Coordinate systm: Ecliptic and Mean Equinox of Reference Epoch

Figure 8: Horizons calculates

The middle and bottom of Figure 8 show the first part of the output from Horizons' calculations based on the choices I have made. Figure 9 shows the rest of that output (and the bottom where I have signed off with an x at the prompt).

e q i
2451366.041666667 = A.D. 1999-Jul-06 13:00:00.0000 (TDB)
0.5667651094049083E+00 0.7211138252310622E+00 0.1132651379031949E+01
0.1417450730075169E+03 0.1048569273025509E+03 -.7070044832840746E+01
0.4589691329344966E+00 0.3244932346736960E+01 0.1413914609845799E+02
0.1664486958196142E+01 0.2607860091161222E+01 0.7843664729657946E+03
2451366.083333333 = A.D. 1999-Jul-06 14:00:00.0000 (TDB)
0.5667641994752751E+00 0.7211138170342287E+00 0.1132653083980266E+01
0.1417449176438018E+03 0.1048570680649536E+03 -.7111720778106959E+01
0.4589705867303331E+00 0.3264070658190054E+01 0.1422126422899059E+02
0.1664483443336937E+01 0.2607853069639646E+01 0.7843639884738780E+03
Coordinate system description:

Ecliptic and Mean Equinox of Reference Epoch

Reference epoch: J2000.0
xy-plane: plane of the Earth's orbit at the reference epoch
x-axis : out along ascending node of instantaneous plane of the Earth's
orbit and the Earth's mean equator at the reference epoch
z-axis : perpendicular to the xy-plane in the directional (+ or -) sense
of Earth's north pole at the reference epoch.

Symbol meaning [1 AU=149597870.691 km, 1 day=86400.0 s]:

JDTDB Epoch Julian Date, Barycentric Dynamical Time
e Eccentricity
q Periapsis distance (AU)
i Inclination w.r.t xy-plane (degrees)
LAN Longitude of Ascending Node (degrees)
APF Argument of Perifocus (degrees)
ToP Time of last periapsis relative to epoch (P-E) (day)
n Mean motion (degrees/day)
MA Mean anomaly (degrees)
TA True anomaly (degrees)
a Semi-major axis (AU)
AD Apoapsis distance (AU)
PER Orbital Period (day)

Geometric states/elements have no aberration corrections applied.

Computations by ...

Solar System Dynamics Group, Horizons On-Line Ephemeris System
4800 Oak Grove Drive, Jet Propulsion Laboratory
Pasadena, CA 91109 USA
information: http://ssd.jpl.nasa.gov/
connect : telnet ssd.jpl.nasa.gov 6775
e-mail : horizons@ssd.jpl.nasa.gov
>>> Select... [A]gain, [N]ew-case, [F]tp, [K]ermit, [M]ail, [R]edisplay, ? : x
___ _____ ___
/_ /| /____/ \ /_ /| Horizons On-line Ephemeris System v2.80
| | | | __ \ /| | | | Solar System Dynamics Group
___| | | | |__) |/ | | |__ Jet Propulsion Laboratory
/___| | | | ___/ | |/__ /| Pasadena, CA, USA
|_____|/ |_|/ |_____|/
Disconnect: Tuesday, July 6, 1999 8:25 AM

Online 0:02:57

Figure 9: Orbital elements from Horizons

I know most of you who are still reading will find Figure 9 to be overwhelming. Even I have to look closely at Horizons each time I update the orbital information for the spacecraft I am following. Some of it can be ignored. Concentrate on what's between the lines of asterisks ****, and on the list of symbol meanings towards the bottom. You see, they really have tried to make it possible for the user to understand it! The symbols between the first two lines of asterisks (the meanings of which are expanded on in the lower part of the figure) correspond to the numbers between the second set of lines. Two entire sets of numbers are there, for the beginning and ending times of the calculation. I need only one set; either one is OK. JDTDB is the exact time and date in Julian days, a system in use by astronomers that avoids some calendar confusions by counting in days (and fractions) from an arbitrary starting point. A number such as 0.1048569273025509E+03 means 0.104… multiplied by 10 to the 3rd power (Exponent), which is 1000, producing 104.8569273025509. This one (APF, or Argument of PeriFocus) is measured in degrees. The usefulness of these numbers is that they can be entered into Starry Night Deluxe's Orbit Editor (You do still want to do that, yes?). Eventually we will be able to show the path of this spacecraft (Cassini) through the solar system on-screen.

Figure 10 shows SND's Orbit Editor for the Cassini spacecraft, which I had previously added to the database. There you can see an item called "Arg of pericenter (w)." The terminology is slightly different, but that corresponds to Horizons' Argument of PeriFocus (APF). Once one has converted APF to decimal form, the number can be copied and pasted into the corresponding field in Starry Night Deluxe. (The picture updates immediately.) Similar corresponding items can be found to enter in the other fields. Sometimes it is easier to switch the Orbit Editor Style to match field entries in SND with Horizons' terminology. (Not all its numbers are needed.) Figure 11 shows the Editor with Near-circular Style. The numbers in the fields translate when you switch from one Style to another. Once all the fields are filled in with new data, you can Save the data, which closes the Editor window. We are almost ready to view Cassini's orbit. Are you ready?

Figure 10: SND Orbital Editor window

Figure 11: Orbital Editor Style 2

As noted far above in this article, it is possible to tell SND to view the heavens from any point. I have created a window that shows the view from 25 AU due north of the sun. One AU, or Astronomical Unit, is the average distance of the Earth from the sun. It is about 93 million miles. "North" means on the same side of the ecliptic plane as north seen from Earth. Look at Figure 12. We are looking directly "down" on the sun; orbital paths of a number of bodies that I have added, as well as those of some planets, are shown. The day is July 6, 1999; time is 17:17:44 Universal Time. I chose that period, and got the Horizons information for Cassini, because it was several days after Cassini's second rendezvous with Venus, which took place on June 24. By July 6 the JPL system should know with good precision what are the new orbital elements of Cassini; they will have been changed by the encounter with Venus. July 6 is also before the first scheduled mid-course thruster firing after the Venus encounter, which is designed to move Cassini's path closer to Earth for the planned August 18 encounter with us. I wanted to see how accurately SND would predict the date and time of that encounter. One fact about SND is that it cannot calculate "three-body" gravitational effects. That is, it can deal with the gravitational pull of the sun on Cassini, but not that of Venus or Earth in addition. I had the orbit of Cassini before its encounter with Venus, but SND will not show the effect of that encounter on Cassini's trajectory. One must wait until after the encounter, get the new orbital elements from JPL's system, and let SND calculate the new orbit. (Upcoming versions of SND may be able to calculate at least some three-body interactions.)

Figure 12: 25 AU north of the sun

New orbital data must also be retrieved after every spacecraft mid-course correction thruster firing. One is scheduled for late July, and others may occur between then and the August Earth encounter (and afterwards).

I did enter the July 6 information into SND, and, using the Time palette, cause it to show what path Cassini would travel over time. Of course, this calculated path will not take into account the mid-course corrections that are planned to take place between July 6 and August 18. But I wanted to find out what SND would predict at this point. (This article must be submitted by late July!)

Figure 13 shows a magnified view, centered on Earth, of SND's prediction for the situation of August 17 (17:17 UT), one day before the expected encounter. All the bodies are moving to the left. Figure 14 shows the situation predicted with this data on August 18 at 07:20 UT. Cassini is moving to the upper left relative to Earth. Figure 15 shows the expected geometry of August 18, taken from the Jet Propulsion Laboratory's Cassini Web pages <http://www.jpl.nasa.gov/cassini/>. Closest approach is planned for 03:28 UT. This is, of course, the hoped-for situation after all mid-course maneuvers are completed. You can see by comparing Figures 15 and 14 that SND's prediction without the midcourse changes is not that much different from the actual planned encounter. (The figures do not have the same orientation.) I don't think SND's prediction, on the basis of incomplete data, is necessarily that accurate, but I find it very interesting to see what it produced!

Figure 13: One day before Earth encounter

Figure 14: Cassini encounters Earth, SND version

Figure 15: Cassini encounters Earth, JPL version


The above is a very detailed illustration of how you can add solar system bodies to the database of Starry Night Deluxe, presuming you can get the required orbital information. There are many other capabilities of SND that I have not explored. You could probably add your own Enterprise spaceship, complete with its appearance, have it fly by a planet of your own creation (but without the gravitational effects of that planet), and make a QuickTime movie of the encounter. I ran the program on my 68040 Performa 475 and now use it on a B&W G3 (where it is much faster, of course). Not too bad for a program that you may be able to convince someone to give as a gift. If not, the list price is $89.95.

Return to electric pi

Revised September 21, 1999 Lawrence I. Charters
Washington Apple Pi
URL: http://www.wap.org/journal/