Astronomical Image Processing System

The Astronomical Image Processing System (AIPS) is a package to support the reduction and analysis of data taken with radio telescopes. It is most useful for arrays of telescopes like the VLA and VLBA and the WSRT. In more recent years, it has also been used successfully for VLBI (very long baseline interferometry). The software was originally developed by NRAO in the seventies, and has since grown to be the de facto standard software package in the worldwide radioastronomy community.

History

AIPS is what most of us would now describe as “legacy software”, having been originally coded in a truly ancient dialect of FORTRAN (predating even the venerable FORTRAN IV). AIPS now uses FORTRAN 77, although it has been digested successfully by at least one FORTRAN 90 compiler.

A Modcomp computer in Charlottesville, Virginia was the first system to actually host a working AIPS system, and it quickly spread to a guest UNIX system hosted on an IBM 360 mainframe. From there, it spread in the early 1980s to VAX/VMS systems, often with an attached floating-point systems array processor (this peculiar device was the moral equivalent of the 80387 floating-point accelerators that some old-timers may remember being part and parcel of many 386 systems). In the late 1980s, UNIX came back into AIPS' universe in a big way, first with the Sun-3 series of Motorola-68020-based systems and then with a series of others, including Cray (Unicos), Convex and Alliant systems.

By the time the 1980s were winding down, the dominance of VMS in the AIPS universe was being seriously questioned. Performance on new upstarts like Sun was starting to challenge their price/performance ratio, and the first SPARCstations totally blew them away. In the early 1990s, AIPS moved to a smorgasbord of UNIX variants: AIX, Stardent (briefly), Ultrix, HP-UX, SGI's Irix and DEC (oops, Compaq) OSF1. A port to an IBM 3090 was attempted, but failed due to accuracy problems with the non-IEEE floating-point format thereon. In the middle of this flurry of activity, the port to Linux by Jeff Uphoff was made.

The Blacksburg Connection

In the fall of 1993, NRAO got a query from a radio astronomer at Virginia Tech in Blacksburg, requesting permission for one of his students to copy AIPS to his PC for an attempted port to a new system called Linux. (At that time, AIPS was still proprietary code, released to non-profit organizations under a rather cumbersome license and user agreement; this changed later.) Polite skepticism was the immediate reaction of most people then in the NRAO AIPS group, but they allowed the experiment to go ahead. Within several weeks Jeff Uphoff had successfully ported the software to Linux and was able to run the “Dirty Dozen Tasks” benchmark, even though it took about a day on a 386 compared with an hour on a SPARC processor.

Faster and Faster, and Make it GNU

Within a few months of the original port, NRAO had Jeff Uphoff on its payroll, and the race was on to improve the performance of AIPS on Intel hardware. In the process, the NRAO Charlottesville Computing Division ended up with many Linux machines performing server duties, and several programmers and scientists volunteered for converted to use on Linux systems. However, it took the use of the EGCS version of the GNU g77 FORTRAN compiler to push the Intel/Linux platform to the forefront of the Radio Astronomy community. In 1995, using EGCS version 1.0.2, AIPS was successfully built under g77. This improved the AIPSMark (a benchmark, defined as 4000 divided by the elapsed time in seconds to run the DDT on a test dataset; bigger AIPSMarks are better and a Sparc IPX is 1.0) on a Pentium Pro 200 from 3.3 to about 5. With further coaxing via aggressive use of optimization parameters, the resulting AIPSMark went over 6. In this fell swoop, the price/performance curve that was previously occupied by Sun, IBM, DEC and HP was shattered once and for all. By 1998, NRAO was ordering Linux/Intel desktops as the workstation of preference for the scientist in place of SPARC Ultra systems. In 1999, Linux started to edge out the high-performance public workstations such as Alpha and high-end SPARC.

During this time, another significant change came about. All this exposure to copylefted code was taking its toll. As mentioned earlier, AIPS was originally released under a restrictive user agreement that prohibited redistribution and was unpalatable or even unacceptable to some in our own astronomical community. Not only that, but the administrative costs associated with it were a burden. Thus, around 2000 the decision was made to shift AIPS over to the GNU (Free Software Foundation's) General Public License on its next periodic release.

As of the writing of this article, the most recent version of AIPS was the 2008 release, called 31DEC08, approaching the end of its third decade of use in the astronomical community. The latest version, 31DEC10 is now available as the active development version (as on 18/12/09).

Usage and design

In general AIPS uses 8 character long "tasks" that have input parameters, and a source and a destination "disk", reminiscent of 1970's era mainframe programming. The "disks" are stored in a catalog, basically predating any notion of filesystems in their modern sense. When using the data, you first load it onto a disk from an external source, usually a FITS file, either UVFITS or FITS-IDI. You then perform your tasks on these disks, writing the result to an output disk.

AIPS uses a primitive commandline interpreter known as POPS.

To new postgraduate students, AIPS is such an idiosyncratic piece of software that a rich and varied niche humour has developed around it.

See also

External links