Asteroid Radar Software

By Category By Name

Toolkits and Libraries

The RDF Library
A toolkit for managing radar data in image or spectral form.

The PGPLOT Library
PGPLOT Subroutines
A toolkit for plotting 2D graphs

The Tcl7.5/Tk4.1 Library
Graphical scripting toolkit

RDF Software

acunorm
Usage:  acunorm [-h][-?][-g] -i infile -o outfile -l left -t top -r right -b bottom
-i infile       Specifies the RDF input  image file
-o outfile      Specifies the RDF output image file
 
-l left         The left edge of a box of pixels to ignore during normalization
-t top          The top edge of a box of pixels to ignore during normalization
-r right        The right edge of a box of pixels to ignore during normalization
-b bottom       The lbottom edge of a box of pixels to ignore during normalization
 
-g              Goldstone may deliver a bad gate 0 that disrupts normalization.
                Invoking acunorm with -g causes gate 0 to be interpolated before normalization..
 
-q              Invoking acunorm with -q makes it run quietly.
(Keith Rosema)

cw2rdf
Converts cw spectrum files to RDF format

Usage: cw2rdf file1.cw [file2.cw ...] [-h]

(Keith Rosema)

dat2rdf
Converts VAX *.dat files into *.rdf or *.cw format data. (Keith Rosema)

freqsmo
a stand alone freqency smoothing program for data in CW or RDF-CW format
(Keith Rosema)

phasemo
a stand alone phase smoothing program for data in CW or RDF-CW format (Mike Thomas)

rdf0DC
Interpolates across column 0 [(last column + column 1)/2] removing any residual DC power in that column.
Usage:  rdf0DC -i infile -o outfile [-h]

-i   infile          specifies the name of the input file,
                     a '-' implies the use of stdin
-o   outfile         specifiles the name of the output file
                     a '-' implies the use of stdout
-h                   help

(Keith Rosema)

rdfcomplete
Reads RDF files, tests for and enforces current tagging conventions. Used to insure compatibility and up-to-dateness of RDF data files. (Keith Rosema)

rdfinfo
Reads one or more RDF or CW data files and prints out useful information about the contents.
(Keith Rosema)

rdfseparate
Separate the frames of an RDF file into multiple files.
(Mike Thomas)

rdfseq
Displays RDF or CW files using PGPLOT.
Can be used to make movies of RDF or CW spectra.
(Keith Rosema)

rdf2cw
Converts a file in RDF format (*.rdf) into *.cw format for viewing with Play.
(Keith Rosema)

rdf2spy
Converts a file in RDF format (*.rdf) into *.spy format for viewing with Spyglass Transform.
(Keith Rosema, Mike Thomas)

sum_rdf
Usage:  sum_rdf input_file output_file

(Keith Rosema)


CW Analysis Software

cwmovie.pl
Converts spectra (either *.rdf or *.cw) into an mpeg movie named "cw.mpeg".
This perl script runs a series of CPU intensive programs and requires some disk space for processing.
Usage: cwmovie.pl inputfile.{cw,rdf}
(Keith Rosema)

iterate
A graphical interface for driving freqsmo and phasemo repeatedly over a range of different input parameters.
(Mike Thomas)

phtbl
Creates GIF images of phase plot diagrams.
(Mike Thomas)

rdf2asc
A TkPlay compatible filter that allows the user to make text listings of data in an RDF spectrum file.
Click here to try it.
(Keith Rosema)

rdf2txt
A TkPlay compatible filter that converts the binary portion of an RDF file into ascii text so that the data may be edited directly.
See also txt2rdf
(Keith Rosema)

rdfflag
Allows the user to specify arbitrary flag values for each spectrum, based on an input file.
(Keith Rosema)

rdfgray
Converts RDF format data files into gray scale raster images.
(Keith Rosema)

rdffs
Applies frequency smoothing to spectral RDF files.
(Keith Rosema)

TkPlay
Graphical Interface for analysis of CW radar data in RDF format.
(Mike Thomas & Keith Rosema)

