DSN Radio Astronomy
Software Support

Last updated by Tom Kuiper on 2008 Sep 2


Debian Packages

The radio astronomy software environment depends on an extensive set of Debian packages. The package set on dsnra.jpl.nasa.gov can be used as the model for the Radio Astronomy Controllers and other RA computers. The procedure for synchronizing the package selection is
on dsnra:
          dsnra:# dpkg --get-selections > packages.txt
        
on the destination computer:
          # dpkg --set-selections < packages.txt
          # apt-get dselect-upgrade
        
These packages include
python for data reduction and analysis
Tcl/Tk  for data acquisition
gnuplot  for simple, quick data plotting, though Python pylab is easier to use,
xfig  for creating drawings and figures
Maxima  computer algebra

Programming

Locally developed software uses publicly available languages and libraries, such as C (for example, gcc is publicly available), X11, Tcl/Tk, Python, Perl, etc.
Rapid application development for data acquisition, including user-program and inter-program communication, are done with Tcl and Tk.
Data reduction and analysis are done with Python and Python-based programs such as ASAP.

Libraries

Libraries in Standard C
are maintained for use in locally developed software.

Python

Python is a powerful scripting language with an elegant architecture. It is on a par with IDL and Matlab, but has no license fees. There are very many specialized modules and packages of modules.

a Byte of Python
A good way to start without worrying about the object-oriented stuff.
Dive into Python
This means diving into the deep end. Knowledge of object oriented programming is necessary for Chapter 3 and beyond. A PDF version is available.
Astronomical Python
These modules have been developed locally for supporting radio astronomy observations.
Qt4 Designer
Visual programming for Python GUIs using QT4.

Other Languages

Octave might be an attractive alternative for those who prefer procedural programming over object-oriented programming. However, users can program procedurally in Python, though this will limit the use of packages.

GDL, the GNU Data Language, may be a good (i.e., free) alternative for people trained in IDL.