E.  TROUBLE SHOOTING

   This section lists some of the most common problems people have
had installing AIPS and the solutions.  Also included are a number
of suggestions on what to look for when trying to narrow things
down.

1. Task does not link

   The reasons include:

   a. Some of the not standard tasks (NTERP only when this was written)
use proprietary IIS software that we can not send.  If you have an IIS
it will be possible to link these tasks after the installation with
the IIS provided routines.

   b. Some of the tasks that use the AP may call AP routines that do not
yet have corresponding pseudo array processor routines.  The pseudo AP
versions of these tasks will not link.

   c.  The installation procedure gets the names of the subroutines
to compile from a manually maintained list.  Since AIPS is still
under going rapid development it is possible for the lists to get
out of date.  If a task does not link the error messages will
give a list of the missing routines.  After the installation finishes
you can look for the routines in the various directories.  We have
command procedures that allow programmers to compile and insert
subroutines into the correct library. See the section on PROGRAMMING
IN AIPS for a list and instructions.

2. Many errors

   AIPS uses a large number of logical assignments.  Double check your
group and process logical assignments.  Make sure that ASSIGNL.COM is
executed from LOGIN.COM or from the SYSTARTUP procedure at boot time.

3. AIPS repeatedly asks for 'USER NUMBER'.

   One common problem that occurs when AIPS is activated with @AIPS is
for the 'ENTER USER NUMBER' prompt to be printed over and over.  This
is due to the failure to assign FOR005 to SYS$INPUT (see process
logical assignments).  Make sure LOGIN.COM is being executed
when you log in.

4. AIPS is running but tasks will not start up.

   AIPS needs to find 3 files to start up a task. The TD file, the
inputs/help file for the task, and the executable module for the task.

   A task needs to find 3 files to start up.  A message file (from
logical assignment TASKTTn), the TD file and the SP file.  If a task
bombs out, the system error message will be printed in a file called
ERROR.DAT.  This file can be very useful since when the logical
assignments are incorrect, this may be the only visible record of what
happened to the task.

5. AIPS starts up, but will not recognize any commands, even EXIT.

   This indicates that the memory file has not been initialized.
The complexity of the data structures of the memory files requires
that it has its own initialization program (POPSGN).  This program
should be run automatically during the installation procedure, but
under some error conditions may not have run properly.  Run
[AIPS.new.LOAD]POPSGN and answer the first prompt about POPS numbers
with 011500POPSDAT .  After a few minutes POPSGN responds with
a '>'.  Press return at this point.  POPSGN should finish up in a
few more minutes.
  
6. What the data area for disk 1 ([AIPS.DATA]) should look like.

   This area should contain a number of data files.  A summary
of these files is listed below.  The sizes listed are the number of
blocks used at NRAO and may be different from yours.

File type   Size   number of files 

AC100000    112    1
BA100qnn    128    2 * no_of_interactive_users * no_of_batch_queues
BQ100000     16    1
CA100000    432    1 on each disk (zero if private catalogs).
IC100000     16    1
IC10000n    144    no. of tvs
ID10000n     16    no. of tvs
MS1000nn    112    2 * no_of_interac_users + no_of_batch_queues  +  1
TA10010n      0    no. of tape drives.
TD100000     48    1
SP100000     16    1

   AIPS will also create other data files after being in use.

   Another file type found in [AIPS.new] is the memory file.

File type   Size   number of files 

ME10000n    240    2 * no_of_interac_users + no_of_batch_queues  +  1


F. PROGRAMMING FOR AIPS WITH VAX/VMS

   At NRAO we have developed a number of command procedures and logical
names for compiling and linking AIPS routines.  These routines can be
found in [AIPS.new] and can be modified for use with your system.

   At NRAO each person programming in AIPS has their own account in
the same group but with a unique user portions of the UIC.  A programmer
logs on to his own account to make any changes in AIPS.  In this
way a record of who made the last update is preserved by the system in
the owner UIC field of the file header.

   After logging on, the programmer executes command procedure CDNEW
(a copy can be found in [AIPS]).  This sets the default directory to
NEW and executes command procedure NEW:ASSIGNP which sets the default
protection for new files to (S:RE,O:RWED,G:RWED,W:RE).  This insures
that other programmers in the AIPS group can access modified files.
Finally ASSIGNP makes the process logical assignments necessary to
run AIPS and logical assignments for a number of commonly accessed
subdirectories.  A list of the logical names set by ASSIGNP follows:

DIRECTORY                               LOGICAL NAME

