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.
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.
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.
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.
During this era running a computer program often involved entering data using punch cards. Each card is 7 3⁄8 by 3 1⁄4 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.
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.
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.
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.