Astronomical Image Processing System: Difference between revisions

Content deleted Content added
This article is written rather informally and could do with a fuller makeover. I've added lots of links and tried to add useful information. The "humour" section should probably go.
Line 1:
{{no footnotes|date=March 2014}}
<!-- Missing image removed: [[Image:Aips.gif|thumb|right|The emblem of AIPS]] -->
The '''Astronomical Image Processing System''' (AIPS) is a package to support the reduction and analysis of data taken with [[Radio telescope|radio telescopes]]. ItThe issoftware mostwas usefuloriginally fordeveloped arraysby of[[NRAO]] telescopesin likethe seventies for use with the then under-construction [[Very Large Array|VLA]], andbut the generality inherent in its design allowed it to become the standard data-reduction package for other [[Interferometry|interferometric]] arrays such as [[MERLIN]], the [[Very Long Baseline Array|VLBA]] and the [[WesterborkEuropean SynthesisVLBI Radio TelescopeNetwork|WSRTEVN]], and can also be used to process data from other arrays. InAlthough primarily a tool for analysing moredata recentfrom yearsinterferometers, it also has alsolimited beenability to work with single-dish data. The official software used successfullyby forthe upgraded VLA (EVLA) and [[VLBIAtacama Large Millimeter Array|ALMA]] (veryis long[[AIPS++#AIPS++/CASA|CASA]], baselinebut interferometry)AIPS remains the dominant data-reduction package in use today.
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==
Line 8 ⟶ 7:
AIPS is what most of us{{who|date=October 2014}} 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[[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 the 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 Microsystems|Sun]] was starting to challenge their price/performance ratio, and the first [[SPARCstation|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 [[Tru64 UNIX#OSF/1|DEC (oops, Compaq) OSF1OSF/1]]. A port to an [[IBM 3090]] was attempted, but failed due to accuracy problems with the [[IBM Floating Point Architecture|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, [[National Radio Astronomy Observatory|NRAO]] got a query from a radio astronomer at [[Virginia Tech]] in [[Blacksburg, Virginia|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” (DDT) 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[[UltraSPARC]] 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 ownthe 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|GNU General Public License]] on its next periodic release.
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 articleCurrently, thea most recentnew version of AIPS wasis the 2008 release, called 31DEC08,released approachingtowards the end of itseach thirdyear decadeand ofis continually useupdated inuntil the astronomicalrelease community.of Thethe latestnext version,. 31DEC10A isnewsletter now("AIPSLETTER") availableis asreleased thetwice activea developmentyear versionwith (asinformation on 18/12/09)the recent developments.
 
==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 commandlinecommand-line 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.