Hull Estimation Software

iterate
See iterate in the CW analysis software section.

Data Analysis Software

polesrch
Use an ephemeris and BW measurements to determine best pole chisquare fit of model estimated BWs.
(Keith Rosema)

rdfblock
Delete spectra/frames from a RDF file.
Usage:  rdfblock -i infile -o outfile -n framesToBlock 
 
-i   infile          specifies the name of the input file,
                     a '-' implies the use of stdin
-o   outfile         specifiles the name of the output file
                     a '-' implies the use of stdout
-b   blocking        determines the number of frames averaged into
                     a single output frame.  Remainder frames are 
                     averaged into last frame
-n                   normalize each input frame before averaging
	   

(Keith Rosema)

rdfdelete
Delete spectra/frames from a RDF file.
(Mike Thomas)

rdfedge
Detect the edges of the signal in spectral data
(Mike Thomas)

rdffold
Fold spectral data about the the center signal element
(Mike Thomas)

rdffreqplot
Output frequency data in a format suitable for plotting
(Mike Thomas)

rdfmath
Perform simple math operations on data
(Mike Thomas)

rdfphaseplot
Output phase data (vs. sdev) in a format suitable for polar plots
(Mike Thomas)

rdfsort
Sort the rows of a RDF file based on tag values
(Mike Thomas)

rdfsplice
Merge spectra from different files into one file.
(Mike Thomas)

rdftagplot
Output index tag values in a format suitable for plotting one vs. the other
(Mike Thomas)

rdftags
Change index tag values
(Mike Thomas)

rdfttplot
Output index tag values in a format suitable for plotting in Tkplay
(Mike Thomas)

rdfvig
Remove columns from the start/end of data
(Mike Thomas)

rdfvin
Remove columns from the start/end of data
Usage:  rdfvin -i infile -o outfile [-h]
 
-i   infile          specifies the name of the input file,
                     a '-' implies the use of stdin
-o   outfile         specifiles the name of the output file
                     a '-' implies the use of stdout
-f   run_num         If specified, only the frame with a 
                     cur_run tag equal to run_num will be processed.
                     See also, -d
-d   iday            Use to process single images for files that span many days.
                     In this case, run_num may not be unique, and the 
                     day of observation must also be specified.
-c   com_col         force the use of this value for the center of mass 
                     column rather than what might be in the com_col tag
-r   com_row         force the use of this value for the center of mass 
                     row rather than what might be in the com_row tag
-w   width           width, in pixels, of the vignetted frame
-h   height          height, in pixels, of the vignetted frame
	  

(Keith Rosema)


Data Reduction Software

prarg
Parse a RARG file. run 'prarg -h' for more info. See also tkprarg.
(Mike Thomas)

das2rdf
A front end for rdfreduc that converts VME DAS format data into standard RDF format for reduction processing.
(See also rdfreduc)
(Keith Rosema)

pc2rdf
A front end for rdfreduc that converts data from the Goldstone PC into standard RDF format for reduction processing. A wide variety of tagging options are available
(See also rdfreduc)
(Keith Rosema)

rdfreduc
Performs CW data reduction of files generated by the Goldstone PC, Goldstone VME, or Arecibo CW systems.
(See also tkrdfreduc)
(Keith Rosema)

tkprarg
A graphical interface to prarg.
(Mike Thomas)

tkrdfreduc
A graphical interface to rdfreduc.
(Mike Thomas)

vaximg2rdf
Usage: vaximg2rdf -i input_vax_image_file -o output_rdf_file [-c channel] [-p polarization_tag]

(Keith Rosema)

SNR Estimation Software

d2h
Converts a diameter to an estimated h-magnitude.
Usage:  d2h diam
(Mike Thomas)

fido
An snr estimator that automatically fetches MPEC files from Harvard and reports when it finds that a new asteroid has been discovered that is detectable by radar. (Mike Thomas)

h2d
Converts an h-magnitude into an estimated diameter.
Usage:  h2d hmag
(Mike Thomas)

