PREDICT is a multi-user satellite tracking and orbital prediction program written under the Linux operating system by John A. Magliacane, KD2BD. PREDICT is free software. You can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License or any later version.
PREDICT is distributed in the hope that it will useful, but WITHOUT ANY WARRANTY, without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
The major features of PREDICT Version 2 include:
PREDICT tracks and predicts passes of satellites based on the
geographical location of the ground station, the current date and time as
provided by the computer system's clock, and Keplerian orbital data for
the satellites of interest to the ground station. First time users of
PREDICT are provided default ground station location and orbital
data information files. These files are managed by the program, and are
normally located in a user's home directory under a hidden subdirectory
named ".predict". First time users will be prompted to supply PREDICT
with their geographical location (the same as selecting option [G]
from the program's main menu) the first time the program is run. Latitude
is entered in decimal degrees north. Latitudes south of the equator are
entered as negative numbers. Longitude is entered as decimal degrees west.
Eastern longitudes may be entered as negative numbers. Station altitude is
entered as the number of meters the ground station is located above sea level.
This parameter is not very critical. If unsure, make a realistic guess or
simply enter 0.
Features
First Time Use
Users of PREDICT need Keplerian orbital data for the satellites they wish to track that is preferably no older than one month. The default orbital data supplied with the program are liable to be quite old, and so must be brought up to date if accurate results are to be expected. This may be accomplished by selecting option [E] from PREDICT's main menu and manually entering Keplerian data for each satellite in the program's database, or by selecting option [U] and specifying a file containing recent 2-line Keplerian element data sets that correspond to the satellites in the program's database. Keplerian orbital data is available from a variety of sources, including http://www.celestrak.com/ and http://www.amsat.org/.
The operation of PREDICT is uncomplicated by design. The start-up
screen of the program lists the program's main functions. Several tracking
and orbital prediction modes are available, as well as several utilities to
manage the program's orbital database.
Program Operation
Orbital predictions are useful for determining in advance when a satellite
is expected to come within range of a ground station. They can also be
used to look back to previous passes to help to confirm or identify past
observations.
PREDICT includes two orbital prediction modes to predict any pass above
a ground station (main menu option [P]), or list only those passes that
might be visible to a ground station through optical means (main menu option
[V]). In either mode, the user is asked to select a satellite of
interest from a menu, and then asked to enter the date and time (in UTC)
at which prediction calculations should start.
Predicting Satellite Passes
The current date and time may be selected by default by entering nothing and hitting simply the ENTER key when prompted to enter the starting date and time.
Otherwise, the starting date and time should be entered in the form:
DDMonYY HH:MM:SS
After this is entered, orbital calculations are started and prediction information is displayed on the screen.
The date and time in UTC, along with the satellite's elevation above ground, azimuth heading, modulo 256 orbital phase, sub-satellite point latitude and longitude, slant range between the ground station and the satellite, and the satellite's orbit number are all displayed. An asterisk (*) displayed to the right of the orbit number means the satellite is in sunlight at the date and time listed on the line. A plus symbol (+) means the satellite is in sunlight while the ground station is under the cover of darkness at the time and date listed. Under good viewing conditions, large satellites such as the International Space Station, and the US Space Shuttles are visible to the naked eye. If no symbol appears to the right of the orbit number, then the satellite is in the Earth's shadow at the time and date listed, and is not receiving any illumination from the sun.
Pressing the ENTER key, the 'Y' key, or the space bar advances the orbital predictions to a screen listing the next available passes. Pressing the 'L' key allows the currently displayed screen plus any subsequent screens to be logged to a text file in your current working directory. The name given to this file is the name of the satellite plus a ".txt" extension. Any slashes or spaces appearing in the satellite name are replaced by the underscore (_) symbol. The logging feature may be toggled on and off at any time by pressing the 'L' key. Exiting the orbital prediction mode by pressing 'N' or hitting the ESCape key will also close the log file. The log file will be appended with additional information if additional predictions are conducted for the same satellite with the logging feature turned on.
Selecting [V] from PREDICT's main menu will permit a ground station to only predict passes for satellites that are potentially visible through optical means. Since all other passes are filtered out in this mode, and since some satellites may never arrive over a ground station when optical viewing conditions are possible, the program provides the option of breaking out of visual orbital prediction mode by pressing the [ESC]ape key as calculations are made. A prompt is displayed at the bottom of the screen to alert the user of this option.
In either orbital prediction mode, predictions will not be attempted for satellites that can never rise above the ground station's horizon, or for satellites in geostationary orbits. If a satellite is in range at the starting date and time specified, PREDICT will adjust the starting date back in time until the point of AOS so that the prediction screen displays the first pass in its entirety from start to finish.
In addition to predicting satellite passes, PREDICT allows satellites
to be tracked singly in real-time using PREDICT's Single Satellite
Tracking Mode (main menu option [T]), or simultaneously as a group
of 24 using the program's Multi-Satellite Tracking Mode (main menu option
[M]). The positions of the Sun and Moon are also displayed when
tracking satellites in real-time.
Selecting option [T] from PREDICT's main menu places the program
in Single Satellite Tracking Mode. The user will be prompted to select the
satellite of interest, after which a screen will appear and display tracking
positions for the satellite selected.
Single Satellite Tracking Mode
In Single Satellite Tracking Mode, the current date and time are displayed along with the satellite's sub-satellite point, its orbital altitude in both kilometers and statute miles, the slant range distance between the ground station and the satellite in both kilometers and statute miles, the current azimuth and elevation headings toward the satellite, the orbital velocity of the satellite in both kilometers per hour and statute miles per hour, the footprint of the satellite in both kilometers and statute miles, the orbital phase of the satellite in both modulo 256 and 360, as well as the current orbit number. Additionally, if the satellite is currently in range of the ground station, the amount of Doppler shift experienced by the ground station receiving downlinks at 146 MHz and 435 MHz are displayed, as well as the one-way path loss for these frequencies. The predicted time of LOS as well as sunlight and visibility information is also displayed at the bottom of the screen. If the satellite is not in range, then the Doppler shift and path loss calculations are not performed, and the next predicted AOS date and time is shown at the bottom of the screen.
If a soundcard is present on your machine and the Single Satellite Tracking Mode is invoked with an uppercase 'T' rather than a lowercase 't', PREDICT will make periodic voice announcements stating the satellite's tracking coordinates in real-time. Announcements such as:
are made at intervals that are a function of how quickly the satellite is moving across the sky. Announcements can occur as frequently as every 50 seconds for satellites in low earth orbits such as the International Space Station (370 km), or as infrequently as every 8 minutes for satellites in very high orbits, such as the GE-2 geostationary satellite (35780 km). Voice announcements are performed as background processes so as not to interfere with tracking calculations as the announcements are made. Announcements can be forced at any time by pressing the 'T' key in Single Satellite Tracking Mode.
Selecting [M] from PREDICT's main menu places the program in
a real-time multi-satellite tracking mode. In this mode, all 24 satellites
in the program's database are tracked simultaneously along with the positions
of the Sun and Moon. Tracking data for the satellites is displayed in
two columns of 12 satellites each. The name, azimuth heading, elevation,
sub-satellite point latitude (in degrees North) and longitude (in degrees
West) positions are provided, along with the slant range (in kilometers),
and the slant range distance between the satellite and the ground station
(also in kilometers).
A letter displayed to the right of the slant range indicates the satellite's
sunlight and eclipse conditions. If the satellite is experiencing an
eclipse period, an N is displayed. If the satellite is in sunlight and the
ground station is under the cover of darkness, a V is displayed to indicate
the possibility that the satellite is visible under the current conditions.
If the satellite is in sunlight while conditions at the ground station do not
allow the satellite to be seen, a D is displayed. Satellites in range of
the ground station are displayed in BOLD lettering. The AOS dates
and times for the next three satellites predicted to come into range are
displayed on the bottom of the screen between the tracking coordinates of
the Sun and Moon. Predictions are not made for satellites in geostationary
orbits or for satellites so low in inclination and/or altitude that they
can never rise above the horizon of the ground station.
Multi-Satellite Tracking Mode
PREDICT may be run under the X-Window System by invoking it through the
xpredict script contained with the software. xpredict requires
that rxvt be installed on your system, although the script can be
modified to use xterm. Holding down the SHIFT key while pressing the plus
(+) and minus (-) keys allow PREDICT's window to be re-sized.
By default, PREDICT reads ground station location and orbital data
information from a pair of files located in the user's home directory
under a hidden subdirectory named ".predict". Ground station location
information is held in a file named "predict.qth", while orbital data
information for 24 satellites is held in a file named "predict.tle".
If we wish to run PREDICT using data from alternate sources instead of
these default files, the names of such files may be passed to PREDICT
on the command line when the program is started. For example, if we wish
to read the TLE file "visual.tle" and the QTH file "holiday.qth" rather
than the default files, we could start PREDICT and pass the names of
these alternate files to the program in the following manner:
If the files specified are not located in the current working directory,
then their relative or absolute paths should also be specified along with
their names (predict -t /home/kd2bd/orbs/visual.tle).
It is also possible to specify only one alternate file while using the
default for the other. For example,
reads QTH information from the default "~/.predict/predict.qth" location,
and TLE information from "visual.tle", while
reads QTH information from "bobs.qth" and TLE information from the default
"~/.predict/predict.tle" location.
It is also possible to update PREDICT's satellite orbital database
using another command line option that updates the database from a NASA
two-line element data set. PREDICT then quietly exits without
displaying anything to the screen, thereby eliminating the need for entering
the program and selecting the appropriate menu options. This option is
invoked using the -u command line switch as follows:
This example updates PREDICT's default orbital database with the
Keplerian elements found in the file "orbs248.tle". If an alternate datafile
requires updating, it may also be specified on the command line using the
-t switch as follows:
This example updates the "oscar.tle" orbital database with the two-line
element data contained in "amateur.txt".
These options permit the automatic update of PREDICT's orbital data
files using Keplerian orbital data obtained through automatic means such as
FTP or pacsat satellite download.
For example, the following script can be used to update PREDICT's
orbital database via the Internet:
To truly automate the process of updating your orbital database, save
the above commands to a file in your home directory (such as "kepupdate"),
and add the following line to your crontab (type crontab -e to edit your
crontab):
and PREDICT will automatically update its database every day at
2:00 AM.
In addition to tracking and predicting passes of satellites, PREDICT
may also be used to generate a NASA two-line Keplerian element data set
from data entered via keyboard. For example, let's say you're listening
to Space Shuttle audio re-broadcasts via WA3NAN and Keplerian elements for
the Space Shuttle's orbit are given by the announcer. The orbital data
provided by WA3NAN in verbal form may be manually entered into PREDICT's
orbital database using option [E] of the program's main menu (Keyboard
Edit of Orbital Database). The orbital data for the Space Shuttle in
NASA two-line element form can then be found in your orbital database
file, and may imported to any other satellite tracking program that
accepts two-line element files or distributed to others electronically.
It is also possible to run PREDICT as a background process and direct
its display to an unused virtual terminal by using the following command:
Switching to virtual console number 8 (ALT-F8) will allow PREDICT
to be controlled and displayed even after you've logged out.
Operating Under The X-Window System
Command Line Arguments
predict -t visual.tle -q holiday.qth
or
predict -q holiday.qth -t visual.tle
predict -t visual.tle
predict -q bobs.qth
"Quiet" Orbital Database Updates
predict -u orbs248.tle
predict -t oscar.tle -u amateur.txt
#!/bin/sh
# Simple script to update PREDICT's orbital database via the 'net.
ftp -n ftp.celestrak.com << !
user anonymous $LOGNAME@$HOSTNAME
binary
cd /pub/elements
get amateur.txt
quit
!
predict -u amateur.txt
0 2 * * * kepupdate
Neat Tricks
predict < /dev/tty8 > /dev/tty8 &
Glossary of Terms