Getting Started Documentation Glish Learn More Programming Contact Us
Version 1.9 Build 1367
News FAQ
Search Home


next up previous
Next: Aips infrastructure library. Up: AIPS++ Libraries Overview Previous: AIPS++ Libraries Overview

Overview

This section provides an overview of the AIPS++ system. It is extracted, with very minor modifications, from the Overview chapter of the AIPS++ System manual, written by Mark Calabretta, the author of the AIPS++ code management and distribution system.

In the following discussion of the AIPS++ directory hierarchy we will assume that AIPS++ has been installed in directory /aips++. This is the preferred location, but in practice the AIPS++ ``root'' directory can reside anywhere. The root directory is generally referred to as $AIPSROOT and many other directories have standard variable names.

The major subdirectories of /aips++ are code ($AIPSCODE),
docs ($AIPSDOCS), and one or more architecture-specific subdirectories with names such as sun4 and ibmrs which contain the AIPS++ system - that is, everything needed to run AIPS++ , including executables and sharable objects. These architecture-specific subdirectories are referred to collectively as $AIPSARCH.

The directory hierarchy beneath /aips++/code, or $AIPSCODE, consists of a collection of packages which are contained in separate subdirectories. The principle package is the aips package, which contains the source code for a class library required by all other packages. It also contains applications common to all areas of astronomical data processing. The contents of this library will be discussed in greater detail in the second part of this paper.

The dish, synthesis, and vlbi packages contain standard classes and applications common to single dish, aperture synthesis, and VLBI data processing tasks from all radio telescopes. Apart from a dependence of the vlbi package on the synthesis package, inclusion of these standard packages in an end-user installation is optional.

A contrib package contains source code contributed from the AIPS++ user community for redistribution with AIPS++ . If found to be generally useful, code from the contrib package may eventually be merged into one of the standard packages, but otherwise it is unsupported.

A trial package contains ``trial'' source code which must be shared by several developers during its development, but which is not ready for general release. When the code is ready, it is moved to another standard package.

Each AIPS++ consortium member is also entitled to maintain a package for data processing applications specific to their telescope(s). The sources for these classes and applications reside in the consortium-specific packages: atnf, bima, drao, nfra, nral, nrao, and tifr. These may or may not use the standard dish, synthesis, and vlbi packages, and their installation is also optional.

The standard AIPS++ packages (aips, dish, synthesis, and vlbi) contain an implement subdirectory which contains class header and implementation files, a fortran subdirectory which contains FORTRAN subroutines, a test subdirectory which contains test applications, and scripts and data subdirectories for package-related procedure files and system data such as standard colour-maps, or source catalogues. The implement directory can contain module subdirectories, which can in turn contain test directories. A particular module subdirectory contains files implementing classes and functions with related functionality, e.g. the Tables module in the aips package contains the files implementing the AIPS++ Table system. The test subdirectory of a module contains test applications for the module software. The applications for a particular package reside within the package subdirectory itself.

The substructure of the consortium-specific packages is left entirely to AIPS++ consortium members to determine.

There are a number of other subdirectories of /aips++/code which are unrelated to packages. The install subdirectory contains all of the utilities required to install and maintain AIPS++ . doc contains AIPS++ documentation sources, including the AIPS++ ``specs'', ``memos'', and ``notes'' series, and reference and design documentation in the corresponding subdirectories.

Also below /aips++/code is the include subdirectory which contains symbolic links to the implement subdirectory for each package. The purpose of these symlinks is to allow AIPS++ includes to be specified as ``#include <package/Header.h>'' by adding -I/aips++/code/include to the include path.

On AIPS++ consortium installations an additional admin subdirectory of /aips++/code contains files relating to the administration of the AIPS++ project.


next up previous
Next: Aips infrastructure library. Up: AIPS++ Libraries Overview Previous: AIPS++ Libraries Overview
Please send questions or comments about AIPS++ to aips2-request@nrao.edu.
Copyright © 1995-2000 Associated Universities Inc., Washington, D.C.

Return to AIPS++ Home Page
2006-03-28