showeph
Convert IAU Minor Planet Circulars, or other ephemeris data into plots and lists describing the quality of an asteroid opportunity.
(Mike Thomas)

tkshoweph
A graphical interface for showeph.
(Mike Thomas)

tksnrup
A graphical interface for snrup.
(Mike Thomas)


Utility Programs

aarch
Backs up an asteroid directory tree and writes a log of the archive.
(Keith Rosema)

adjlw
Adjusts the line widths in a postscript file by a given amount. This filter reads from stdin and writes to stdout.
    Usage:  adjlw [amount]

    Example:  adjlw -0.25 < input.ps > output.ps
(Mike Thomas)

albedos
Computes radar and visual albedos for a range of target diameters for a given radar cross-section.
(Lance Benner)

arrow
Demonstration program for showing how to describe an arrow shape in Tkplay.
(Mike Thomas)

colordemo
Demonstration program for showing how to describe an colors in Tkplay.
(Mike Thomas)

rman
Convert man pages into various formats, including html
(Mike Thomas)

help
A script to assist in the generation of help information in programs (Mike Thomas)

mgen
Generate pointing macros
(Mike Thomas)

newhtml
Wraps the given file with simple HTML tags. It does no formatting of the text itself, it just puts a < HEAD > and < BODY > wrapper around the text, and appends a simple tail at the end indicating the author of the page. Run 'newhtml -h'
(Mike Thomas)

prdx_diff
Calculate transmit differences
(Mike Thomas)

prdx_offset
Calculate transmit LHA - receive LHA
(Mike Thomas)

rdfcountframes
Returns the number of image frames in an RDF file.
Usage: rdfcountframes file [file...]
(Keith Rosema)

sec2hhmmss
Convert a number in seconds to hour-minute-second format.
Example usage: sec2hhmmss 32345.2
(Mike Thomas)

tkalch
A graphical driver for Image Alchemy that converts Post Script files into graphical images.
(Mike Thomas)

tkcron
A graphical tool to use for creating cron jobs.
(Mike Thomas)

tkmpeg_encode
tkmpeg_encode is a graphical interface to the mpeg1 video format encoder. On-line help is provided by right-clicking on any button.
(Mike Thomas)

tkps
A graphical tool for looking at the current running processes.
(Mike Thomas)

txtbl
used to create plots of the transmit schedules. The plots are created as interlaced gif images.
(Mike Thomas)

weblint
A program for checking your HTML files. It will print warnings if you have written invalid or bad HTML. Run 'weblint -U'
(Mike Thomas)

ymd2doy
Convert year-month-day into day-of-year and Julian date
(Keith Rosema)

xfmpec
A graphical tool for fetching (and optionally processing) MPECs.
(Mike Thomas)

Programs Supporting the Build System

diff_dirs
Compares two lists generated by make_list and generates a new file itemizing the differences between the two.
(Mike Thomas)

hlink
Checks header (*.h) files in a source tree against links to those files in a global include/ directory. It removes stale links and creates new ones.
(Mike Thomas)

pr-history
Prints a chronological listing of changes to a specific PR.
(Mike Thomas)

make_list
Generates a listing of all files in a directory tree along with their most recent modification time.
(Mike Thomas)


Third Party Software

acroread
Adobe acrobat and PDF file reader

Usage: /home/rosema/bin/acroread [options] [list of files]

Options:
    -display 
        This option specifies the host and display to use.
    -geometry [x][{+|-}{+|-}]
        Size and/or location of the document windows.
    -help
        Prints the common command-line options.
    -helpall
        Prints out all command-line options.
    -iconic
        Launches in an iconic state on the desktop.
    -toPostScript [-level2] pdf_file ... [ps_dir]
    -toPostScript [-level2] -pairs pdf_file_1 ps_file_1 ...
    -toPostScript [-level2]
        Converts the given pdf_files to PostScript.

        In the first form, if the last file specified is a directory,
        then all preceding files will be converted to PostScript
        and the generated PostScript files will be placed into ps_dir.
        If a directory is not specified, then the PostScript files
        will be placed in the same directory as the original file.

        In the second form, the file list contains pairs, each
        consisting of a PDF filename and a corresponding PostScript
        filename.

        The third form specifies a filter, reading a PDF file from
        standard input and writing the PostScript file to standard
        output.

        The -level2 optional command line argument may be used to
        indicate that Level 2 PostScript should be emitted.  The
        default is to emit Level 1 PostScript.
    -xrm 
        Standard X Window System resource specification on command line.

