Project Space Track

During the early years of the space age techniques were developed to track objects in orbit and predict their future position. The mathematical technique for calculating an orbit is called a Simplified General Perturbations (SGP) model. These models were first used in the 1960s and were refined during the 1970s. This work was done by NORAD – the North American Aerospace Defense Command.

NORAD satellite tracking
“Satellite watchers in the Space Computational Center, NORAD Headquarters, track all the satellites orbiting earth.” Credit: U.S. Information Agency / National Archives, 1982

The computations were performed on large mainframe computer systems that cost several million dollars each. One of these computers was used for ballistic missile warning. A second was dedicated to space surveillance and tracking satellites. A third was available on standby as a backup system in case one of the primary computers failed. The various objects being tracked in air and space were displayed on consoles such as the one shown above.

Honeywell 6080 mainframe
The processor and memory cabinets of a Honeywell 6080, 1972. Not shown are the disk and tape drives. A typical system might have one or two dozen cabinets. Credit: Bob’s Mainframe Computer Site
For more about the presence of the unidentified woman in the photo see Only the Clothes Changed: Women Operators in British Computing and Advertising, 1950–1970.

During the late 1970s the U.S. Aerospace Defense Command used a Honeywell 6000 series mainframe to generate the orbital elements that describe the motion of a spacecraft. The image above shows an example of this type of computer. It was capable of executing one million instructions per second. For comparison the Raspberry Pi computer in the Brown Space Engineering ground station that is used to track EQUiSat is about 5,000 times faster and fits in a box the size of a textbook.

EQUiSat ground station
The ground station computer and radio for tracking EQUiSat, July 2018.

These early computers were programmed in a language called FORTRAN IV. This was the fourth version of the FORmula TRANslation compiler that was commonly used for scientific applications during this era. The orbital calculations consist of 216 lines of code that occupy 5 kilobytes of memory. A sample listing of the SPG4 subroutine published by Project Space Track is shown below. A mainframe would take 1 1/4 seconds to compute the orbit of a satellite at one minute intervals over a time-span of  a day.

SGP4 computer program
A sample of the FORTRAN computer program for computing satellite orbits, 1980. Credit: Project Space Track / Aerospace Defense Center

During this era running a computer program often involved entering data using punch cards. Each card is ​7 38 by ​3 14 inches and has rectangular holes spaced 80 columns wide and 12 rows high. The pattern of holes in the card represents either a single line of a computer program or data to be processed. The image below shows a NASA report describing the details of how information about the properties of one star is encoded on a single punch card. The Goddard Space Flight Center Punched Card Star Catalog contains approximately 300,000 of these cards. The full set of cards would form a stack about 53 meters (175 feet) tall.

Star catalog on punch cards
A NASA publication from 1962 with an example of a punch card.

The orbital elements that describe the motion of a spacecraft are formatted to fit on two of these punch cards. A third card is used to specify which computer model to use (ie. for a spacecraft near Earth or one in deep space) along with the range of dates and times for the prediction. Modern computers still use this same format which is now stored in a small text file called a two-line element set.

Orbital elements example
An example of the two-card element set format, 1980. Click on the image to see the full format. Credit: Project Space Track / Aerospace Defense Center

The holes in these cards are punched by a machine connected to the computer. The computer software uses observations of the satellite to compute the orbit and then punch the solution onto a two-card set. There was also a three-card set that included static data such as the country from which it was launched and the type of mission. The image below shows a punch card station used in the early 1970s to create and read these cards. The orbital elements were also published by NASA in bulletins. The information could then be entered into a computer to make predictions for each satellite using the published source code.

UNIVAC card punch machine
A UNIVAC 1710 VIP (Verifying Interpreting Punch) machine, 1969. Credit: The Retro-Computing Society of RI

For more information about the history of the mathematical models used for satellite tracking see Revisiting Spacetrack Report #3. Source code for SPG4 in several modern programming languages is also available for download.

Leave a Reply

Your email address will not be published. Required fields are marked *