

		 ͻ
		   Satellite Orbital Prediction Software  
		           By John A. Magliacane          
		     KD2BD Software - Copyright 1994    
		 ͼ

						  
* INTRODUCTION *
----------------
PREDICT is a satellite orbital prediction program written in 'C' for the 
MS-DOS operating system by John A. Magliacane, KD2BD in 1994.  It was 
designed specifically to assist in Amateur Satellite communications, and 
contains features useful in making visual observations of larger satellites.  

PREDICT was originally designed to run on a 1 MHz Commodore 64 computer
in 1992.  As a result, the orbital tracking and prediction algorithms 
contained in PREDICT have been optimized for high speed operation.  During 
its development, the program crossed over from the C64 environment to 
several multi-user Unix and SunOS platforms, and then finally over to 
MS-DOS.  This version issued in 1994 is menu driven and supports a mouse.


* CONDITIONS OF USE *
---------------------
The files contained in this software package are the property of John A. 
Magliacane, copyright 1994.  You are welcomed to share this software with 
others provided it is distributed in a complete and unmodified form and 
that no fee or other consideration is charged or accepted.  You are granted 
the right to use this software for non-commercial purposes without further 
permission.  Commercial use of PREDICT without the expressed written 
permission of the author is strictly forbidden.  John A. Magliacane, the
author of this software, shall not be liable in any way for any damages
arising out of the proper or improper use of this software or its related
files.


* GETTING STARTED *
-------------------
The main program menu of PREDICT provides the following program options:

	[F1]  : Predict Satellite Passes
	[F2]  : Auto Update Keplerian Data Base
	[F3]  : Keyboard Edit Of Data Base
	[F4]  : Satellite Orbital Information
	[F5]  : Ground Station Information
	[?]   : Help!
	[ESC] : Exit Program

The satellite ground station callsign and geographical location information 
may be entered using the [F5] editing utility.  Ground station location
should be entered in decimal degrees north latitude (south is entered as 
negative), and decimal degrees west longitude.  Your altitude above ground 
should be entered in meters.  The hour differential between your system
clock and UTC should also be entered.

All satellite programs require current Keplerian data for the satellites
of interest to the ground station operator.  PREDICT holds orbital data
for 21 of your favorite satellites.  Keplerian data is available from a 
variety of sources in several different formats.  The most popular is the 


"NASA 2-line" format.  This format is available through NASA and AMSAT 
information sources on packet radio, telephone BBSs, and the Internet.  
It contains the satellite name on a single line followed by two lines of 
orbital data.  Redundancy is incorporated into this format through the use 
of a modulo 10 checksum digit on the end of each line:

MIR
1 16609U 86017A   94111.21750077  .00004090  00000-0  58434-4 0  5749
2 16609  51.6453 111.7160 0015230 167.5089 192.6283 15.58719614467153

PREDICT's "Auto Update" [F2] mode accepts orbital data in this form contained
in an ASCII text file and verifies the data against the checksum digits to
insure accuracy.  It links object numbers between the 2-line element file
and the predict.dat file when the "Auto Update" program option is chosen.
This allows the user to label a satellite with a different name than what
is indicated in the 2-line element file.

When auto updating orbital data from a 2-line element source file, PREDICT
rejects all extraneous ASCII text, mail headers, etc., that may come either
before or after valid 2-line element data.  In addition, it will only update 
from Keplerian data that has a reference epoch time equal to or greater than 
the data currently held in the predict.dat file.

Keplerian orbital data may also be entered through the keyboard using the 
keyboard editing utility [F3].  In either case, the satellite program keeps 
the old Keplerian data file as a back-up (predict.old).

Orbital data can be entered, changed, or edited manually using the [F3]
program option.  New satellites can be added to PREDICT's orbital data
base by entering the new data into the program using the [F3] option.
This can be done automatically if a NASA 2-line element file is available.
Simply enter the satellite name and object name manually using the [F3]
utility.  Accept the old orbital data by pressing ENTER at each line, then
run the "Auto Update" function [F2], and the orbital data for the new
satellite will be added to PREDICT's data file.

Once the program is loaded with Keplerian data and the ground station
location, it is ready to run.


* SATELLITE ORBITAL PREDICTION *
--------------------------------
The satellite orbital prediction mode begins by prompting the user for a 
satellite selection from a list of 21 satellite names:


	[A]: OSCAR-10           [H]: OSCAR-20           [O]: OSCAR-27

	[B]: OSCAR-11           [I]: RS10/RS11          [P]: MIR      

	[C]: OSCAR-13           [J]: RS12/RS13          [Q]: UARS

	[D]: PACSAT             [K]: RS14/AO21          [R]: NOAA-9

	[E]: DOVE               [L]: OSCAR-22           [S]: NOAA-10

	[F]: WEBERSAT           [M]: OSCAR-23           [T]: NOAA-11

	[G]: LUSAT              [N]: ITAMSAT            [U]: NOAA-12




