3.1 Talking to AIPS

3.1.1 POPS and AIPS utilities

When using the AIPS system, you talk to your computer through a command processor called POPS (for People Oriented Parsing System) that lives in the program AIPS. The steps needed to start this basic program are discussed in 2.2.3. The copy of this program that you get will be called AIPSn where n is often referred to as the “POPS number” of your session.

The POPS command processor is not unique to AIPS. It has been present in other programs at the NRAO for many years, and will be familiar to users of the NRAO single-dish telescopes. Chapters 4 to 11 of this CookBook give explicit examples of most of the POPS commands that a new AIPS user needs to know, so we will not give a separate POPS tutorial here. The command HELP POPSYM  C R will list the major POPS language features on your terminal, and Chapter 12 below reviews some advanced features of POPS.

As well as providing a command processor, AIPS replaces many features of your computer’s operating system with its own utilities. This may seem inconvenient at first — you will have to learn the AIPS utilities as you go along. You will see the advantage of this approach when you use AIPS in a computer that has a different operating system. Your interface to AIPS will be almost identical on a VAX, or a Convex C-1, or a Unix-based workstation, or a Cray X-MP. Once learned, your AIPS skills will therefore be highly portable.

Lists of the important AIPS utilities can be obtained at your terminal by typing ABOUT CATALOG  C R and ABOUT GENERAL  C R. See also Chapter 13 for a relatively recent version of all such category lists.

3.1.2 Tasks

AIPS provides a way for you to set up the parameters for, and then execute, many applications programs sequentially or in parallel. The more computationally intensive programs may take many minutes, hours (or even days) of CPU time to run to completion. They are therefore embodied in AIPS “tasks” — programs that are spawned by the AIPS program to execute independently and asynchronously (unless you choose to synchronize them). This lets you get on with other work in AIPS, while one or more tasks are running. You may spawn, however, only one copy at a time of each task from a given AIPS session (i.e.POPS number.)

A typical task setup will look like:

> TASK  task_name  C R

to make task_name the default for later commands; note the quote marks.

> HELP  C R

to write helpful text on your terminal about the purpose of the task and about its input parameters.

You will then spend some time setting up parameter values, as in 3.1.4 below. Then, type

> INP  C R

to review the parameter values that you have set and

> GO  C R

to send the task into execution.

You may also specify which task you want to execute by an immediate argument, e.g.GO  UVSRT  C R to execute the task UVSRT. After the GO step, you will watch for messages saying that the task has started executing normally, has found your data, etc., while you get on with other work in AIPS.

If you discover that you have started a task erroneously, you may stop it abruptly with

> ABORT  C R

to kill the task named by TASK, or

> ABORT  task_name  C R

to kill task_name.

This will stop the job quickly and delete any standard scratch files produced by it. However, input data files — and output data files that are probably useless — may be left in a “busy” state in your data catalog. The catalog file is described in 3.3, including methods to clear the “busy” states and to delete unwanted files. Note that, in 31DEC17 you may also stop a task running under another AIPS number by setting adverb NUMTELL to that number.

Similarly, you may tell the current AIPS seesion to wait for the completion of a task before doing something else using

> WAIT  C R

to wait on the task named by TASK, or

> WAIT  task_name  C R

to wait on task_name.

In 31DEC17 you may also wait on a task running under another AIPS number by setting adverb NUMTELL to that number. Note that AIPS will continue after the task finishes even if it finishes badly; see 12.2.2.

The current full list of tasks may be obtained on your terminal (or workstation window) by typing ABOUT  TASKS  C R. Since this list runs for many pages, you may wish to direct the output to the line printer (with DOCRT = -2  C R) or to consult the list in Chapter 13 of this CookBook.

3.1.3 Verbs

Some of the smaller AIPS utilities run quickly enough to be run inside the AIPS program rather than being spawned. These “verbs” include simple arithmetic and POPS operations, the HELP, ABOUT, INP, and GO commands mentioned already, interactive manipulations of the TV-like display, and many more. Verbs are sent into action simply by setting their input parameters and typing the name of the verb followed by  C R. (The sequence GO  verb_name  C R will also work, but a bit more slowly since it also saves the input parameters of the verb for you; see 3.5 for a further discussion of saved parameters. The sequence TASK  verb_name’ ;  GO  C R will not work, however.) While a verb is executing, AIPS will not respond to anything you type on the terminal (but it will remember what you type for later use). Just watch out for messages and do what is called for with the TV cursor or terminal. You may, of course, think about what you will do next.

You can list all the verbs in AIPS on your terminal by typing HELP VERBS  C R, but the output lists only the names. To find out more, type ABOUT  VERBS  C R which describes what the verbs do. Since this output fills several pages, you may wish to direct it to the line printer (set parameter DOCRT to -2), or to consult the (perhaps dated) list printed in Chapter 13 of this CookBook.

3.1.4 Adverbs

AIPS uses “adverbs” (which may be real numbers or character strings, scalars or arrays) to pass parameters to both “verbs” and “tasks.” A significant part of your personal time during an AIPS session will be spent setting adverbs to appropriate values, then executing the appropriate verbs or tasks. Examples of adverb-setting commands in AIPS are:

> CELL 0.5  C R

to set a single scalar CELL to 0.5

> CELL 1/2  C R

alternate for above with POPS in-line arithmetic

> IMSIZE 512,256  C R

to set a two-element array IMSIZE to IMSIZE(1)=512, IMSIZE(2)=256

> IMSIZE 512 256  C R

an alternate for the above if both values are positive

> IMSIZE 256+256,256  C R

an alternate for the above using POPS in-line arithmetic

> UVWTFN ’NA’  C R

to set a string variable UVWTFN to the value NA

> LEVS 0  C R

to set all elements of the 30-element array LEVS to zero

> LEVS = -2,-1,1,2,3,4,5  C R

to set LEVS(1)=-2, LEVS(2)=-1, LEVS(3)=1, etc. The = avoids in-line arithmetic that would otherwise subtract 2 from LEVS(1)

> LEVS = -2,-1 1 2 3 4 5  C R

an alternate for the above; the comma avoids in-line arithmetic that would otherwise set LEVS(1) = -3

Many AIPS tasks will assume sensible “default” values for adverbs that you choose not to (or forget to) specify. Some adverbs cannot be sensibly defaulted; these should be clearly indicated in the appropriate help information. You may review the current input parameters for any AIPS task or verb by typing

> INP  C R

to review the parameters for task TASK, or

> INP  task_name  C R

to review the adverbs for task task_name.

Any adverbs which you have set to priori unusable values will be followed on the next line by a row of asterisks and an informative message. Details of the input parameters used by any AIPS verb or task can be obtained on your terminal by typing:

> HELP  C R

to review the parameters for task TASK, or

> HELP  task_name  C R

for task task_name

> HELP  verb_name  C R

for verb verb_name

> HELP  adverb_name  C R

for adverb adverb_name

See 3.8 below for more methods of obtaining on-line help with AIPS.

You can list all the adverbs in AIPS on your terminal by typing HELP ADVERBS  C R, but the output lists only the names. To find out more, type ABOUT  ADVERBS  C R which describes what the adverbs do. Since this output fills several pages, you may wish to direct it to the line printer (set parameter DOCRT to -2), or to consult the (perhaps dated) list printed in Chapter 13 of this CookBook.