Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
PREDICT(1)			 KD2BD Software 		      PREDICT(1)

NAME
     predict - Track and predict passes of satellites in Earth orbit.

SYNOPSIS
     predict  [-u  tle_update_source]  [-t tlefile] [-q qthfile] [-d dbfile] [-a
     serial_port]  [-a1  serial_port]  [-n  network_port]  [-f	sat_name  start-
     ing_date/time   ending_date/time]	[-dp  sat_name	starting_date/time  end-
     ing_date/time]  [-p  sat_name  starting_date/time]  [-o  output_file]  [-s]
     [-east] [-west] [-north] [-south]

DESCRIPTION
     PREDICT  is a multi-user satellite tracking and orbital prediction applica-
     tion created by John A. Magliacane, KD2BD, for execution  under  the  Linux
     operating	system. PREDICT is free software. It may be redistributed and/or
     modified 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 provides real-time satellite tracking and orbital prediction infor-
     mation to users and client applications through the system console, through
     the command line, through a network socket, and through the  generation  of
     audio speech.

     Information  such as a spacecraft's sub-satellite point, azimuth and eleva-
     tion headings, Doppler shift, path loss, slant range, orbital altitude, or-
     bital velocity, footprint diameter, orbital phase	(mean  anomaly),  squint
     angle,  eclipse depth, propagation delay, the time and date of the next AOS
     (or LOS of the current pass), orbit number, and sunlight and visibility in-
     formation are provided on a real-time basis. PREDICT  can	even  track  (or
     predict the position of) the Sun and Moon.

     PREDICT  also  has  the  ability to control AZ/EL rotators to establish and
     maintain accurate antenna orientation toward the direction of communication
     satellites. As an aid in locating and tracking satellites	through  optical
     means, PREDICT can articulate azimuth and elevation bearings in addition to
     visibility information to users in the form of plain speech.

     PREDICT  has  been  successfully  employed  by the National Aeronautics and
     Space Administration where it provides orbital prediction and tracking data
     for VLBI radio telescope steering.   It  is  used	by  the  European  Space
     Agency's Rutherford Appleton Laboratory where it provides tracking data and
     velocity profiles used to steer the 25 meter dish antenna at the Chilbolton
     Observatory.   PREDICT  also powers AMSAT-NA's on-line satellite prediction
     web page (https://www.amsat.org/track/), and has served as the basis for  a
     host of other derivative software applications.

     PREDICT  is distributed in the hope that it will be 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 de-
     tails.

REQUIREMENTS
     PREDICT is written in 'C' and distributed as source code for Linux environ-
     ments.  Compilation requires Bash, a C compiler (gcc  or  clang),	ncurses,
     pthreads,	and  ALSA  libraries.  PREDICT can also be compiled and executed
     under an Android environment running Termux, a free and open source Android
     terminal emulator and Linux  environment  app  that  is  available  through
     GitHub and F-Droid.

     The DOS version of PREDICT includes a pre-compiled executable file that was
     built  using  GCC under a DJGPP environment powered by FreeDOS, and is dis-
     tributed with a 32-bit DOS Protected Mode Interface.  While PREDICT's capa-
     bilities are limited by those of DOS, it does function  well  under  DOSEMU
     (using  FreeDOS)  and DOSBox, which can operate under Linux, OS/2, RISC OS,
     Windows, BeOS, and MacOS X.

FIRST TIME USE
     PREDICT predicts passes of satellites based on the geographical location of
     the ground station, the current date and time provided by the computer sys-
     tem's clock/calendar, and Keplerian orbital data for the satellites of  in-
     terest to the ground station.  First time users of PREDICT are provided de-
     fault  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  first time the program is executed.  This information can be
     changed at any later date by selecting option [G] from the  program's  Main
     Menu.

     Latitude is normally expressed in degrees North with latitudes south of the
     equator  expressed  in negative degrees. Longitude is normally expressed in
     degrees West (0-360 degrees).  Eastern longitudes can be expressed in nega-
     tive degrees. This behavior can be modified by passing the -east or  -south
     commmand line switches to PREDICT.

     Latitudes	 and  longitudes  may  be  entered  either  in	decimal  degrees
     (41.716905) or in degree, minute, second (DMS) format (41 43  0.84).   Sta-
     tion altitude is accepted as the number of meters the ground station is lo-
     cated  above  sea	level.	This parameter is not very critical.  If unsure,
     make a realistic guess or simply enter 0.

     PREDICT employs a line editor that normally  operates  in	Overwrite  Mode.
     Overwrite	Mode  can  be toggled to Insert Mode (and vice versa) by tapping
     the Insert key.  The cursor (and current editing  position)  can  be  moved
     left  or right by pressing the corresponding cursor arrow keys.  The inser-
     tion point can be moved to the beginning of the line by pressing  the  Home
     key.  Selecting the End key will move the insertion point to the end of the
     line.   The  Delete  key  deletes the character currently under the cursor.
     The Backspace Key will delete the character to the  right	of  the  cursor.
     Pressing  Enter, the Tab key, or clicking the left mouse button will termi-
     nate the editing process and accept the edited line exactly as it	appears.
     Pressing the ESCape key or clicking the right mouse button will also termi-
     nate the editing function, but will discard any changes made to the line.

     Users  of	PREDICT need Keplerian orbital data for the satellites they wish
     to track that is preferably not older than one month. The	default  orbital
     data  supplied  with  the program is liable to be quite old, and so must be
     brought up to date if accurate results are to be expected. This may be  ac-
     complished  by  selecting	option [E] from PREDICT's Main Menu and manually
     entering Keplerian data for each satellite in the program's database.   Up-
     dates  can  also be made by selecting option [U] and specifying a file con-
     taining 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	 https://celestrak.org/,
     http://www.space-track.org/, and http://www.amsat.org/.

     It is possible to replace an existing satellite in PREDICT's Keplerian ele-
     ment orbital database with a different one by manually editing all the Kep-
     lerian  data  for	that  satellite.  Howewver, it is often easier to simply
     edit the name and object number of an existing satellite with corresponding
     information for the new satellite of interest.  Then, follow Main Menu  op-
     tion  [U] and specify a file containing a Keplerian element set for the new
     satellite of interest that is more recent than that of  the  satellite  you
     wish to replace.

     Uplink  and downlink frequencies are held in PREDICT's transponder database
     file predict.db located under $HOME/.predict.  A default file  is	provided
     with  PREDICT.   The  database may be viewed or edited by selecting the [B]
     Main Menu option.	Up to ten transponders, uplink, or downlink  frequencies
     may  be  specified  for  each satellite.  In addition, Bahn Coordinates for
     each satellite may be entered to permit the proper determination of  squint
     angles in Single Satellite Tracking Mode.

PROGRAM OPERATION
     The start-up screen of PREDICT 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.

PREDICTING SATELLITE PASSES
     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 obser-
     vations.

     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.

     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

     Entering the time is optional.  If it is omitted,	midnight  (00:00:00)  is
     assumed.	Once  complete,  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 lat-
     itude  and longitude, slant range between the ground station and the satel-
     lite, and the satellite's orbit number are all  displayed.   If  spacecraft
     attitude  parameters  (ALAT,  ALON)  are  included in PREDICT's transponder
     database file, then spacecraft antenna squint angles are displayed  instead
     of orbit numbers in the orbital prediction output.

     An  asterisk (*) displayed to the right of the orbit number or squint angle
     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  sta-
     tion  is  under  the  cover of darkness at the time and date listed.  Under
     good viewing conditions, large satellites such as the  International  Space
     Station  (ISS), the Hubble Space Telescope (HST), and many others are visi-
     ble to the naked eye. If no symbol appears to the right of each line,  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, the space bar, or  clicking  the  left
     mouse  button  will advance 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 cur-
     rent 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  fea-
     ture may be toggled on and off at any time by pressing the 'L' key. Exiting
     the  orbital  prediction  mode  by pressing 'N', hitting the ESCape key, or
     clicking the right mouse button 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 con-
     ditions  are  possible,  the program provides the option of breaking out of
     visual orbital prediction mode by pressing the [ESC]ape key or clicking the
     right mouse button 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.

SINGLE SATELLITE TRACKING MODE
     In addition to predicting satellite passes, PREDICT allows satellites to be
     tracked 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 bearings to  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 posi-
     tions for the satellite selected.

     In Single Satellite Tracking Mode,  a  wealth  of	information  related  to
     tracking  a  spacecraft  and  communicating through its transponder is dis-
     played.  The current date and time is 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  satel-
     lite  in  both kilometers and statute miles, the current azimuth and eleva-
     tion 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 modulo 256  orbital
     phase  of	the  satellite, the eclipse depth, the spacecraft antenna squint
     angle, and orbital model in use, as well as the current  orbit  number  are
     also displayed.  The date and time for the next AOS is also provided.

     Additionally, if the satellite is currently in range of the ground station,
     the amount of Doppler shift experienced on uplink and downlink frequencies,
     path  loss,  propagation delay, and echo times are also displayed.  The ex-
     pected time of LOS is also provided.

     Normally, the transponder displayed when Single Satellite Tracking Mode  is
     started  will be the first transponder defined in the transponder database.
     However, if a particular transponder is defined to be active at the current
     orbital phase or day of the week when Single  Satellite  Tracking	Mode  is
     started,  then  that  specific transponder will be the first one displayed.
     PREDICT will not change  the  transponder	displayed  in  Single  Satellite
     Tracking Mode without user intervention. (That would be rude.)

     Transponders may be sequenced in ascending order by pressing the SPACE BAR,
     the  Right  Arrow	Cursor	Key,  or  by  left  clicking  the mouse over the
     transponder's name.  Pressing the Left Arrow Cursor Key or  right	clicking
     the mouse over the transponder's name sequences the transponders in reverse
     order.   Pressing	the  Home  Key	or the Up Arrow Cursor Key selects first
     transponder in PREDICT's database.  Pressing the End Key or the Down  Arrow
     Cursor Key selects the last.

     The  passband of the transponder may be tuned in 1 kHz increments by press-
     ing the < and > keys.  100 Hz tuning is possible using the ,  and	.  keys.
     (These are simply the < and > keys without pressing the SHIFT key.)

     If  no  transponder  information  is  available,  the data displayed on the
     tracking screen is abbreviated.

     The features available in the Single Satellite Tracking Mode make it possi-
     ble to accurately determine the proper uplink frequency to  yield	a  given
     downlink  frequency, or vice versa.  For example, if one wishes to communi-
     cate with a station heard on 435.85200 MHz via FO-29,  then  435.85200  MHz
     can  be  selected via the keyboard as an RX frequency using the tuning keys
     while tracking FO-29, and the corresponding  ground  station  TX  frequency
     will be displayed by PREDICT.

     Obviously,  an  accurate  system  clock and up-to-date orbital data are re-
     quired for the best tuning accuracy.

     If a sound card is present on your machine and the Single Satellite  Track-
     ing Mode is invoked with an uppercase 'T', PREDICT will make periodic voice
     announcements  stating  the  satellite's tracking coordinates in real-time.
     If Single Satellite Tracking Mode is invoked with a  lowercase  't'  or  by
     left  clicking  over the Single Satellite Tracking Mode option in PREDICT's
     Main Menu, announcements can be initiated by pressing the letter  't'  once
     the  tracking  mode  has begun.  Announcements can be suspended by pressing
     the 's' key.

     Once initiated, announcements such as:

     "This is PREDICT.	Satellite is at fifty six degrees azimuth and forty five
     degrees elevation, and is approaching.  Satellite is currently visible."

     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 AMC-6  geostationary  satellite  (35780  km).
     Voice  announcements are performed as background processes so as not to in-
     terfere with tracking calculations as the announcements  are  made.  Alarms
     and  special announcements are made when the satellite being tracked enters
     into or out of eclipse. Regular announcements can be forced by pressing the
     'T' key in Single Satellite Tracking Mode.

MULTI-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 pro-
     gram's database are tracked simultaneously along with bearings to	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 distance between the satellite and
     the ground station (in kilometers).

     A	letter	displayed  to  the right of the slant range indicates the satel-
     lite'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  dis-
     played  on the bottom of the screen between the tracking coordinates of the
     Sun and Moon.  Predictions are not made for satellites in geostationary or-
     bits or for satellites so low in inclination and/or altitude that they  can
     never rise above the horizon of the ground station.

     A	left  mouse  click  over  any satellite displayed in the Multi-Satellite
     Tracking list will bring the user into Single Satellite Tracking  Mode  for
     more detailed tracking information on the chosen spacecraft.  A right click
     on  the background of the Single Satellite Tracking Mode window will return
     the user back to Multi-Satellite Tracking Mode.

SOLAR ILLUMINATION PREDICTIONS
     Selecting [S] from PREDICT's Main Menu will allow solar  illumination  pre-
     dictions  to  be made.  These predictions indicate how much sunlight a par-
     ticular satellite will receive in a 24 hour period.   This  information  is
     especially  valuable  to  spacecraft designers and satellite ground station
     controllers who must monitor spacecraft power budgets or thermal conditions
     on-board their spacecraft due to sunlight and eclipse periods.  It can even
     be used to predict the optimum times for astronauts to perform extra-vehic-
     ular activities in space. Solar illumination predictions may be logged to a
     file in the same manner that orbital predictions may be logged (by pressing
     L).

SOLAR AND LUNAR ORBITAL PREDICTIONS
     In addition to making orbital predictions of spacecraft, PREDICT  can  also
     predict transits of  the Sun and the Moon.  Lunar predictions are initiated
     by  selecting [L] from PREDICT's Main Menu.  Solar predictions are selected
     through Main Menu option [O].

     When making solar and lunar orbital predictions, PREDICT  provides  azimuth
     and  elevation  headings,	the right ascension, declination, Greenwich Hour
     Angle (GHA), radial velocity, and normalized distance (range) to the Sun or
     Moon.  Declination and Greenwich Hour Angle correspond to the latitude  and
     longitude	of  the  object's sub-satellite point above the Earth's surface.
     The radial velocity corresponds to the speed and direction  the  object  is
     traveling	toward (+) or away (-) from the ground station, and is expressed
     in meters per second.  When the radial distance of the  Moon  is  close  to
     zero,  the amount of Doppler shift experienced in Moonbounce communications
     is minimal.  The normalized distance corresponds  to  the	object's  actual
     distance  to the ground station divided its average distance.  In practice,
     the normalized distance can range from about 0.945 to 1.055 for  the  Moon,
     and about 0.983 to 1.017 for the Sun.

     Note that the effects of atmospherics are ignored in determining the eleva-
     tion angles for the Sun and Moon. Furthermore, the data provided by PREDICT
     corresponds  to the object's center, and not the upper or lower limb, as is
     sometimes done when predicting the rising and setting times of these celes-
     tial objects.

OPERATION UNDER THE X-WINDOW SYSTEM
     PREDICT may be run under the X-Window System by  invoking	it  through  the
     xpredict  script  contained  with	this software. xpredict can invoke rxvt,
     xterm, Eterm, gnome-terminal, or kvt, and display PREDICT in a virtual ter-
     minal window.  xpredict should be edited for best results.  In many  cases,
     holding  down  the SHIFT key while pressing the plus (+) and minus (-) keys
     allows PREDICT's window to be re-sized when started under xpredict.

COMMAND LINE ARGUMENTS
     By default, PREDICT reads	ground	station  location,  orbital  data,  annd
     transponder information from a pair of files located in the user's home di-
     rectory under a hidden subdirectory named .predict. Ground station location
     information  is held in a file named predict.qth, while orbital data infor-
     mation for 24 satellites is held in a file  named	predict.tle.   Satellite
     transponder  information,	if  available,	is  stored  in a file named pre-
     dict.db.

     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 beach_house.qth rather than
     the default files, we could start PREDICT and pass the names of  these  al-
     ternate files to the program in the following manner:

	  predict -t visual.tle -q beach_house.qth

     or

	  predict -q beach_house.qth -t visual.tle

     or

	  predict -t amateur.tle -d oscar.db

     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 de-
     fault for the others. For example,

	  predict -t visual.tle

     reads QTH information from the default predict.qth location,  TLE	informa-
     tion  from visual.tle, and transponder database information from predict.db
     while

	  predict -q bobs.qth

     reads QTH information from bobs.qth and TLE information  from  the  default
     ~/.predict/predict.tle location.

QUIET ORBITAL DATABASE UPDATES
     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 se-
     lecting the appropriate menu options. This option is invoked using  the  -u
     command line switch as follows:

	  predict -u orbs248.tle

     This  example updates PREDICT's default orbital database with the Keplerian
     elements found in the file orbs248.tle. PREDICT may be updated from a  list
     of files as well:

	  predict -u amateur.tle visual.tle weather.tle

     If an alternate datafile requires updating, it may also be specified on the
     command line using the -t switch as follows:

	  predict -t oscar.tle -u amateur.tle

     This  example updates the oscar.tle orbital database with the two-line ele-
     ment data contained in amateur.tle.

     These options permit the automatic update of PREDICT's orbital  data  files
     using  Keplerian orbital data obtained through automatic means such as FTP,
     HTTP, or pacsat satellite download.

     For example, the following script can be used to update  PREDICT's  orbital
     database via the Internet:

     b
	#!/bin/sh
	wget -qr https://www.amsat.org/tle/current/nasabare.txt -O amateur.txt
	wget -qr https://celestrak.org/NORAD/elements/visual.txt -O visual.txt
	wget -qr https://celestrak.org/NORAD/elements/weather.txt -O weather.txt
	/usr/local/bin/predict -u amateur.txt visual.txt weather.txt b

     If duplicate entries exist among the downloaded files, PREDICT will use the
     most recent element set to update it's Keplerian database.

     A	script	called	kepupdate containing the commands illustrated above have
     been included with PREDICT.  A call to this script can be made as a crontab
     entry to automate the process of updating PREDICT's database at regular in-
     tervals.  Simply include a line such as the following in your crontab (type
     crontab -e to edit your crontab):

	  0 2 * * * kepupdate

     and PREDICT will automatically update its database every day at 2:00 AM.

AUTOMATIC ANTENNA TRACKING
     PREDICT is compatible with serial port antenna rotator interfaces	conform-
     ing  to  the EasyComm 2 protocol standard.  This includes the PIC/TRACK in-
     terface   developed   by	Vicenzo   Mezzalira,   IW3FOL	<http://digilan-
     der.iol.it/iw3fol/pictrack.html>,		    TAPR's		EasyTrak
     <https://web.tapr.org/~n7hpr/easytrak/>. The FODTRACK rotator interface  is
     supported	through the use of Luc Langehegermann's (LX1GT) fodtrack utility
     written for and included with PREDICT.

     Using any of these hardware interfaces, PREDICT can  automatically  control
     the  position  of	AZ/EL  antenna	rotators,  and	keep antennas accurately
     pointed toward a satellite being tracked by PREDICT.  In operation,  track-
     ing data from PREDICT is directed to the specified serial port using the -a
     command line option.  For example:

	  predict -a /dev/ttyS0

     will  send AZ/EL tracking data to the first serial port when the program is
     tracking a satellite in the Single Satellite Tracking Mode.  The data  sent
     to  the  serial port is of the form: AZ241.0 EL26.0 using 9600 baud, 8-data
     bits, 1-stop bit, no parity, and no handshaking.  Data is sent to	the  in-
     terface  if the azimuth or elevation headings change by one degree or more.
     For interfaces requiring keepalive updates at least once per second whether
     the AZ/EL headings have changed or not (such as the ones by SAI),	the  -a1
     option may be used:

	  predict -a1 /dev/ttyS0

ADDITIONAL OPTIONS
     The  -f  command-line  option,  when followed by a satellite name or object
     number and starting date/time, allows PREDICT to respond with satellite po-
     sitional information.  This feature allows PREDICT  to  be  invoked  within
     other  applications that need to determine the location of a satellite at a
     particular point in time, such as the location of where a CCD camera  image
     was taken by a Pacsat satellite based on its timestamp.

     The  information produced includes the date/time in Unix format (the number
     of seconds since midnight UTC on January 1, 1970), the date/time  in  ASCII
     (UTC),  the  elevation  of the satellite in degrees, the azimuth heading of
     the satellite, the orbital phase (modulo 256), the latitude  and  longitude
     of  the  satellite's  sub-satellite  point at the time specified, the slant
     range to the satellite in kilometers with respect to the  ground  station's
     location, the orbit number, and the spacecraft's sunlight visibility infor-
     mation.

     The  date/time  must  be  specified in Unix format (number of seconds since
     midnight UTC on January 1, 1970).	If no starting or ending time is  speci-
     fied,  the current date/time is assumed and a single line of output is pro-
     duced.  If a starting and ending time are specified, a list of  coordinates
     beginning	at  the  starting time/date and ending with the ending time/date
     will be returned by the program with a one second resolution.  If the  let-
     ter  m  is  appended to the ending time/date, then the data returned by the
     program will have a one minute resolution.  The -o option allows  the  pro-
     gram  to  write the calculated data to an output file rather than directing
     it to the standard output device if desired.

     The proper syntax for this option is as follows:

	  predict -f ISS 977446390 977446400 -o datafile

     or

	  predict -f 25544 977446390 977446400 -o datafile

     Note that referencing a satellite by its object number rather than  by  its
     name is the preferred practice when the name is especially long.

     A	list of coordinates starting at the current date/time and ending 10 sec-
     onds later may be produced by the following command:

	  predict -f ISS +10

     If a list of coordinates specifying the position  of  the	satellite  every
     minute  for  the  next  10 minutes is desired, the following command may be
     used:

	  predict -f ISS +10m

     If a satellite name contains spaces, then the entire name must be	enclosed
     by "quotes".

     The  -p option allows orbital predictions for a single pass to be generated
     by PREDICT via the command-line.

     For example:

	  predict -p OSCAR-11 1003536767

     starts predictions for the OSCAR-11 satellite at a Unix time of  1003536767
     (Sat 20Oct01 00:12:47 UTC).  If the starting date/time is omitted, the cur-
     rent  date/time  is used.	If a pass is already in progress at the starting
     date/time specified, orbital predictions are moved back to the beginning of
     AOS of the current pass, and data for the entire pass from AOS  to  LOS  is
     provided.

     When  either the -f or -p options are used, PREDICT produces an output con-
     sisting of the date/time in Unix format, the date and time in ASCII  (UTC),
     the  elevation of the satellite in degrees, the azimuth of the satellite in
     degrees, the orbital phase (modulo 256), the latitude (N) and longitude (W)
     of the satellite's sub-satellite point, the slant range  to  the  satellite
     (in kilometers), the orbit number, the spacecraft's sunlight visibility in-
     formation,  and,  if the satellite is in range, 100 MHz-normalized downlink
     Doppler shift information.

     For example:

     1589489403 Thu 14May20 20:50:03   20   65	209   45   57	 1766	38901  *
     74.989726

     The  output isn't annotated, but then again, it's meant to be read by other
     software.

     The Unix "date" command can be used to determine the Unix time  if  only  a
     human-readable date and time string are known.

     For example:

	  date -d "Oct 12 2020 12:00:00 EDT" +%s

     returns  a value of 1602518400 seconds for Unix time.  Any time zone under-
     stood by the "date" command can be used.  The "date" commmand can	be  com-
     bined  in	a  call  to PREDICT by enclosing its invocation within a pair of
     grave quotes (` `) as follows:

	  predict -p ISS `date -d "Oct 12 2020 16:00:00 UTC" +%s`

     The -dp option produces a quick orbital prediction for the next pass  of  a
     specified	satellite, including 100 MHz downlink Doppler shift information,
     in CSV format.  For example:

	  predict -dp ISS

     produces:

     1525500165,Sat 05May18 06:02:45,701.256856
     1525500169,Sat 05May18 06:02:49,678.755942
     1525500172,Sat 05May18 06:02:52,656.033048
     1525500176,Sat 05May18 06:02:56,633.093151
     1525500179,Sat 05May18 06:02:59,609.940999
     1525500183,Sat 05May18 06:03:03,586.582443
     1525500186,Sat 05May18 06:03:06,563.022553
     <... output trimmed ...>
     1525500367,Sat 05May18 06:06:07,-733.663728
     1525500370,Sat 05May18 06:06:10,-755.793182
     1525500374,Sat 05May18 06:06:14,-777.690366
     1525500377,Sat 05May18 06:06:17,-799.351435
     1525500381,Sat 05May18 06:06:21,-820.773340
     1525500384,Sat 05May18 06:06:24,-841.952820
     1525500388,Sat 05May18 06:06:28,-862.887147

     where the Unix time is followed by the UTC date/time and 100 MHz  downlink-
     referenced  Doppler shift.  The satellite name or object number can be fol-
     lowed by a starting date/time and ending date/time much like the -f option.

SERVER MODE
     PREDICT's network socket interface allows	the  program  to  operate  as  a
     server  capable  of providing tracking data and other information to client
     applications using the UDP protocol.  It is even possible to have the  PRE-
     DICT  server  and client applications running on separate machines provided
     the clients are connected to the server through a functioning network  con-
     nection.  The -s switch is used to start PREDICT in server mode:

	  predict -s

     By default, PREDICT uses socket port 1210 for communicating with client ap-
     plications.   Therefore,  the  following  line needs to be added to the end
     your /etc/services file:

	  predict   1210/udp

     The port number (1210) can be changed to something else if desired.   There
     is no need to recompile the program if it is changed.  To run more than one
     instance of PREDICT in server mode on a single host, an alternate port must
     be  specified  when invoking the additional instances of PREDICT.	This can
     be accomplished by using the -n switch:

	  predict -n 1211 -t other_tle_file -s

     When invoked in server mode,  PREDICT  immediately  enters  Multi-Satellite
     Tracking  Mode  and makes live tracking data available to clients.  Clients
     may poll PREDICT for tracking data when the program is  running  in  either
     the  Multi-Satellite  or  Single  Satellite  Tracking Mode.  When in Multi-
     Satellite Tracking mode, tracking data for any of the 24 satellites in  the
     program's database may be accessed by client applications.  When in Single-
     Satellite	Tracking  mode, only live tracking data for the single satellite
     being tracked may be accessed.  Either tracking mode may be  ended  at  any
     time.  When this is done, PREDICT will return the last calculated satellite
     tracking  data  until  the  program  is again put into a real-time tracking
     mode.  This allows the user to return to the Main Menu, and use other  fea-
     tures of the program without sending potentially harmful data to client ap-
     plications.

     The best way to write a client application is to use the demonstration pro-
     gram  (demo.c)  included  in  this distribution of PREDICT as a guide.  The
     sample program has comments to explain how each component operates.  It  is
     useful  to  pipe  the  output of this program through less to easily browse
     through the data returned (demo | less).

     In operation, a character array is filled with the command and arguments to
     be sent to PREDICT.  A socket connection is then  opened,	the  request  is
     sent,  a  response  is  received, and the socket connection is closed.  The
     command and arguments are in ASCII text format.

     Several excellent network client applications are included in this  release
     of PREDICT, and may be found under the predict/clients directory.

ADDING SATELLITES
     One  of  the most frequently asked questions is how satellites in PREDICT's
     orbital database may be added, modified, or replaced.   As  it  turns  out,
     there  are several ways in which this can be done.  Probably the easiest is
     to manually edit your ~/.predict/predict.tle file, and replace an	existing
     satellite's  entry  with  2-line  Keplerian data for the new satellite.  If
     this method is chosen, however, just make sure to include ONLY the two line
     data, and nothing else.

     Another way is to is select the Keyboard Edit  option  from  the  program's
     Main  Menu,  select a satellite you wish to replace.  Edit the name and ob-
     ject number (replacing the old information with the new information).  Just
     hit ENTER, and accept all the other orbital parameters shown.  Get back  to
     PREDICT's	Main Menu.  Select Auto Update, and then enter the filename con-
     taining the 2-line element data for your favorite new satellite.	The  new
     satellite	data should be detected by PREDICT, and the orbital data for the
     old satellite will be overwritten by the new data.

NEAT TRICKS
     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 through the keyboard by using PREDICT's Main Menu option  [E].
     The  2-Line  orbital  data for the satellite(s) in question may be found in
     your orbital database file, and can be  imported  to  any	other  satellite
     tracking program that accepts two-line element files or distributed to oth-
     ers electronically in this format.

     PREDICT  can be run as a background process while having its display re-di-
     rected to an unused virtual console by using the following command:

	     predict < /dev/tty8 > /dev/tty8 &

     Switching to virtual console number 8 (ALT-F8 in text mode) will allow PRE-
     DICT to be controlled and displayed even after you've logged out.	This  is
     especially handy when running PREDICT in server mode on a remote machine.

GLOSSARY OF TERMS
     The  following terms are frequently used in association with satellite com-
     munications and space technology:

AOS:
     Acquisition of Signal - the time at which a ground station  first	acquires
     radio  signals  from  a satellite. PREDICT defines AOS as the time when the
     satellite being tracked comes within +/- 0.03 degrees of the local horizon,
     although it may have to rise higher than  this  before  signals  are  first
     heard.

Apogee:
     Point in a satellite's orbit when the satellite is at its farthest distance
     from the earth's surface.

Anomalistic Period:
     A	satellite  orbital  parameter  specifying  the	time  between successive
     perigees.

Ascending Node:
     Point in a satellite's orbit when its sub-satellite point crosses the equa-
     tor moving south to north.

Azimuth:
     The compass direction measured clockwise from true north.	North  =  0  de-
     grees, East = 90 degrees, South = 180 degrees, and West = 270 degrees.

Bahn Coordinates:
     A	pair  of  angles (Alat/Alon) that describe a spin-stabilized satellite's
     inertial orientation in space.

Descending Node:
     Point in a satellite's orbit when its sub-satellite point crosses the equa-
     tor moving north to south.

Doppler Shift:
     The motion of a satellite in its orbit around the earth, and in many  cases
     the rotational motion of the earth itself, causes radio communication links
     between  the  earth and a satellite to undergo a frequency shift due to the
     Doppler Effect.  PREDICT calculates  what	effect	these  motions	have  on
     satellite communication links, and displays real-time Doppler-corrected up-
     link and downlink frequencies in Single Satellite Tracking Mode.

Elevation:
     The  angle  between  the local horizon and the position of the satellite. A
     satellite that appears directly above a particular location is said  to  be
     located  at  an elevation of 90 degrees. A satellite located on the horizon
     of a particular location is said to be located at an  elevation  of  0  de-
     grees.  A satellite with an elevation of less than zero is positioned below
     the local horizon, and radio communication with a satellite in such a posi-
     tion is not possible under normal circumstances.

Footprint:
     Diameter  of  the Earth's surface visible from a satellite.  The higher the
     satellite's orbital altitude, the greater the footprint, and the wider  the
     satellite's communications service area.

LOS:
     Loss  of  Signal  -  the time at which a ground station loses radio contact
     with a satellite. PREDICT defines LOS as the time when the satellite  being
     tracked comes within +/- 0.03 degrees of the local horizon.

Orbital Phase:
     An  orbital  "clock" that describes a satellite's orbital position with re-
     spect to perigee. Orbital Phase may be modulo 256, or modulo  360,  and  is
     sometimes referred to as mean anomaly when speaking of amateur radio satel-
     lites in elliptical orbits.  Orbital phase is zero at perigee.

Path Loss:
     The  apparent  attenuation  a  radio signal undergoes as it travels a given
     distance. This attenuation is the result of the dispersion radio waves  ex-
     perience  as they propagate between transmitter and receiver using antennas
     of finite gain. Free space path loss is technically an oxymoron since  free
     space is loss free.

Perigee:
     Point  in a satellite's orbit when the satellite is at its closest distance
     to the earth's surface.

Nodal Period:
     A satellite orbital parameter specifying the time	between  successive  as-
     cending nodes.

Slant Range:
     The  straight line distance between the ground station and the satellite at
     a given time.

Sub-Satellite Point:
     The latitude and longitude specifying the location on the Earth that is di-
     rectly below the satellite.

ADDITIONAL INFORMATION
     Detailed information on the operation of PREDICT's UDP socket-based  inter-
     face  as  well  as  sample code for writing your own client applications is
     available in the predict/clients/samples subdirectory.  The latest news  is
     available	through  the  official	PREDICT  software  web	page located at:
     <http://www.qsl.net/kd2bd/predict.html>.

FILES
     ~/.predict/predict.tle
	    Default database of orbital data

     ~/.predict/predict.db
	    Default satellite transponder database file

     ~/.predict/predict.qth
	    Default ground station location information

AUTHORS
     PREDICT was written by John A. Magliacane,  KD2BD	<kd2bd@amsat.org>.   The
     socket    server	 code	was   contributed   by	 Ivan	Galysh,   KD4HBO
     <galysh@juno.nrl.navy.mil>.  The PIC/TRACK serial port antenna rotator con-
     troller  code  was  contributed  by   Vittorio   Benvenuti,   I3VFJ   <ben-
     scosm@iol.it>.   SGP4/SDP4 code was derived from Pacsal routines written by
     Dr. T.S. Kelso, and converted to 'C' by Neoklis Kyriazis, 5B4AZ.	See  the
     CREDITS file for additional information.

KD2BD Software			  09 June 2023			      PREDICT(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=predict&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help