Selection can be either via the keyboard or by clicking the mouse on
the satellite name displayed on the screen.  The user is prompted for
a starting date and time to begin the orbital prediction calculations.  

The starting time must be entered in UTC using the format: 
	
	 DDMonYR HH:MM:SS

such as: 01May94 02:00:00

The default starting date and time is the current date and time and may be
accepted simply by pressing the [ENTER] key and not entering any time.

If the satellite is in range at the time entered, PREDICT will move back                      
in time to find the time of AOS, and start printing an orbital calendar
starting at AOS.  Tracking data is displayed one screen at a time.  A typical
satellite pass might look something like this:

		      KD2BD's Orbit Calendar For RS14/AO21
	 Date     Time    El   Az  Phase  Lat   Long    Range   Orbit
	-------------------------------------------------------------
	01May94 02:01:08   0  172   110    10     70     3659   16311
	01May94 02:02:58   7  169   114    16     69     2982   16311
	01May94 02:04:47  16  165   119    22     69     2328   16311
	01May94 02:06:33  28  158   123    28     68     1745   16311 +
	01May94 02:08:10  45  140   127    34     68     1325   16311 +
	01May94 02:09:29  56  103   130    38     67     1159   16311 +
	01May94 02:10:31  54   64   133    42     67     1191   16311 +
	01May94 02:11:36  42   39   135    45     66     1371   16311 +
	01May94 02:12:58  29   26   139    50     65     1734   16311 +
	01May94 02:14:35  17   18   143    55     64     2262   16311 +
	01May94 02:16:20   8   14   147    61     62     2888   16311 +
	01May94 02:18:08   1   12   151    67     58     3558   16311 +
	01May94 02:18:36   0   11   153    68     57     3731   16311 +

The information displayed is defined as follows:

Date  : Date in UTC
Time  : Hours, minutes, seconds UTC in 24 hour format
El    : Satellite elevation above the ground station horizon in degrees
Az    : Satellite azimuth heading (North = 0 degrees)
Phase : Modulo 256 orbital counter.  Perigee = 0, Apogee = 128
Lat   : Sub-satellite point latitude in degrees North
Long  : Sub-satellite point longitude in degrees West
Range : Distance between the satellite and the ground station in kilometers
Orbit : Orbit number.  Number of perigees that have occurred since launch

A '*' symbol at the end of the line indicates the satellite is in sunlight.  
A '+' symbol indicates it is in sunlight while the ground station is in 
twilight.  Some larger satellites are visible under these conditions as 
reflected sunlight causes them to appear as "stars" moving across the sky.
If the end of the line is blank, the satellite is not in sunlight.

Each screen is concluded with the prompt:

	More? [y/n] >> 



Entering the letter 'n', hitting the ESCAPE key, or clicking the right 
mouse button ends the orbital prediction calculations, while entering a 
'y', pressing the ENTER key, the space bar, or clicking the left mouse 
button causes the program to advance to the next screen of orbital 
predictions.


* LOGGING SCREEN OUTPUT TO A FILE *
-----------------------------------
A screen logging feature is available in PREDICT and is activated by 
pressing CTRL-BACKSPACE while in the orbital prediction mode.  Orbital 
predictions displayed on the screen can be logged to a file for future 
reference or printing using this feature.  Once activated, the current 
screen and all subsequent orbital prediction screens are copied to a file 
named "satname.txt".  Invalid filename characters are replaced with an
underscore ('_') character.

The file logging feature is de-activated by pressing CTRL-BACKSPACE once 
again, or by exiting the orbital prediction mode.  If it is re-activated 
once again at a later time for the same satellite, the orbital data will be
appended to the older data using the same file name.  The file may be
edited at a later time using the DOS text editor and printed on a printer.


* CONTRIBUTIONS WELCOMED *
==========================
A considerable amount of time and effort has gone into the development
of PREDICT.  If you find this software useful, a reasonable contribution
would be appreciated.  Not only would a contribution help compensate for the
hard work and long hours that have gone into the development of this accurate
and easy-to-use satellite orbital prediction program, but your financial
support would also serve as encouragement for the author to pursue enhanced
versions of PREDICT and other related software.

Checks should be made payable in US funds to the author and sent to the
following address:

	John A. Magliacane, KD2BD
	1320 Willow Drive
	Sea Girt, New Jersey 08750-2315

Comments and suggestions regarding PREDICT are also welcomed with your
payment.  

Thank you!

73, de John, KD2BD