% NOTE: The way this document should be processed is as follows.
% First, start up TeX without a filename:
%
%	nrao1% tex
%	This is TeX, C Version 2.9 (no format preloaded)
%	*
%
% You get an asterix prompt.  Then enter:
%
%	* \let\contents=\iftrue \input vguide
%
% and let it finish to completion.  This will produce two files:
% texput.dvi (as you would expect) and texput.toc.  The latter is the
% source for the table of contents.  Edit it and check it for problems
% (I had to as the \newsubsection macro screwed up when it followed an
% \endfortran statement).  Then start tex again without any file, and
%
%	* \let\contents=\iffalse \input vguide
%
% Then when it finishes, mv texput.dvi vguide.dvi and take it from there. 
%------------------------------------------------------------------------
% define fonts and twelvepoint environment first...
%
\font\bigbold=cmbx10 scaled \magstep3
\font\twelverm=cmr10 at 12pt		% Roman
\font\twelveit=cmti10 at 12pt		% Normal Italic
\font\twelvei=cmmi10 at 12pt		% Math Italic
\font\twelvesy=cmsy10 at 12 pt		% Math symbol
\font\twelvesl=cmsl10 at 12pt		% Roman Slanted
\font\twelvebf=cmb10 at 12pt		% Roman Boldface
\font\twelvett=cmtt10 at 12pt		% Typewriter
\font\twelvesmc=cmcsc10 at 12pt		% Capitals and small capitals
\font\twelveex=cmex10 at 12pt		% Math extended
\def\twelvepoint{\normalbaselineskip=14pt % changed from 12pt 890811 PPM
 \abovedisplayskip 17pt plus 3pt minus 9pt
 \belowdisplayskip 17pt plus 3pt minus 9pt
 \abovedisplayshortskip 0pt plus 3pt
 \belowdisplayshortskip 10pt plus 3pt minus 4pt
  \parskip=3pt plus 1pt minus 1pt  %it is zero plus 1pt in plain.tex
  \parindent=0.42in       %that's 5/12 inch!
 \def\rm{\fam0\twelverm}%
 \def\it{\fam\itfam\twelveit}%
 \def\sl{\fam\slfam\twelvesl}%
 \def\bf{\fam\bffam\twelvebf}%
 \def\tt{\fam\ttfam\twelvett}%
 \def\smc{\twelvesmc}%
 \def\mit{\fam 1}%
 \def\cal{\fam 2}%
 \font\aipsfont=cmsy10 at 12 pt		% Font for writing fancy AIPS
 \textfont0=\twelverm   \scriptfont0=\tenrm   \scriptscriptfont0=\sevenrm
 \textfont1=\twelvei    \scriptfont1=\teni    \scriptscriptfont1=\seveni
 \textfont2=\twelvesy   \scriptfont2=\tensy   \scriptscriptfont2=\sevensy
 \textfont3=\twelveex   \scriptfont3=\twelveex     \scriptscriptfont3=\twelveex
 \textfont\itfam=\twelveit
 \textfont\slfam=\twelvesl
 \textfont\bffam=\twelvebf \scriptfont\bffam=\tenbf
   \scriptscriptfont\bffam=\sevenbf
   \def\doublespace{\baselineskip=24pt}
\normalbaselines\rm}
\twelvepoint
\def\today{July 25, 1991}
\def\aips{{\aipsfont AIPS}}
\def\AIPS{{\aipsfont AIPS}}
\def\etc{{\it etc.}}
\def\ie{{\it i.e.}}
\def\eg{{\it e.g.}}
%"NASA dots" and "\nnarrower" control sequence to set text in 
%      from the current right and left margins more than \narrower gives.
%      Note that \nnarrower has no effect unless the paragraph ends before the
%      group ends (TeXbook, p. 100).

\def\nnarrower{\advance\leftskip by 50pt\advance\rightskip by 45pt}
\def \ndot{\nnarrower\parindent=0pt\itemitem{$\bullet\,$}}
\def\nndot#1{{\nnarrower\parindent=0pt\itemitem{$\bullet\,$}#1}}
\def\nodot{\nnarrower\parindent=0pt\itemitem{o\ \/}}  % "o-shaped" "NASA dots" 