(Keith Rosema)

elm
A text-based mailreader. Useful for when you don't have or don't want to use a graphical mailreader. (Mike Thomas)

fly
fly is a C program that creates GIF images on the fly from CGI and other programs. Using Thomas Boutell's gd graphics library for fast GIF creation, it provides a command-file interface for creating and modifying GIF images. (Mike Thomas)
xpaint
Xpaint allows editing of TIFF, GIF, XPM, and XWD images.

Occasionally (when you try to save twice, maybe?) xpaint will write a corrupted GIF file. To get around this you can save your files as PPM and convert them to GIF using either xv or alchemy. It's probably a good idea to look at your output file using xv _before_ you exit xpaint
(Mike Thomas)

The Gimp
General Image Manipulation Tool. It has many of the features of Adobe Photoshop, with a much nicer price tag (it's free). Documentation can be found at the Gimp Home Page
(Mike Thomas)

Zip Programs
These programs zip and unzip files (sort of tar and compress combined). They have the advantage that zip format is understood by PCs as well as UNIX machines with Zip.
	zipsplit
	zipnote
	zip
	ship
	unzipsfx
	unzip
	funzip
	

Mike has no idea what these programs do.


ITAR values and physical parameters of observed radar targets
Asteroid Radar Astronomy Radar Detected Asteroids

Extra Software which no one has had time to make into html documentation

From Steve Ostro:

I think any possibly useful software should be listed, even if the only
documentation is not so hot.  E.g.,

VFIT - Ostro's fortran program to fit S(f) functions to echo spectra
        It inputs a spectrum in *ff format (I think), initial values 
        and a priori errors for the four parameters (amplitude, 
        bandwidth, center freq, scattering-law exponent), and option 
        flags to tell the program the verbosity of printouts, how to 
        dampen motion through parameter space.  Where is the compiled
        program and what is the code to convert *cw or *rdf files 
        to *ff files? 

raterr - calculates ratio of two numbers and uncertainties
         according to Fieller's Theorem (Finney, D. J. 1964, 
         Statistical Method in Biological Assay, 2nd ed., Hafner, 
         New York, p. 24), as described in Ostro et al. 1983, 
         Astron. J. 88, 565-576.

dot    - gives angle between two polar angles

pole   - inputs asteroid i.d. number, position (RAH,RAM,RAS, 
          DECD,DECM,DECS), and ecliptic long, lat of pole, and returns 
          target-centered declination of viewer.

At least it's a start.  Gotta keep people from reinventing the wheel,
like with Lance's program angle below.

Steve


============================

