- Astronomical Image Processing System
= Astronomical Image Processing System =
AIPS++, a package designed to be a successor to AIPS
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
VLAand VLBAand the WSRT. In more recent years, it has also been used successfully for VLBI(very long baseline interferometry).The software was originally developed by NRAOin the seventies, and has since grown to be the defacto standard software package in the worldwide radioastronomy community.
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 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 80s 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 much about a day on an 386 compared to an hour on a SPARC.
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 decission 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 is the 2008 release, called 31DEC08, approaching the end of it's third decade of use in the astronomical community.
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
FITSfile, 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 [http://www.star.bris.ac.uk/mark/AIPS.html niche humour] has developed around it.
* [http://www.aips.nrao.edu/ AIPS homepage]
* [http://www.linuxjournal.com/article/4040 Linux Journal article]
Wikimedia Foundation. 2010.