disk:[AIPS.new.LOAD]                      LOAD
disk:[AIPS.new.APL]                       APL
disk:[AIPS.new.AIPS]                      POPS
disk:[AIPS.new.NOTST]                     NOTST
disk:[AIPS.new.FPS]                       FPSFIL
disk:[AIPS.new.PSAP]                      PSAP
disk:[AIPS.new.ICAP]                      ICAP
disk:[AIPS.new.INC]                       INCS
disk:[AIPS.new.HELP]                      HLPFIL
disk:[AIPS.new.INPUTS]                    INPUTS
disk:[AIPS.new.DOC]                       DOC
disk:[AIPS.new.AIPS.SUB]                  AIPSUB
disk:[AIPS.new.AIPS.PGM]                  AIPPGM
disk:[AIPS.new.AIPS.ZSUB.VMS]             AIPVMS
disk:[AIPS.new.AIPS.YSUB.IIS]             AIPIIS
disk:[AIPS.new.APL.SUB]                   APLSUB
disk:[AIPS.new.APL.PGM]                   APLPGM
disk:[AIPS.new.APL.APGM]                  APLAPG
disk:[AIPS.new.APL.ZSUB.VMS]              APLVMS
disk:[AIPS.new.APL.YSUB.IIS]              APLIIS
disk:[AIPS.new.NOTST.SUB]                 NOTSUB
disk:[AIPS.new.NOTST.PGM]                 NOTPGM
disk:[AIPS.new.NOTST.APGM]                NOTAPG
disk:[AIPS.new.FPS.SUB]                   FPSSUB
disk:[AIPS.new.PSAP.SUB]                  SAPSUB
disk:[AIPS.new.PSAP.ZSUB.VMS]             SAPVMS
disk:[AIPS.new.ICAP.SUB]                  CAPSUB
disk:[AIPS.new.DOC.WHO]                   DOCWHO
disk:[AIPS.new.DOC.TEXT]                  DOCTXT

   After executing CDNEW the programmer can compile subroutines and
insert them into the proper library with the following command
procedures.

COMMAND PROCEDURE   SUBROUTINE IS IN DIR                  SOURCE

ACOMRPL             [AIPS.new.AIPS.(SUB or ZSUB.VMS)]     FORTRAN
AASMRPL             [AIPS.new.AIPS.ZSUB.VMS]              MACRO
COMRPL              [AIPS.new.APL.(SUB or ZSUB.VMS)]      FORTRAN
ASMRPL              [AIPS.new.APL.(SUB or ZSUB.VMS)]      MACRO
FCOMRPL             [AIPS.new.FPS.SUB]                    FORTRAN
ICOMRPL             [AIPS.new.ICAP.SUB]                   FORTRAN
NCOMRPL             [AIPS.new.NOTST.SUB]                  FORTRAN
NASMRPL             [AIPS.new.NOTST.SUB]                  MACRO
PCOMRPL             [AIPS.new.PSAP.SUB]                   FORTRAN

   When a subdirectory portion can be SUB or ZSUB.VMS the procedures
look at the first letter of the program name.  A 'Z' indicates the
subroutine is found in ZSUB.VMS.

   A procedure may be invoked by typing

@procedure_name  subroutine_name   option

   Three options concerning listings are available.  The default is
no listing, a short listing is specified by LIST and a cross reference
listing is specified by CROSS.

   For example to compile and insert into a library, subroutine
CTICS.FOR found in [AIPS.new.APL.SUB] and produce a short listing type:

@COMRPL CTICS LIST

   Other command procedures exist to compile programs.  The three
listing options are available (default (none), LIST and CROSS) plus
a MAP option and a DEBUG option.  The command procedures used with the
AP programs (APCLNK and NAPCLNK) also have the options NOPSAP for
skipping the link with the pseudo array processor code and NOFPS for
skipping the link with the FPS array processor code. The options are
placed after the program name and can occur in any order.  For example
to compile and link with the debugger program PRTPL.FOR found in
[AIPS.new.APL.PGM] and get a cross reference listing type:

@COMLNK PRTPL CROSS DEBUG  or @COMLNK PRTPL DEBUG CROSS

   The command procedures for linking are:

COMMAND PROCEDURE      PROGRAM IS IN DIRECTORY

ACOMLNK                [AIPS.new.AIPS.PGM]
COMLNK                 [AIPS.new.APL.PGM]
NCOMLNK                [AIPS.new.NOTST.PGM]
APCLNK                 [AIPS.new.APL.APGM]
NAPCLNK                [AIPS.new.NOTST.APGM]

   Programmers (and users) can choose which version of a program
to run by setting the AIPS adverb VERSION.  AIPS recognizes several
special names for VERSION.  They are OLD, NEW, LOCAL, OLDPSAP, and
NEWPSAP.  If VERSION is equal to one of these names AIPS will get
the executable modules, helps, and inputs from the subdirectories
created by the installation procedure.  If the string VERSION is
not one of these values then AIPS will assume that VERSION is a
directory or a device/directory specification and attempt to find
the executable modules, helps and inputs from this area.  Therefore
a programmer can develop and debug a new task without putting the
task into the AIPS area.