Lance Benner wrote:
> 
> Greetings all,
> 
> Due to popular demand, here's a master list software I have written.  My
> intent is to let you know what's available.  Thus far only "albedos" is
> documented on the homepage.  The list also includes orbital simulation
> software from my pre-JPL days.
> 
> --Lance
> 
> ***********************************************************************
> 
> MASTER LIST OF SOFTWARE
> 
> Lance A. M. Benner
> 
> Fortran source code is available in: /home/lance/src
> 
> Last modified:  1997 June 26
> 
> Programs with an asterisk are ready for general use as long as
> /home/lance/bin is in your path.  Please ask for help if you want to try
> the other programs, and note that improved phase plotting will soon
> become available with the new version of Play.
> 
> PROGRAM                 PURPOSE
> -------                 -------
> albedos*                Prepares albedo-diameter plots for objects <
> 10
>                         km across.  An upgrade that will handle larger
>                         targets is underway.
> 
> angle*                  Computes how far across the sky (in degrees) and
>                         object has moved. User provides the target's RA
>                         and DEC at two epochs.
> 
> binary5                 Used to explore the density-diameter-surface
>                         separation parameter space for the binary model
>                         of 2063 Bacchus using Kepler's 3rd
> law.
> 
> delete1                 Reads ascii text and deletes every other line,
>                         every 3rd line, etc.
> 
> dpv*                    Uses an object's absolute magnitude to estimate
>                         its diameter as a function of optical geometric
>                         albedo.
> 
> extract                 Extracts columns of numbers from a multi-column
>                         ascii file.  Useful for ignoring columns you
>                         don't want and for reducing the number of digits
>                         in columns you want to keep.
> 
> period*                 Uses the heliocentric semimajor axis (in AU) of
>                         an object to compute its orbital period in
>                         years.
> 
> phaseplot               Creates phase plots that can be inset into Xmgr
>                         cw spectra plots.  Phase origin is at 12 o'clock
>                         and rotation phase increases clockwise.
>                         Will become obsolete when TKPLAY becomes
>                         available. Please ask for help before
> using.
> 
> phaseprdx               Predict the rotation phase coverage for an
>                         upcoming experiment.  Superseded by Mike's
>                         program phtbl.
> 
> phases                  Uses and object's rotation period and radar log
>                         files to compute the rotation phase coverage for
>                         an entire experiment, where runs on different
>                         days appear in progressively larger concentric
>                         rings.  CW and ranging runs are shown as radial
>                         line segments of different lengths.  Please
>                         ask for help before using.
> 
> pvd*                    Uses an object's absolute magnitude and diameter
>                         to estimate its optical geometric albedo.
> 
> rangeplot*              Creates plots of echo power in standard
>                         deviations as a function of time delay.  This
>                         program has restrictive input file formats;
>                         please ask for help before using.
> 
> resonance*              Uses an object's heliocentric orbital period to
>                         check for mean motion resonances (up to 25th
>                         order) with any of the planets.
> 
> tiss*                   Uses and object's heliocentric semimajor axis,
>                         eccentricity, and inclination to compute an
>                         object's Tisserand criterion relative to
>                         Jupiter, Mars, Earth, Venus, and Mercury.
>                         Tisserand values T <= 3.0 indicate objects
>                         crossing the orbit of the planet in question;
>                         T > 3 means the planet does not strongly perturb
>                         the object at the present epoch.
> 
> Orbital simulation software
> ---------------------------
> 
> fourbodG5               Orbital simulations in the general four-body
>                         problem, used for computing the motion of P/S-L
>                         9 around Jupiter.  Includes the Sun, Jupiter,
>                         Saturn, the Galilean satellites, and S-L 9 using
>                         various orbital solutions for the comet
>                         determined by Don Yeomans and Paul Chodas.
>                         Jovian J2 and J4 terms and a PPN GR
>                         approximation are included. Numerical
>                         integrator: 8th order Runge-Kutta-Fehlberg
>                         method.  Fully three dimensional.
> 
> nbodG5                  General n-body problem for solar system
>                         integrations.  Includes all the major planets
>                         (if desired).  Numerical integrator: RKF 8(9).
>                         Fully three dimensional.
> 
> threebodG1              General 3-body problem code.  Designed to study
>                         distant satellites of Neptune and Jupiter.
>                         Fully three dimensional.
> 
> threebodRC              Restricted, circular 3-body code, designed to
>                         study satellite capture by Neptune.  Fully three
>                         dimensional.
> 
> RADAU                   Edgar Everhart's RADAU (15) integrator.
> 
> Other software: Runge-Kutta-Fehlberg 7(8) and 4th-order Runge-Kutta for
>                 numerically integrating linear differential equations.
>                 Numerous other programs for computing icy
>                 satellite and silicate planet internal structure and
>                 thermal history models.


Send Bug Reports to:

Keith Rosema,

or

Mike Thomas,

or

Lance Benner,