\hsize=6.25truein\vsize=9.5truein		% These are good for the
\hoffset=.125truein\voffset=-.2truein		% QMS Lasergrafix 800 printer
\advance\vsize by-24pt
%-----------------------------------------------------------------------
% Stuff from Roger Noble: table of contents, etc.
%
\newcount\secnum	% main section number, the M in M.N
\newcount\subsecnum	% subsection number,   the N in M.N
\newcount\footnum	% What is this?
%
% Initialize these newly declared variables
%
\secnum=0
\subsecnum=0
\footnum=0
%
% Write contents record
%
\def\leaderfill{\leaders\hbox{\kern 0.5em.\kern 0.5em}\hfill}
\def\writecontents#1{\contents\write\contfile{\par\noindent
{\noexpand\rm#1}\noexpand\leaderfill\the\pageno}\fi}
\def\writesubcontents#1{\contents\write\contfile{\par
{\noexpand\rm#1}\noexpand\leaderfill\the\pageno}\fi}
%
% Define the section macro
%
\def\newsection#1\par{\global\advance\secnum by 1\global\subsecnum=0
 \vskip 0pt plus.1\vsize\penalty-250\vskip 0pt plus-.1\vsize\bigskip\vskip
 \parskip\mark{#1}\message{\the\secnum. #1}\writecontents{#1}\leftline{\bf
 \the\secnum.\enspace#1}\nobreak\smallskip\noindent}
%
% and the subsection macro
%
\def\newsubsection#1\par{\global\advance\subsecnum by 1\ifnum\subsecnum>1
 \vskip 0pt plus .1\vsize\penalty-250\vskip 0pt plus-.1\vsize\else\nobreak\fi
 \medskip\vskip\parskip\mark{#1}\writesubcontents{#1}\leftline{\bf
 \the\secnum.\the\subsecnum\enspace\sl#1}\nobreak\smallskip\noindent}
%
% and the revised (auto-numbering) footnote macro
%
\def\makefoot#1{\global\advance\footnum by 1\footnote{$^{\the\footnum}$}{#1}}
%
%-----------------------------------------------------------------------
% headline stuff
% 
\headline={\ifnum\pageno>1
              \ifodd\pageno {\rm\doctitle\hfil Page \folio}
              \else         {\rm Page \folio\hfil\doctitle} \fi 
           \else
               \hfil
           \fi}
\footline={\ifnum\pageno>1
              \ifodd\pageno {\rm\hfil \today}
              \else         {\rm\today \hfil} \fi
           \else
               \hfil
           \fi}
%-----------------------------------------------------------------------
% literal text stuff
% Macros for dealing with Fortran code in TEX files
% Written by Tim Cornwell, NRAO/VLA, 86/10/07
% Extracted and modified 88/01/07 by Pat Murphy - no line numbers, ten point
%
\font\tentt=cmtt10 				% in case it's not defined
\def\uncatcodespecials{\def\do##1{\catcode`##1=12 }\dospecials}
{\catcode`\`=\active \gdef`{\relax\lq}}
\def\setupfortran{\tentt
  \def\par{\leavevmode\endgraf} \catcode`\`=\active
  \obeylines \uncatcodespecials \obeyspaces \parskip=1pt}
{\obeyspaces\global\let =\ }
\def\fortranfile#1{\par\begingroup\setupfortran\input#1 \endgroup}
%
\def\fortran{\par\begingroup\setupfortran\dofortran}
{\catcode`\|=0 \catcode`\\=12
 |obeylines|gdef|dofortran^^M#1\endfortran{#1|endgroup}}
%------------------------------------------------------------------------

\def\noheadline{\headline={\hfil}
                \footline={\hss\folio\hss}}
\def\doctitle{}					% set this to document title
\def\title#1{\def\doctitle{#1}}			% or better still say \title...
\def\example#1{\line{\tentt\hskip 2cm {#1}\hfil}} % examples embedded in text

\title{\aips\ \it Installation Guide}
\pageno=-1
\hrule height2pt \vskip 2pt \hrule \vskip 2cm
\centerline{\bigbold AIPS INSTALLATION GUIDE}
\bigskip
\def\THISVER{{\tt 15APR91}}
\def\OLDVER{{\tt 15JAN91}}
\centerline{\THISVER}
\bigskip
\centerline{VMS VERSION}
\bigskip\bigskip
\centerline{National Radio Astronomy Observatory}
\centerline{Edgemont Road}
\centerline{Charlottesville, VA 22903--2475, USA}
\centerline{(804) 296--0211}
\centerline{\tt aipsmail@nrao.edu \rm or \tt 6654::aipsmail}
\bigskip
\centerline{\sl \today}
\vfill\eject
\newwrite\contfile
\contents % will be either iftrue or iffalse
	  % i.e. \let\contents=\iftrue
  \immediate\openout\contfile \jobname.toc
\else
  \ \bigskip\centerline{TABLE OF CONTENTS}\bigskip
  \input\jobname.toc
\fi
\vfill\eject\pageno=1
\newsection{INTRODUCTION}

\aips\ code was ``overhauled'' for the {\tt 15OCT89} release.  All code was
changed to use a pre-processor and to appear to the compiler as
ANSI-standard Fortran 77.  This should make little difference to the
installation of the code.  However, no user data files from previous
releases may be used by the {\tt 15OCT89} and later releases.  All data must
be read into {\tt 15OCT89} and later releases from FITS disk or tape or from
other supported tape formats.  Also, all programs written by users at
non-NRAO sites will also have to be overhauled.  Contact NRAO for
details on how this may be done.

% Code to assist in this
% is provided in this release and a separate document is enclosed to
% describe that process.  A description of the \aips\ directory structures
% appears in Volume I of GOING \aips\ and in the DOCTXT area in file
% {\tt APPENDIXA.TEX}.

Our installation procedures allow many of our \aips\ sites to use a
``short'' version of the installation (6250 BPI tapes only) that only
recompiles and relinks tasks that use a different AP or TV than NRAO.
This should greatly shorten the installation procedure.  One problem
that may occur with the ``short'' installation is that DEC no longer
waits for major releases (i.e. VMS 3.7 to 4.0) to make major changes.
Now every even numbered minor upgrade (i.e. VMS 4.3 to 4.4) may not be
backward compatible with its predecessor.  This is applicable to the
\THISVER\ release, since the NRAO Charlottesville VAX is now running VMS
4.6.  As far as we know, there is no problem with releases up to VMS
5.1--1.  However, there are known problems with VMS 5.3 and later
releases in that the final phase of IBUILD may not work, at least in
the ``short'' installation.  This may be overcome by manually running
the {\tt POPSGN} program (see below or in the {\tt IBUILD.COM} file).
We strongly recommend using the full (``long'') installation if the
revision of VMS is higher than 5.1--1.  Note also that with the
increasing shift of computer power from VMS to Unix, NRAO is less and
less able to perform extensive testing on the VMS version of AIPS.

Because code at NRAO is continually under development, we have found it
necessary to maintain three separate releases of \aips\ (OLD, NEW and
TST) which, if possible, all access the same user data.  Because of the
large amount of disk space needed for each version (see below) most
sites use only one version.  However, some of our sites have found it
very useful to bring up a TST version of \aips\ that coexists with an
older version (NEW).  After TST checks out, simple changes in some DCL
procedures can be made to make the TST version the NEW version.

The installation of \aips\  (including .FOR's, .OLB's, .EXE's, etc.)
requires about 210,000 or more blocks of disk space, depending on your
cluster size.  The disk space for a given version can be reduced after
the installation to about 100,000 blocks by deleting unwanted areas and
by keeping source and libraries on tape.  Keeping previous versions of
\aips\ around will require another 100,000 blocks per version.

The first installation routine, {\tt ILOAD}, will prompt for the specific
parameters needed in your installation and then load everything from
tape.  This step takes about 45 minutes if you do not think about the
answers to the prompts for too long.  The second (and last)
installation procedure, {\tt IBUILD}, will compile and link the routines that
use TV or AP devices if you have something other than the FPS 120B AP
or the IIS Model 70 TV.  {\tt IBUILD} will also create all of the data
files.  This step can take a few minutes or up to 7 hours depending on
how many tasks must be recompiled.

The installation procedure is flexible in allowing various names for
directories, different numbers of disk drives, tape drives, etc.  All
of this is determined by how you answer the prompts at the beginning of
the installation procedure.  Filling out the VAX/VMS \aips\ Installation
Work Sheet should prepare you for answering these prompts correctly.

\bigskip\newsection{STEP BY STEP INSTALLATION INSTRUCTIONS}

\newsubsection{Getting the initial procedures from tape}

Get your system manager to create an account for use with \aips\ (AIPS is
a good name for this account, but not a necessary one.  However, it is
NOT a good idea to have the primary directory several subdirectory
layers down.  Some source code ares will then be, for VMS, too many
subdirectory layers down.) \aips\ should run without any special
privileges or quotas, although a heavy user may tax the open file quota
or subprocess quota on some systems.  At NRAO we have these values set
at a generous 40 for open file quota and 6 for subprocess quota.

To run the installation under VMS version 4.x or with a 6250 BPI tape,
log on to the AIPS account and mount the tape on a tape drive (say
{\tt MTA0:}~for example) and type:\medskip

\example{\$ MOUNT/FOREIGN MTA0: DUMMY TAPE}\medskip

\noindent To run the installation under VMS version 5.x and with a 1600 BPI tape,
replace this command with:\medskip

\example{\$ MOUNT/FOREIGN/MULTI MTA0: DUMMY TAPE}\medskip

\noindent
The installation procedure will access the tape drive through the
logical name TAPE, so the ``DUMMY TAPE'' part of the command is
necessary.

Next, load the startup DCL procedures with the command\medskip

\example{\$ BACKUP TAPE:START.BCK []/NEW\_VERSION}\medskip

\medskip
\newsubsection{Running ILOAD}

Leave the tape mounted, and type\medskip

\example{\$ @ILOAD}\medskip

\noindent
{\tt ILOAD} first displays your current default directory and asks you to
verify that this is the top most directory of the AIPS account.
The prompt should look something like this:\medskip

\example{THE CURRENT DIRECTORY IS  DUA0:[AIPS]}
\example{THIS SHOULD BE THE AIPS ROOT DIRECTORY. (USUALLY [AIPS])}
\example{ENTER: 1=YES IT IS, CONTINUE. 2=NO, EXIT}\medskip

\noindent
If your default is set correctly enter a ``1''.
All entries for this and other questions are free format.

If you are not running the installation procedure for the first time,
you may see the next prompt.\medskip

\example{ENTER: 1=Use default values, 2=Use values I entered last time :}
\medskip

\noindent
Beginning with the {\tt 15JUL86} release, the installation procedure writes a
file {\tt ILASTTIME.COM} that contains all of the global variables set during
the installation.  Thus, if you need to re-run the installation
procedure for some reason, or even if you keep {\tt ILASTTIME.COM} around
until the next release, all of these values can be regained by
answering ``2'' to the prompt.  In this case, you will not be asked any
individual questions (except for ones added to a new release), and all
of the menus will be brought up containing the values you used last
time.  Thus, you can quickly review your previous answers and make any
changes needed for the current installation.

The following instructions show an installation in which you answer a
``1'' to the prompt, or you do not have an {\tt ILASTTIME.COM} file.
\medskip

The next question is\medskip

\example{ENTER A 20 CHARACTER STRING IDENTIFYING YOUR LOCAL SYSTEM}
\example{ENTER:}\medskip

\noindent
In Charlottesville, we use the string "NRAO CVAX".

The next question is the following:\medskip

\example{ARE YOU INSTALLING THIS VERSION AS 1=NEW OR 2=TST ?}\medskip

\noindent
NEW is the default \aips\ you get when you startup \aips\ without telling
it which one you want.  Therefore, if you will only have one version
of \aips\ on disk, you should select NEW (type a ``1'').  If you already
have an \aips\ running as new and you want to run this \aips\ as a test
version first, and you have enough disk space for two AIPS, then type
in ``2'' for TST.

If you answer ``2'' (TST) then you will be prompted for the NEW version
date (such as \OLDVER):\medskip

\example{ENTER NEW AREA AS 15MMMYY :}\medskip

The current version of the installation assumes that the NEW source
code and the TST source code reside on the same disk.  If not, you
can edit {\tt SYSVMS:ASSNLOCAL.COM} after the installation and fix up the
line that does a:\medskip

\example{DEC NEW your\_device/directory\_name}\medskip

The next question determines which version of the Array Processor
routines to link with the AP tasks.\medskip

\example{ENTER AP TYPE; 1=FPS 120B, 2=FPS 5000 SERIES, 3=NONE}\medskip

\noindent
If you do not answer ``3'' (NONE) and you do not have a logical name
``FPS'' defined then the next prompt will appear:\medskip

\example{DIRECTORY CONTAINING AP LIBRARIES}

\noindent
Enter the device and directory for your FPS provided libraries.

The procedure then brings up a screen that will look something like
this:\medskip

\fortran
AIPS Configuration Menu
NO.  PARAMETER                                 VALUE
1   OLD VERSION                                NONE
2   NEW VERSION                                15JAN91
3   TST VERSION                                15APR91
4   LOCAL SYSTEM NAME                          NRAO CVAX
5   AP; 1=FPS 120B, 2=FPS 5000, 3=NONE         1
6   DIRECTORY CONTAINING AP LIBRARIES          UMA0:[FPS]
>>> ENTER NUMBER FOR CHANGE, 0=PRINT, -1=FINISHED, -2 PREV MENU :
\endfortran\medskip

At this point the user may choose to change any of the parameters
listed by entering the number printed at the left of the parameter.  By
entering a zero the user may reprint the list of parameters and their
current values.  After all parameters have been set correctly the user
may move on to the next step by entering a ``-1''.  The user may go back
to a previous menu by entering a ``-2''.  Of course this first menu has
no previous menu, so a ``-2''  at this point will just reprint this first
menu.

The following prompts and responses show how to change the the array
processor type from a ``1'' (FPS 120B) to a ``2'' (FPS 5205 type).
\medskip

\example{ENTER NUMBER FOR CHANGE, 0=PRINT, -1=FINISHED, -2=PREV MENU : 5}
\example{AP; 1=FPS 120B, 2=FPS 5000, 3=NONE}
\example{ENTER: 2}
\example{ }
\example{ENTER NUMBER FOR CHANGE, 0=PRINT, -1=FINISHED, -2=PREV MENU : -1}
\medskip

\noindent
After a ``-1'' is entered a second menu (The System Parameter Menu) is
displayed. The items in this menu can be modified in a manner similar
to the 1st set.  The following is a list of the parameters and a
discussion of some of the non obvious ones:\medskip

\example{System Parameter Menu}
\example{1    NO. OF DATA DISK DRIVES}\medskip

\noindent
This is the number of disk drives available for data.  If you have two
disk drives available for data and you are putting the source code on a
separate third disk, you enter a ``2''.  Later, you will be prompted for
the drive name and data area (for example {\tt DUA0:[AIPS.DATA]}) for each of
these disks.  The installation procedure will try to create each of
these directories.\medskip

\example{2    NO OF TAPE DRIVES}\medskip

\noindent
Later, you will be prompted for the physical names for all of the
tape drives.\medskip

\example{3    NO OF INTERACTIVE AIPS}\medskip

\noindent
The number of simultaneous non-batch users.  The new limit is 15
if there is no \aips\ batch or 14 minus the number of batch queues.
\medskip

\example{4    NO OF BATCH QUEUES}\medskip

\noindent
The \aips\ batch subsystem (not to be confused with VMS batch) allows a
user to set up a file to run a subset of \aips\ commands as a detached
task.\medskip

\example{5    NO ENTRIES IN PRIVATE CATALOGS}\medskip

\noindent
The initial size of catalog files in entries.  This number is not as
critical as it once was since catalogs can now expand after all entry
slots fill up.\medskip

\example{6    MAXIMUM ALLOWED USER NUMBER}\medskip

\noindent
User numbers may range from 1 to 4095 (hexadecimal FFF).  Some AIPS
tasks like {\tt DISKU} cycle through all allowable user numbers.  This
parameter allows those programs to save time by not going all the way
to 4095.\medskip

\fortran
7    NO OF LINES PER CRT PAGE
8    NO OF LINES PER PRINT PAGE
9    PLOTTER NO OF X DOTS PER PAGE
10   PLOTTER NO OF Y DOTS PER PAGE
11   PLOTTER NO OF X DOTS PER CHARACTER
12   PLOTTER NO OF Y DOTS PER CHARACTER
13   PLOTTER NO OF X DOTS PER MM
14   PLOTTER NO OF Y DOTS PER MM
15   NO OF WORDS IN AP (IN 1024 S)
\endfortran\medskip

Words of memory in the array processor in 1024 word units.  This must
be a positive number even for systems without an AP.  We recommend 64
for non-AP systems (that is also in the code).  It is ALSO 64 for FPS
5000-Series array processors, despite the number of pages 64K words you
actually bought.\medskip

\example{16   NO OF GRAPHICS TERMINALS AVAILABLE}\medskip

\noindent
The \aips\ definition of a graphics terminal is a Tektronix 4012
compatible terminal that is sitting next to a user and is used only for
graphics display.  A user running \aips\ from a terminal that also has
graphics capability, is called a ``remote'' user.  This second type of
graphics user should not be included in the count of graphics terminals
available.  Later you will be prompted for the device names of all the
graphics terminals ({\tt TTA4:} is an example of a device name).\medskip

\example{17   NO OF TV DEVICES AVAILABLE}\medskip

\noindent
If this number is greater than zero, then the installation procedure
will prompt you for the device names of all of your TVs.  You will also
be asked some questions about the number of graphics planes and image
planes for each TV.\medskip

\example{18   NO OF RESERVED AIPS TERMINALS}\medskip

\noindent
\aips\ allows you to reserve the process name AIPS1, AIPS2, etc. for
specific terminal ports.  Lower \aips\ numbers have priority use of the
AP and can be tied to specific message terminals.\medskip

After choosing ``FINISHED'' for this menu, you will move on to questions
about your graphics devices.  If you have a TV you will be asked the
following question.\medskip

\example{ENTER TV TYPE; 1=IIS M70, 2=IIS M75, 3=DEANZA, 4=COMTAL,}
\example{\hskip 3cm 5=IVAS, 6=ARGS}\medskip

\noindent
If you have a TV or a graphics terminal, then a graphics parameter
screen will be displayed.  Some of the parameters are discussed in
detail below.  If you do not have both devices, some of the parameters
may not appear on your screen.\medskip

\example{Graphics Menu}
\example{NO.  PARAMETER}
\example{1   NO OF USERS ALLOWED ACCESS TO TKS}\medskip

\noindent
At NRAO we have one graphics terminal in a room with several users.
The value for item one allows you to control how many of these users
can use this one graphics terminal.  For example, if this parameter is
``2'', then AIPS 1, and AIPS 2 could use the graphics device, while
higher AIPS numbers could not.\medskip

\example{2   NO OF X DOTS PER MM ON GRAPHICS}
\example{3   NO OF USERS ALLOWED ACCESS TO TVS}\medskip

\noindent
Similar to item one, except for the TV device.  Note that the Comtal
and the ARGS are not supported at present since the Y code has not yet
(as of the 15OCT90 release) been overhauled.\medskip

\example{4   TV; 1=IIS M70, 2=IIS M75, 3=DEANZA 4=COMTAL 5=IVAS 6=ARGS}
\example{5   NUMBER OF IMAGE PLANES IN TV DEVICE 1}
\example{6   NUMBER OF GRAPHICS PLANES IN TV DEVICE 1}\medskip

\noindent
The next stage of the installation procedure asks about device names.
The following question is asked n times where n is the value of system
parameter 1 (number of disk drives).\medskip

\example{ENTER AIPS DISK n DATA AREA}\medskip

\noindent
The following question is asked n times where n is the value of system
parameter 2 (number of tape drives).\medskip

\example{ENTER AIPS TAPE DRIVE n PHYSICAL NAME}\medskip

\noindent
The following pair of questions is asked n times where n is the value
of system parameter 18 (number of reserved \aips\ terminals).\medskip

\example{ENTER TERMINAL RESERVED FOR AIPSn}
\example{ENTER MESSAGE TERMINAL (CR IF NONE) FOR AIPSn}\medskip

\noindent
The following question is asked if system parameter 4 (number of batch
queues) is greater than zero.\medskip

\example{ENTER BATCH OUTPUT TERMINAL OR FILE}\medskip

\noindent
The following question is asked n times where n is the value of system
parameter 16 (number of graphics terminals).\medskip

\example{ENTER PHYSICAL NAME FOR 4012 TYPE GRAPHICS DISPLAY n}\medskip

\noindent
The following question is asked n times where n is the value of system
parameter 17 (number of TV devices).\medskip

\example{ENTER PHYSICAL NAME FOR TV DEVICE n.}\medskip

\noindent
The next question is\medskip

\example{ENTER PLOT QUEUE FOR PLOTTER (CR IF NONE) :}

\noindent
At NRAO we have a Versatec that serves as both our standard printer
and our plot device for task {\tt PRTPL}.  Therefore, our plot queue
is {\tt SYS\$PRINT}.  If you have a set up like this, enter {\tt
SYS\$PRINT}.  If you have a printer-plotter installed as a spooled
device assigned to another queue, you can enter that name here.  If
you do not have a plotter, enter a carriage return.  Some sites have
reported that queue names will not work if you add a colon at the end
of the queue name, although at NRAO Charlottesville things seem to
work both with and without the colon.

The next question is\medskip

\example{ENTER QUEUE NAME FOR LASER PRINTER (CR IF NONE) :}

\noindent
\aips\ supports QMS and Canon laser printers with tasks {\tt QMSPL} and
{\tt CANPL}.  If you have such a printer, enter the queue name here.
Some sites have reported that queue names will not work if you add a
colon at the end of the queue name.

After these questions, the device names are displayed in a ``Device name
menu'', and you are allowed to make corrections.

This ends the questions asked by the ILOAD procedure.  After you enter
a ``-1'' for the last menu,  ILOAD will create some directories and then
load the rest of \aips\ from tape (the tape should be left mounted while
answering the questions).  Then ILOAD will build a few text files and
quit.

\medskip\newsubsection{Running IBUILD}

The next procedure, IBUILD, can be fairly lengthy if a) you do not have
an FPS120B array processor or an IIS Model 70 TV, or b) are using a
1600 BPI installation tape, or c) you cannot use the ``short''
installation because of possible VMS revision incompatibilities.  If
one of these is the case, then IBUILD must recompile and relink the
tasks that use a TV or an AP with the libraries appropriate for your
configuration.

The DeAnza TV routines call proprietary code that NRAO cannot provide.
{\it IF YOU HAVE THE DEANZA TV DEVICE YOU MUST, AT THIS POINT, EDIT THE
OPTIONS FILES AND INCLUDE YOUR DEANZA SUPPLIED LIBRARIES\/}.  These
options files are in directory {\tt AIPS\_VERSION:[SYSTEM.VMS]} and are
named:\medskip

\fortran
AIPPGMOPT.OPT    QYPGMOPT.OPT     QYPGNOTOPT.OPT   QYPGNOTOPT1.OPT
QYPGMOPT1.OPT    YPGMOPT.OPT      YPGNOTOPT.OPT    YPGVMSOPT.OPT
\endfortran\medskip

If you do not have an AP then the {\tt *OPT1.OPT} files will not be
present.  If you have two different models of TV for use in AIPS, you
need to create versions of these option files for the second model of
TV: {\tt *OPT2.OPT} from the {\tt *OPT.OPT} files and {\tt *OPT3.OPT}
from the {\tt *OPT1.OPT} files.  Note that {\tt *1.OPT} and {\tt
*3.OPT} are for pseudo-AP link edits in the presence of a real AP
only.  Make sure that you have OPT files only in the {\tt SYSVMS}
area.  Any {\tt OPT} files in {\tt SYSLOCAL} will take precedence over
the {\tt SYSVMS} versions.

You initiate IBUILD with the following command:\medskip

\example{\$ @IBUILD}\medskip

\noindent
IBUILD will first make some logical assignments needed to execute
and compile programs in AIPS.  These logical assignments can be
in a logical name table after \aips\ is installed, but process logical
assignments are made here to keep from interfering with an existing
AIPS.  Making these assignments may take one or two minutes.  Then
IBUILD asks its first question:\medskip

\example{1=REBUILD ALL OF AIPS.  2=REDO NECESSARY TASKS ONLY.}

\noindent
If you answer with a ``1'' then IBUILD will recompile all subroutines,
rebuild all libraries, and recompile and relink all tasks.  This runs
around 12 to 16 hours.  A ``2'' will only recompile the tasks needed to
run your particular AP/TV configuration.  This could take from zero
to 7 hours (2 to 7 on 1600 bpi tapes).

    After all of the programs are linked, the installation procedure
attempts to build and initialize all the data files by running program
{\tt FILAI2}.  {\tt FILAI2} reads the system parameters from the text file
{\tt [AIPS]SYSPARM.} and builds the files according to these specifications.
If any older versions of the files exist they are deleted except for
the catalog (CA) files, the Message (MS) files, the password file (PW),
and the accounting (AC) file.  These files are not deleted or
re-initialized as a protection against losing data on an existing
system.  Note that the {\tt 15OCT89} and later releases will not recognize
data files of this sort from earlier releases and the continuity with
the past, described here, does not apply.  If an old password file
exist, then FILAI2 will prompt for a password.  The password is the
same as that for user number 1.  If you have not changed the password
for user 1, then the password is {\tt AMANAGER} in uppercase.  If you cannot
remember the password for user 1, then you may destroy all passwords
for all \aips\ numbers by deleting file {\tt DA00:PWC00000.;1}.  When you have
finished with releases prior to {\tt 15OCT89}, you should also delete
{\tt DA00:\%\%1*.*;1}.

As mentioned earlier, some later versions of VMS (in particular 5.3
and beyond) will not take kindly to the redirection attempt in the
{\tt IBUILD.COM} file right before the {\tt POPSGN} program is run.
It can most likely be avoided by running POPSGN manually, entering the
parameters ``{\tt 1 15 0 POPSDAT NEW}'' when asked, and then when the
greater-than symbol appears, pressing {\tt <RETURN>}.

\medskip\newsubsection{Running IBUILD as a batch job (IBATCH, IBATFINI)}

A batch version of {\tt IBUILD.COM} is available called {\tt IBATCH.COM}.  This
file may be submitted to a batch queue from the \aips\ account.  The
default choice for this file is to redo only the necessary tasks.  If
you want to rebuild all of AIPS, replace the line {\tt\$ GOTO SOME} with
the line {\tt\$ GOTO ALL}.  To avoid a massive print job, enter:\medskip

\example{SUBMIT/NOPRINT/KEEP IBATCH}\medskip

\noindent
To keep the size of the log file to a reasonable size, you can put a
{\tt\$ SET NOVERIFY} as the first active DCL command.

IBATCH does not build the data files, since an interactive password
entry may be required if you have an existing AIPS.  You must run
IBATFINI (by doing an {\tt @IBATFINI}) after IBATCH completes.  IBATFINI
should only take about 5 minutes.

% hl 1 Special instructions for 15OCT90 installation.
%
% A bug in the overhauled version of the program POPSGN was discovered
% too late for modification for the 15OCT90 distribution.  It cannot be
% run either in batch or in a command procedure.  This will cause a
% Fortran write error; the procedure will then terminate.  POPSGN is run
% as the last operations in both IBUILD and IBATFINI.  For this release,
% POPSGN must be executed manually upon otherwise successful termination
% of IBUILD or IBATFINI as follows:
% .s1
% .lit
% $ run load:POPSGN
% Enter Npops1, Npops2, Idebug, Mname, Version (3 I's, 2 A's)
% ENTER: 1 15 0 POPSDAT ' '
% >
% ENTER: <CR>
% .end lit
%
% This takes about 2 minutes before the ">" prompt, and about 1 minute
% to complete the job.

\bigskip
\newsection{FINAL SET UP AND CUSTOMIZATION}

\newsubsection{Setting up to run AIPS}

The installation procedure does not automatically do the last few file
copies and assignments necessary to run \aips\ fully.  This is to keep
from overwriting pre-existing, customized versions of these files used
by an existing AIPS.

First, the \aips\ top-most directory should have a procedure called
{\tt ASSNSTART.\-COM} that assigns logical name {\tt AIPS\_STARTUP} to
the directory containing the latest command procedures.  The
installation procedure created a procedure called {\tt ASSNSTART.\-NEW}
in the top-most directory.  You should rename this file with the
command\medskip

\example{\$ RENAME ASSNSTART.NEW ASSNSTART.COM}\medskip

\noindent
The \aips\ account should have a {\tt LOGIN.COM} file that should call
procedures {\tt ASSNSTART} (if necessary), {\tt
AIPS\_STARTUP:AIPSUSER} and {\tt AIPS\_STARTUP:RUNAIPS}.  You can find
a sample {\tt LOGIN.COM} in {\tt AIPS\_STARTUP:LOGIN.COM}.  If you do
not already have a customized {\tt LOGIN.COM}, you can use this sample
{\tt LOGIN.COM} by doing the following command:\medskip

\example{\$ COPY AIPS\_STARTUP:LOGIN.COM *}\medskip

\noindent
At this point anyone logging in to the \aips\ account should be able
to use the latest AIPS.

\medskip\newsubsection{Setting up message terminals}

Some of the functions that were previously done within \aips\ ``Z''
routines are now done external to \aips\ in DCL.  This was done to give
the \aips\ system manager more flexibility in setting things up. Linking
message terminals and graphics devices to specific \aips\ numbers (such
as AIPS1, AIPS2, etc.) can be done in {\tt AIPS\_PROC:AIPS.COM}.  The
following code fragment is in the default {\tt AIPS.COM}:\medskip

\fortran
$ IF F$GETJPI("","PRCNAM").NES."AIPS1" THEN GOTO NOT_AIPS1
$     TVACCESS = "PRIMARY1"
$     TKACCESS = "PRIMARY1"
$!****     DEFINE/USER_MODE TASK_OUT TASKTT1
$ NOT_AIPS1:
\endfortran\medskip

\noindent
This DCL will test to see if the process name is AIPS1, and if so,
assign primary access to TV number 1 and primary access to the
graphics terminal number 1.  The line that is commented out defines
the task output for AIPS1 to be {\tt TASKTT1} which is a logical names
which could be assigned to the message terminal for AIPS1.  The
default assignment for {\tt TASK\_OUT} is {\tt TT} (the terminal for
the parent process). other possible assignments for {\tt TVACCESS} and
{\tt TKACCESS} are {\tt "NONE"} or {\tt "SECONDARYn"} where {\tt n} is
the TV or graphics terminal number.  The \aips\ system manager should
edit {\tt AIPS.COM} to produce the desired configuration for her/his site.

An area which is often changed involves the access to graphics (TK)
devices.  In the {\tt AIPS.COM} file provided, there is the concept of
REMOTE.  If the user gives that as an option, then he is denied access
to the TV and assigned a special TK number so that all graphics is sent
back to his terminal.  If your site has terminals with built in
graphics, you should remove all the lines referring to TKs from the\medskip

\example{\$ IF .NOT.REMOTE THEN GOTO NOT\_REMOTE}\medskip

\noindent
section so that they will be executed automatically rather than
conditionally.

\medskip\newsubsection{Setting up a system wide logical name table}

When you logon to AIPS, the login procedure will execute {\tt
ASSNSTART.COM} which assigns logical name {\tt AIPS\_STARTUP}.  Then
the login procedure will call {\tt AIPS\_STARTUP:AIPS\-USER\-.COM} to
define some commands and call {\tt AIPS\_STARTUP:USELNM} to initialize
all of the logical variables.  {\tt USELNM} will look for a logical
name table {\tt AIPS\_USER}.  If this table exists then {\tt USELNM}
just creates a reference to it in {\tt LNM\$FILE\_DEV}.  Otherwise,
{\tt USELNM} must create the extensive logical name table used by
AIPS.  You can speed up logging in to \aips\ and speed up the spawning
of tasks by having your system create these logical names at boot
time.  See if you can get your system manager to put the following
line in your {\tt SYS\$MANAGER:SYSTARTUP.COM} file.  You will use your own
disk name (not {\tt aips\$disk} as shown) and your own directory name, of
course.\medskip

\example{\$ SUBMIT aips\$disk:[aips]BOOTFINDER}\medskip

\noindent
If this can be done, you should copy
{\tt AIPS\_VERSION:[SYSTEM.VMS]BOOTFINDER.COM} to your equivalent of
{\tt aips\$disk:[aips]}.

\medskip\newsubsection{Setting up to program in AIPS}

The \aips\ programming environment depends on the existence of a large
number of logical names.  These logicals are set by the command
procedure {\tt LOGIN.PRG}.  A copy of this procedure can be found in
{\tt AIPS\_VERSION:[SYSTEM.VMS]}.  This procedure must be in the same
directory (usually the AIPS account default directory) as {\tt ASSNSTART.COM}
to work properly.  You must move this procedure to this directory and
your programmers must execute this file before using the other
programmer commands.  Explanations of the \aips\ programming environment
under VMS (and UNIX) can be found in ``GOING AIPS'', the full manual for
programming in AIPS.  A printed version can be obtained from NRAO in
Charlottesville and the files are to be found in the DOCTXT area
(GOINAIPS, APPENDIXA, CHAPn.TEX files).

\medskip\newsubsection{Check out the TV conditions}

The TV code depends on a number of parameters in the ID0000n files
which describe the number and size of the image planes, the peak image
intensity, the peak intensities out of the LUT and in and out of the
OFM among other things.  {\tt RUN AIPS\_VERSION:[LOAD]SETTVP} asking to
change parameters for all your TVs and change any that seem wrong.

\medskip\newsubsection{Making local versions of command procedures}

Many sites make custom local versions of the DCL command procedures
that support AIPS.  For instance, a site may want to modify file {\tt
RUNAIPS.COM} to have it automatically start up \aips\ when a user logs
in.  Problems can occur when the site installs the next version of
AIPS, and the modifications are replaced by the NRAO versions.
Version 4.0 of VMS supports search paths embedded in logical names, so
that a file accessed by a logical name can be searched for in one
directory, and if not found, searched for in another directory.  Most
of the \aips\ command procedures are accessed by logical name {\tt
AIPS\_PROC}, which is defined in {\tt ASSNBASIC.COM} to be the path of
{\tt SYSLOCAL}, {\tt SYSVMS}.  {\tt ASSNBASIC.COM} defines {\tt
SYSLOCAL} to be {\tt AIPS\_VERSION:[SYSTEM.VMS.LOCAL]}.  Thus, any
local versions of the command procedures can be placed in this
directory allowing them to be executed in place of the standard
versions, and also keeping them separate from the standard versions.
The one exception to procedures being accessed by logical {\tt AIPS\_PROC},
is when no logical names have yet been set.  In this case, the command
procedure {\tt ASSNSTART.COM}, which is found in the AIPS account default
directory, will be executed to set the logical name {\tt
AIPS\_STARTUP}.  Then, the procedures that set the other logicals will
be accessed from {\tt AIPS\_STARTUP}.  If you have customized startup
procedures, you may want to edit {\tt ASSNSTART.COM} and add a search path.

\medskip\newsubsection{Changing TST to NEW and NEW to OLD}

     At some point you may want to change the definitions of TST, NEW
and/or OLD by editing DCL command files.  These definitions are made in
two places.  One is {\tt SYSVMS:ASSNLOCAL.COM} and the other is
{\tt [AIPS]ASSNSTART.COM}.

\medskip\newsubsection{Deleting areas which are not needed}

This \THISVER\ release of \aips\ comes with four load module areas: all
tasks (IIS Model 70, FPS where used), all AP tasks (pseudo-AP, Model
70 where used), all TV tasks (IVAS, FPS where used), and all TV/AP
tasks (IVAS, pseudo-AP).  These are in logical areas LOAD, LOAD1,
LOAD2, and LOAD3, respectively.  In \THISVER, the third and fourth are
empty, however, so there is nothing to delete to make space.  On
1600-bpi tapes, even the LOAD1 area is empty.  In addition, we include
ALL source code in \aips\ on the transport tape and load it all to disk.
We do this because we do not wish to presume which of the code is not
of interest to you.  There are a variety of things you could delete if
you want:\medskip

\noindent If you do not want non-VMS routines, delete {\tt
[...UNIX...]*.*;*}, \eg\medskip

\example{\$ del [AIPS.\THISVER.*.DEV.UNIX...]*.*;*}
\example{\$ del [AIPS.\THISVER.*.APL.*.NOTST.UNIX...]*.*;*}
\example{\$ del [AIPS.\THISVER.SYSTEM.UNIX...]*.*;*}\medskip

\noindent and so on.  If you do not want certain TV routines, delete:\medskip

% make them \examples some time....
\fortran
     [...Y.DEV.IIS...]*.*;*         (no IIS either model)
     [...Y.DEV.IVAS...]*.*;*        (no IVAS)
     [...Y.DEV.ARGS...]*.*;*        (no ARGS)
     [...Y.DEV.DEA...]*.*;*         (no DeAnza)
     [...Y.DEV.V20...]*.*;*         (no Comtal)
     [...Y.DEV.VTV...]*.*;*         (no Virtual TV)
     [...Y.DEV.SSS...]*.*;*         (no SUN Screen server)
     LIBR:YM70LIB.OLB;*             (no IIS Model 70)
     LIBR:YM75LIB.OLB;*             (no IIS Model 75)
     LIBR:YIVASLIB.OLB;*            (no IVAS)
     LIBR:IVAS.OLB;*                (no IVAS)
     LIBR:XANTH.OLB;*               (no IVAS)
     LIBR:YDEALIB.OLB;*             (no DeAnza)
     LIBR:YARGSLIB.OLB;*            (no ARGS)
     LIBR:YV20LIB.OLB;*             (no Comtal)
     LIBR:YVTVLIB.OLB;*             (no Virtual TV)
     LIBR:YSSSLIB.OLB;*             (no SUN Screen server)
\endfortran
\medskip

\noindent
If you do not have an FPS array processor, delete:\medskip

\fortran
     [...Q.DEV.FPS...]*.*;*
     LIBR:Q120BLIB.OLB;*            (no FPS 120-B)
     LIBR:Q5000LIB.OLB;*            (no FPS 5000)
\endfortran\medskip

\noindent
Get rid of old junk by deleting (if we forgot to):\medskip

\example{[...]*.OLD;*}\medskip


\medskip\newsubsection{Output to the printer/plotter}

\medskip\noindent{---The Versatec}

At NRAO our Versatec serves as the spooled system printer and as the
plotter.  Printed output and plots are written to file {\tt FOR001.DAT} which
is created  with {\tt DISP="PRINT/DELETE"} in a FORTRAN open statement.  Our
device name for the Versatec follows DIGITAL's terminology instead of
Versatec's and is {\tt LPA0:}.

Task {\tt PRTPL} writes to the plotter.  It reads an \aips\ plot file
and then constructs a bit map version of the plot.  {\tt ZDOPRT} (a
subroutine of {\tt PRTPL}) will read the bit map and write the file
{\tt FOR001.DAT} which contains plot commands recognized by version C
of the Versatec driver.  {\tt FOR001.DAT} is opened with the {\tt
DISP="PRINT/DELETE"} option.  When this file is closed, the plot will
be spooled to the device queue defined by the logical name {\tt
PLOTTER}.

The bit map file written by {\tt PRTPL} and read by {\tt ZDOPRT} is of the
following format:  The first word in the first 512 byte block contains
the number of plot lines in the bit map file.  {\tt ZDOPRT} expects each line
to contain 2112 bits (132 words).  The first (top) line starts at the
first word in the 2nd 512 byte block.  Succeeding lines follow one
after another crossing block boundaries.

Sites with a Versatec that is used for plotting only and not for
spooled printed output will want a version of {\tt ZDOPRT} that writes
directly to the Versatec.  Use module {\tt ZDOPR3.FOR} as a model.
You will probably have to change the device name in this module from
{\tt LPA0:} to your device name.

\medskip\noindent{---The Printronix}

Thanks to NRL, we have a version of {\tt ZDOPRT} that works for the
Printronix printer/plotter.  This is saved under the name {\tt
ZDOPR5.FOR}.  Unfortunately, the Printronix is an asymmetric device
(the spacing of dots in the X direction is 1.2 times the spacing of
dots in the Y direction).  {\tt PRTPL} has the hooks to support such a
device, but AIPS does not currently allow a separate {\it X dots per
mm for plotter\/} and {\it Y dots per mm for plotter\/} in the system
parameter file.  The routine {\tt ZDOPR5} has not been overhauled for
15OCT90 or \THISVER.

Making {\tt PRTPL} work for an asymmetric device requires a change in the
following line in subroutine {\tt PRTDRW} found in file {\tt PRTPL.FOR}:
\medskip

\example{YPRDMM = XPRDMM}\medskip

\noindent to\medskip

\example{YPRDMM = 1.2 * XPRDMM}\medskip

The following values for the printer characteristics found on
the system parameter menu seem to be correct for the Printronix:
\medskip

\fortran
NO OF LINES PER PRINT PAGE            60
PLOTTER NO OF X DOTS PER PAGE        768
PLOTTER NO OF Y DOTS PER PAGE        640
PLOTTER NO OF X DOTS PER CHARACTER     8
PLOTTER NO OF Y DOTS PER CHARACTER    10
PLOTTER NO OF X DOTS PER MM            2.835
PLOTTER NO OF Y DOTS PER MM            2.362
\endfortran\medskip

\medskip\newsubsection{Protections}

The default protections on \aips\ system files are set to {\tt (S:RWED, O:RWED,
G:RWE, W:RWE)} to allow people to run \aips\ from their own login.  This
default is set in procedure IBUILD before program {\tt FILAI2} is run to
create all of the system files.  You can either change the protections
after the installation with the {\tt SET PROTECTION} command, or you can edit
{\tt IBUILD.COM} before running it, and change the {\tt SET PROTECTION} command
there.  You may also need to change the protections for the directories
pointed to by logical names {\tt DA01}, {\tt DA02}, etc., depending on the
circumstances at your site.

\medskip\newsubsection{Setting Time Destroy Limits}

The default time destroy limit for all disks is 14 days.  Time destroy
limits are stored in the system parameter file and can be changed by
running program {\tt AIPS\_VERSION:[LO\-AD]SET\-PAR}.  This program uses a menu
approach and uses free-format input.  The prompts and responses shown below
indicate how to change the time destroy limits on disk 1 and disk 2
from 14 days (the default) to 21 days and 35 days respectively.
\medskip

\fortran
Enter:  1=Start Over, 2=Change parameters, 3=Change DEVTAB, 4=Quit
2

(The system parameter menu is displayed here)

Enter number to change or  0 = Print, -1 = Return
ENTER: 21
21  TIMDEST minima disks 1 - 2 days 14.  14.
ENTER: 21 35
Enter number to change or  0 = Print, -1 = Return
ENTER: -1
Password : AMANAGER     ! (does not echo, must be UPPER CASE)
Enter:  1=Start Over, 2=Change parameters, 3=Change DEVTAB, 4=Quit
ENTER: 4
\endfortran

\medskip\newsubsection{Disk Reservation System}

\aips\ has the ability to restrict disk access to a
specified list of users and to limit use of an \aips\ disk number to be
for scratch files (not MA and UV, anyway).  By default, all disks are
available for all uses by all users.  To change this, run program
{\tt AIPS\_VERSION:[LOAD]SETPAR}.  The prompts/responses shown below indicate
how to change disk 2 to be used only by users 36, 103, and 1042 and
disk 4 to be used only for scratch files.\medskip

\fortran
Enter:  1=Start Over, 2=Change parameters, 3=Change DEVTAB, 4=Quit
2

(The system parameter menu is displayed here)

Enter number to change or  0 = Print, -1 = Return
ENTER: 33
33  Disk & reserved users or -1 scratch (9 I)
    Disk  2 Users    0
    Disk  3 Users    0
    Disk  4 Users    0
ENTER: 2 36 103 1042 0 0 0 0 0
Enter number to change or  0 = Print, -1 = Return
ENTER: 33
    Disk  2 Users   36  103 1042
    Disk  3 Users    0
    Disk  4 Users    0
ENTER: 4 -1 0 0 0 0 0 0 0
Enter number to change or  0 = Print, -1 = Return
0

(The system parameter menu is displayed again, finishing with)

33  Disk & reserved users or -1 scratch (9 I)
    Disk  2 Users   36  103 1042
    Disk  3 Users    0
    Disk  4 Users   -1
Enter number to change or  0 = Print, -1 = Return
ENTER: -1
Password : AMANAGER     ! (does not echo, must be UPPER CASE)
Enter:  1=Start Over, 2=Change parameters, 3=Change DEVTAB, 4=Quit
ENTER: 4
\endfortran\medskip

\noindent
Note that disk 1 is always available to all users.  As many as 8 user
numbers may be assigned to an \aips\ volume number, or everyone if all 8
assignments are 0.  Scratch is indicated by user number -1.  Note also
that SETPAR requires all 9 input numbers for this question, even if
most are to be 0.  You may use more than one line if you wish and
SETPAR will prompt for additional numbers.

\bigskip
\newsection{TROUBLESHOOTING}

This chapter 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.

\medskip\newsubsection{Task does not link}

The reasons include:\medskip

\item{a.}
A subroutine may not have been compiled and inserted into the proper
library.  This will probably occur for TV libraries that are not
used by NRAO.  You can fix this problem by doing a {\tt COMRPL} for the
missing routine.  See Going \aips\ Appendix A for details on using
{\tt COMRPL}.\medskip

\item{b.}
The DeAnza TV routines call proprietary DeAnza routines.  If you get
messages such as {\tt ZDEAXF} referencing undefined modules such as BMC, BPA,
DAT, etc., then you have not properly included the DeAnza libraries in
your option files.  The IVAS routines also call such libraries, called
IVAS and XANTH, which should be moved (if needed) to the LIBR: area.
\medskip

If one task does not link, this does not mean that all of \aips\ is
broken.  You can still use the \aips\ language processor and all tasks
except for the one that did not link.

\medskip\newsubsection{Many errors}

\aips\ uses a large number of logical assignments.  Double check that
your logical assignments are being made.  A few common logicals to
check for existence are {\tt AIPS\_VERSION}, and {\tt DA00} (the data
area).  The procedures that create (or attach to) these logicals
should be called from {\tt LOGIN.COM}.  Make sure you have a {\tt
LOGIN.COM} file that is similar to the NRAO one in {\tt
AIPS\_VERSION:[SYSTEM.VMS]}.

If many tasks fail to link, especially those which use the TV and/or
array processor code ({\tt Y...}, {\tt Q...} areas), then there is
something wrong with the {\tt *.OPT} files.  Check theses link edit
lists in {\tt SYSVMS} and make sure that there are no "extra" versions
in {\tt SYSLOCAL}.

\medskip\newsubsection{\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, the TD file
and the SP file.  If a task bombs out, the system error message will be
printed in a file {\tt AIPS\_VERSION:[ERRORS]taskname.ERR}.  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.

\medskip\newsubsection{\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
the files have their own initialization program ({\tt POPSGN}).  This
program should be run automatically during the installation procedure,
but under some error conditions it may not have run properly.  Run
{\tt [AIPS.new.LOAD]POPSGN} and answer the first prompt about POPS
numbers with 1 15 0 POPSDAT TST or 1 15 0 POPSDAT NEW, depending on
whether the installed version is TST or NEW.  Note that the spaces in
these strings {\it are\/} significant.  After a few minutes {\tt
POPSGN} responds with a ">".  Press return at this point.  {\tt POPSGN}
should finish up in a few more minutes.
 
\medskip\newsubsection{What the data area for disk 1 should look like}

fLogical name {\tt DA00} should point to a directory that contains a number of
system files that are needed by AIPS.  You can look at these files by
doing a {\tt DIR DA00:*.*}.  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.\medskip

% sometime make this a real table
\fortran
File type   Size   number of files

ACC00000    201    1
BAC00qnn     21    no_of_interactive_users * no_of_batch_queues
BQC00000      3    1
GRC00000    201    1
ICC00000     51    1
ICC0000n    540    no_of_tvs
IDC0000n     36    no_of_tvs
PWC00000     99    1
SPC00000      3    1
TCC00000    249    1
TDC00000     93    1
TPC0010n      3    no_of_tape_drives.
\endfortran\medskip

\noindent
\aips\ will also create other data files after being in use.

\noindent
Another file type found in {\tt AIPS\_VERSION:[MEMORY]} is the memory file.
\medskip

% ditto with this
\fortran 
File type   Size   number of files

MEC0000n    756    no_of_interac_users + no_of_batch_queues  +  1
\endfortran\medskip

All system files are created by the FORTRAN program {\tt FILAI2} during the
installation procedure.  {\tt FILAI2} reads text file {\tt [AIPS]SYSPARM.} to
determine your actual configuration.  If these files are not created
correctly, it is possible to run {\tt FILAI2} independent of the installation
procedure.  After running {\tt FILAI2} the memory files must be
re-initialized with program POPSGN.  Instructions for running {\tt POPSGN}
can be found in the previous section.

\bigskip

\newsection AIPS INSTALLATION WORK SHEET

This work sheet can be filled in to provide the data necessary to run
the installation procedure.

The number of sample answers and blanks provided for filling in your
answers are for a larger than average system.  You may be asked for a
fewer or larger number of responses depending on your values for the
system parameters.  So, do not be surprised if some of the questions
are not relevant to your system and the installation procedure does not
ask for them.

Default values are shown on the worksheet.  If this value appears as an
asterisk, this means the default depends on a previous answer (it will
appear as a number, not an asterisk, during the installation).

The commands to get the initial installation procedure from tape and to
start it up are:\medskip

\fortran
$ MOUNT /FOREIGN tape_drive_physical_name DUMMY TAPE:
$ BACKUP  TAPE:START.BCK []/NEW_VERSION
$ @ILOAD
\endfortran\medskip

\noindent The questions asked by ILOAD and the screen displays follow:

\fortran
The current directory is *
This should be the \aips\ root directory. (Usually [AIPS])
ENTER: 1=Yes it is, continue. 2=No, EXIT :


ENTER THE TAPE DENSITY: 1600, 6250

Example answer          Your answer

1600                    ___________


ENTER A 20 CHARACTER STRING IDENTIFYING YOUR LOCAL SYSTEM
ENTER:

OUR NAME                YOUR NAME (20 characters or less)

NRAO CVAX               ____________________

ARE YOU INSTALLING THIS VERSION AS 1=NEW OR 2=TST ?

Example answer          Your answer

1                       ___________
\endfortran\medskip

\noindent
If you answer ``2'' (TST) then you will be prompted for the NEW version
date:\medskip

\fortran
ENTER NEW AREA AS 15MMMYY

Example answer          Your answer

15OCT90                 ___________


ENTER AP TYPE; 1=FPS 120B, 2=FPS 5000 SERIES, 3=NONE

Example answer          Your answer

1                       ___________
\endfortran\medskip

\noindent
The following question appears if you do not answer 3 (NONE) to the
question above and you do not have a logical name for FPS.
\medskip

\fortran
DIRECTORY CONTAINING AP LIBRARIES :

Example answer          Your answer

DISK$WORK:[FPS]         ___________________________________


AIPS Configuration Menu
 
NO.  PARAMETER                  DEFAULT  VALUE        YOUR VALUE

1   OLD VERSION                           *           ___________

2   NEW VERSION                           *           ___________

3   TST VERSION                           *           ___________

4   LOCAL SYSTEM NAME                     *           ___________

5   AP; 1=FPS 120B, 2=FPS 5000, 3=NONE    *           ___________

6   DIRECTORY CONTAINING AP LIBRARIES     *           ___________

System Parameters Menu.
 
NO.  PARAMETER                  DEFAULT  VALUE        YOUR VALUE

1    NO. OF DATA DISK DRIVES               1          ___________

2    NO OF TAPE DRIVES                     1          ___________

3    NO OF INTERACTIVE AIPS                3          ___________

4    NO OF BATCH QUEUES                    0          ___________

5    NO ENTRIES IN PRIVATE CATALOGS        300        ___________

6    MAXIMUM ALLOWED USER NUMBER           1500       ___________

7    NO OF LINES PER CRT PAGE              24         ___________

8    NO OF LINES PER PRINT PAGE            61         ___________

9    PLOTTER NO OF X DOTS PER PAGE         2112       ___________

10   PLOTTER NO OF Y DOTS PER PAGE         1600       ___________

11   PLOTTER NO OF X DOTS PER CHARACTER    20         ___________

12   PLOTTER NO OF Y DOTS PER CHARACTER    25         ___________

13   PLOTTER NO OF X DOTS PER MM           7.83       ___________

14   PLOTTER NO OF Y DOTS PER MM           7.83       ___________

15   NO OF WORDS IN AP (IN 1024 S)         64         ___________

16   NO OF GRAPHICS TERMINALS AVAILABLE    1          ___________

17   NO OF TV DEVICES AVAILABLE            1          ___________

18   NO OF RESERVED AIPS TERMINALS         0          ___________
\endfortran\medskip

The following question and menu section will appear only if you have
set system parameter 16 (number of graphics devices) or system
parameter 17 (number of TVs) to a value greater than zero.

The next question will appear only if the number of TVs is greater than
zero.  Answers 4 and 6 may not work in \THISVER.\medskip

\fortran
ENTER TV TYPE; 1=IIS M70, 2=IIS M75, 3=DEANZA, 4=COMTAL,
               5=IVAS, 6=ARGS

Example answer          Your answer

1                       ___________

Graphics Parameters Screen.

NO.  PARAMETER                    DEFAULT  VALUE        YOUR VALUE

1   NO OF USERS ALLOWED ACCESS TO TKS          *        ___________

2   NO OF X DOTS PER MM ON GRAPHICS            5.00     ___________

3   NO OF USERS ALLOWED ACCESS TO TVS          3        ___________

4   TV; 1=IIS M70, 2=M75, 3=DEANZA 4=COMTAL    *        ___________
    5=IVAS 6=ARGS

5   NUMBER OF IMAGE PLANES IN TV DEVICE 1      4        ___________

6   NUMBER OF GRAPHICS PLANES IN TV DEVICE 1   4        ___________
\endfortran\medskip

\noindent
The following question is asked n times where n is the value of
system parameter 1 (number of disk drives).\medskip

\fortran
Enter AIPS disk n Data area

Example answers         Your answers

DUA0:[AIPS.DATA]        ___________________________

DISK$AIPS:[AIPS.DATA]   ___________________________

DUA2:[AIPS.DATA1]       ___________________________

DUA2:[AIPS.DATA2]       ___________________________
\endfortran\medskip

\noindent
The following question is asked n times where n is the value of
system parameter 2 (number of tape drives).\medskip

\fortran
Enter AIPS tape drive n physical name

Example answers         Your answers

MTA0:                   ____________

MTA2:                   ____________

MTA3:                   ____________
\endfortran\medskip

\noindent
The following pair of questions is asked n times where n is the value
of system parameter 18 (number of reserved AIPS terminals).\medskip

\fortran
ENTER TERMINAL RESERVED FOR AIPSn
ENTER MESSAGE TERMINAL (CR IF NONE) FOR AIPSn

Example answers                 Your Answers

TTA0:                           __________ (Reserved Terminal)

TTB0:                           __________ (Message Terminal)


TTA1:                           __________ (Reserved Terminal)

TXB3:                           __________ (Message Terminal)
\endfortran\medskip

\noindent
The following question is asked if system parameter 4 (number of batch
queues) is greater than zero.\medskip

\fortran
ENTER BATCH OUTPUT TERMINAL OR FILE

Example answer          Your answer

TTB0:                   ___________
\endfortran\medskip

\noindent
The following question is asked n times where n is the value of
system parameter 16 (number of graphics terminals).\medskip

\fortran
ENTER PHYSICAL NAME FOR 4012 TYPE GRAPHICS DISPLAY n

Example answer          Your answer

TTA4:                   ___________

TXB0:                   ___________
\endfortran\medskip

\noindent
The following question is asked n times where n is the value of
system parameter 17 (number of TV devices).\medskip

\fortran
ENTER PHYSICAL NAME FOR TV DEVICE n

Example answer          Your answer

IIA0:                   ___________

PLOT QUEUE FOR PLOTTER (CR IF NONE)

Example answer          Your answer

SYS$PRINT               ___________

QUEUE NAME FOR LASER PRINTER (CR IF NONE)

Example answer          Your answer

QMS                     ___________
\endfortran\medskip

\noindent
Next, the answers you gave above are displayed in a menu to give you
a chance to review your entries and make corrections.  The actual
items in the menu may be different than that shown below, depending
on your configuration.\medskip

\fortran
Device Name Menu
NO.  PARAMETER                                           YOUR VALUE

1  AIPS disk 1 Data area (Device and Directory)     ___________________

2  AIPS disk 2 Data area (Device and Directory)     ___________________

3  AIPS disk 3 Data area (Device and Directory)     ___________________

4  AIPS tape drive 1 physical name                  ___________________

5  AIPS tape drive 2 physical name                  ___________________

6  Terminal Reserved for AIPS1                      ___________________

7  Message Terminal (CR if none) for AIPS1          ___________________

8  Terminal Reserved for AIPS2                      ___________________

9  Message Terminal (CR if none) for AIPS2          ___________________

10 physical name for 4012 type graphics display 1   ___________________

11 Physical name for TV device 1                    ___________________

12 Plot queue for plotter (CR if none)              ___________________

13 Queue name for laser printer (CR if none)        ___________________

\endfortran\medskip

\noindent
The IBUILD procedure is started with the following command:\medskip

\example{\$ @IBUILD}\medskip

\noindent
The procedure IBUILD asks the following question:\medskip

\fortran
1=Rebuild all of AIPS.  2=Redo necessary tasks only.

Example answer          Your answer

2                       ___________
\endfortran\medskip

\bigskip\newsection{Updating your data.}

\medskip\newsubsection{Introduction}

If you have existing data that was created with an older AIPS, the
formats of some of the files may have changed.  Thus, you may have to
run file format updating programs before AIPS can read your old data.
With the 15APR86 release, we have made some changes that have
simplified the updating process.

\medskip\newsubsection{Updating from before {\tt 15OCT89} to the current 
			system}

There is no format translation program available since the changes were
deemed too complex and pervasive.  User data may be written to FITS
tape or disk by the old release and read by the new.  That is the ONLY
way.  There have been no data format changes between {\tt 15OCT89} and
\THISVER. 

% remove comment delimiters when there is a post-{\tt 15OCT89} change in the
% file formats.
% \medskip\newsubsection{}Updating from {\tt 15OCT89} to the current system.
%
% 15APR86 and later systems have replaced the old disk volume field of
% data file names to an "AIPS version letter".  For example, the 15OCT85
% name for map file MA201501.221 has been changed in the 15OCT90 release
% to MAC01501.221.  This letter will increment as we make future changes
% in AIPS file formats.  A file update program (UPDAT) will convert files
% from an old format to the current format and rename it to the proper
% name.  UPDAT knows which file names have which format, so it is
% impossible to corrupt data by running UPDAT twice for the same data.
% UPDAT has no value at the 15OCT90 release.  The program UPDAT can be
% run with the following command:
% .s1
% .lit
% $ RUN AIPS_VERSION:[LOAD]UPDAT
% .end lit
% .s1
% The program responds with the following prompt.
% .s1
% .lit
% ENTER : 1=RANGE OF USERS, 2=USER NUMS IN TEXT FILE :
% .end lit
% .s1
% You can choose the user numbers you want to run UPDAT for by two
% methods.  Give it a range of users, or set up a file
% AIPS__VERSION:[HELP]USERLIST.HLP containing a list of user numbers, one
% to a line.  If you choose "1" (a range of user numbers) you will get
% the following prompt:
% .s1
% .lit
% ENTER USER NUMBER RANGE. (DEFAULT=    1 1500)  :
% .end lit
% .s1
% Other default values may appear for your system. To select the default
% just press carriage return.  If you want to run it for a different
% range enter two numbers on the same line separated by at least one
% blank.  Entry is free format.  You will get two more prompts:
% .s1
% .lit
% ENTER AIPS DISK NUM RANGE (DEFAULT=  1  1)  :
%
% ENTER OLDEST VERSION DATE AS 15MMMYY  (DEFAULT= 15OCT89 ) :
% .end lit
% .s1
%
% The program will then display a summary of the data you
% have entered and give you a chance to re-enter.
% .s1
% .lit
% USER NUMBER RANGE :     1  100
% DISK RANGE        :     1    1
% OLDEST DATA       : 15OCT89
% ENTER : 1=I MADE A MISTAKE, REENTER, 2=CONTINUE :
% .end lit
% .s1
% At this point UPDAT will go through all user numbers that you specified
% and update their data.  UPDAT may be silent for a long time as it
% searches though the range of user numbers without finding any data.
%
%

\end
