%-----------------------------------------------------------------------
%;  Copyright (C) 2012, 2014-2017, 2019-2020, 2020, 2022-2025
%;  Associated Universities, Inc. Washington DC, USA.
%;
%;  This program is free software; you can redistribute it and/or
%;  modify it under the terms of the GNU General Public License as
%;  published by the Free Software Foundation; either version 2 of
%;  the License, or (at your option) any later version.
%;
%;  This program is distributed in the hope that it will be useful,
%;  but WITHOUT ANY WARRANTY; without even the implied warranty of
%;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
%;  GNU General Public License for more details.
%;
%;  You should have received a copy of the GNU General Public
%;  License along with this program; if not, write to the Free
%;  Software Foundation, Inc., 675 Massachusetts Ave, Cambridge,
%;  MA 02139, USA.
%;
%;  Correspondence concerning AIPS should be addressed as follows:
%;          Internet email: aipsmail@nrao.edu.
%;          Postal address: AIPS Project Office
%;                          National Radio Astronomy Observatory
%;                          520 Edgemont Road
%;                          Charlottesville, VA 22903-2475 USA
%-----------------------------------------------------------------------
%%%
%%%     Edit PS file to remove dollar Id from things labeled herbert
%%%
\documentclass[twoside]{article}
% Highlight new text
\usepackage{color}
\usepackage{alltt}
%\usepackage{graphicx,xspace,wrapfig}
\usepackage{graphicx,xspace}
\usepackage{pstricks}  % added by Greisen
\definecolor{hicol}{rgb}{0.6,0.05,0.05}
\definecolor{excol}{rgb}{0.05,0.4,0.03}
\definecolor{nxcol}{rgb}{0.05,0.3,0.4}
\definecolor{mecol}{rgb}{0.1,0.1,0.6}
\newcommand{\Hi}[1]{\textcolor{hicol}{#1}}
\newcommand{\Ex}[1]{\textcolor{excol}{#1}}
\newcommand{\Nx}[1]{\textcolor{nxcol}{#1}}
\newcommand{\Me}[1]{\textcolor{mecol}{#1}}
\newcommand{\No}[1]{\textcolor{black}{#1}}
\newcommand{\hicol}{\color{hicol}}
\newcommand{\excol}{\color{excol}}
\newcommand{\nxcol}{\color{nxcol}}
\newcommand{\mecol}{\color{mecol}}
\newcommand{\hblack}{\color{black}}
%\newcommand{\Hi}[1]{\textcolor{black}{#1}}
%\newcommand{\Me}[1]{\textcolor{black}{#1}}
%\newcommand{\Ex}[1]{\textcolor{black}{#1}}
%\newcommand{\hicol}{\color{black}}
%\newcommand{\mecol}{\color{black}}
%\newcommand{\excol}{\color{black}}
%
\newcommand{\AIPS}{{$\cal AIPS\/$}}
\newcommand{\eg}{{\it e.g.},}
\newcommand{\ie}{{\it i.e.},}
\newcommand{\nstokes}{$n_{stokes}$}
\newcommand{\npol}{$n_{feed}$}
\newcommand{\nif}{$n_{IF}$}
\newcommand{\nchan}{$n_{chan}$}
\newcommand{\bpchan}{$n_{BPchn}$}
\newcommand{\ntone}{$n_{tone}$}
\newcommand{\norb}{$n_{orb}$}
\newcommand{\npoly}{$n_{poly}$}
\newcommand{\npcal}{$n_{pcal}$}
\newcommand{\ntab}{$n_{tab}$}
\newcommand{\nbach}{$n_{bach}$}
\newcommand{\etal}{{\it et al.}}
\newcommand{\tablerowgapbefore}{-1ex}
\newcommand{\tablerowgapafter}{1ex}
\newcommand{\keyw}[1]{\hbox{{\tt #1}}}
\newcommand{\sub}[1]{_\mathrm{#1}}
\newcommand{\degr}{^{\circ}}
\newcommand{\vv}{v}
%\newcommand{\vv}{\varv}
\newcommand{\eq}{\hbox{\hspace{0.6em}=\hspace{0.6em}}}
\newcommand{\newfig}[2]{\includegraphics[width=#1]{data.fig#2}}
\newcommand{\putfig}[1]{\includegraphics{data.fig#1.eps}}
\newcommand{\whatmem}{\AIPS\ Memo \memnum}
\newcommand{\boxit}[3]{\vbox{\hrule height#1\hbox{\vrule width#1\kern#2%
\vbox{\kern#2{#3}\kern#2}\kern#2\vrule width#1}\hrule height#1}}
%
\newcommand{\memnum}{117 \Hi{revised}}
\newcommand{\memtit}{\AIPS\ FITS File Format}
\title{
   \vskip -35pt
   \fbox{{\large\whatmem}} \\
   \vskip 28pt
%   \vskip 10pt
%   \fbox{{\Huge \Me{D R A F T}}}
%   \vskip 10pt
   \memtit \\}
\author{Eric W. Greisen}
%
\parskip 4mm
\linewidth 6.5in                     % was 6.5
\textwidth 6.5in                     % text width excluding margin 6.5
\textheight 9.0 in                  % was 8.81
\marginparsep 0in
\oddsidemargin .25in                 % EWG from -.25
\evensidemargin -.25in
\topmargin -0.4in
%\topmargin 0.2in
\headsep 0.25in
\headheight 0.25in
\parindent 0in
\newcommand{\normalstyle}{\baselineskip 4mm \parskip 2mm \normalsize}
\newcommand{\tablestyle}{\baselineskip 2mm \parskip 1mm \small }
%
%
\begin{document}

\pagestyle{myheadings}
\thispagestyle{empty}

\newcommand{\Rheading}{\whatmem \hfill \memtit \hfill Page~~}
\newcommand{\Lheading}{~~Page \hfill \memtit \hfill \whatmem}
\markboth{\Lheading}{\Rheading}
%
%

\vskip -.5cm
\pretolerance 10000
\listparindent 0cm
\labelsep 0cm
%
%

\vskip -30pt
\maketitle
\tableofcontents
\vfill\eject
\normalstyle
\begin{abstract}
  \AIPS\ has been writing images and $uv$ data in FITS-format files
  for a very long time.  While these files have been used widely in
  the community, there is a perception that a detailed document is
  still required.  This memo is an attempt to meet that perception.
  \AIPS\ FITS files for $uv$ are conventions layered upon the standard
  FITS format to assist in the interchange of data recorded by
  interferometric telescopes, particularly by radio telescopes such as
  the EVLA and VLBA\@.
\end{abstract}

\renewcommand{\floatpagefraction}{0.75}
\typeout{bottomnumber = \arabic{bottomnumber} \bottomfraction}
\typeout{topnumber = \arabic{topnumber} \topfraction}
\typeout{totalnumber = \arabic{totalnumber} \textfraction\ \floatpagefraction}

\section{Introduction}

Basic FITS was initially proposed by Wells, Greisen, and
Harten 1981~\cite{WGH81} to enable transmission of image data between
observatories.  Greisen and Harten realized immediately that a similar
mechanism was needed to transmit interferometer visibility data
between, for example, Westerbork and the VLA\@.  This led to the paper
on ``random groups'' format (Greisen \&\ Harten 1981~\cite{GH81}), a
somewhat kludgy extension to the initial format.  The ``kludge'' was
made necessary by the ``{\it once FITS, always FITS\/}'' philosophy
that was adopted at that time (and remains true to this day).  In
these early days, it was realized that data other than the basic
images and visibilities would also have to be transmitted.  Examples
are Clean Component tables and Antenna tables.  Experiments along
these lines led to the generalized extensions paper (Grosb\o l, Harten,
Greisen, Wells 1988~\cite{GHGW88}) which described how the now
IAU-standard FITS formats could be extended.  Responding to needs
within the \AIPS\ software, Cotton, Tody, and Pence 1995~\cite{CTP95}
eventually published the binary tables extension paper although the
binary tables had been in use in \AIPS\ for many years by that time.

Papers initially proposing format standards have to be written with
sections explaining and defending the decisions made, worked examples,
and other text inappropriate for a true standards document.  This led
NASA's Office of Standards Technology to form a working group to
develop a carefully worded document to define the standard.  That
working group and its successors have developed a ``Definition''
document which is now at version 3.0 (Pence et al.
2010~\cite{PCPSS10}).  All documents, and everything else you might
wish to know about FITS are available at the web site maintained by
Goddard Space Flight Center ({\tt fits.gsfc.nasa.gov}).

At the recommendation of Commission 5, chaired by Bernard Hauk and
Gart Westerhout, the IAU adopted the two initial papers as IAU
standards (IAU 1982~\cite{IAU82}).  Some years later a Working Group on
FITS was created (IAU 1988~\cite{IAU88}) which is to the present time
the ultimate authority on FITS matters.

\AIPS\ was ``born'' July 1, 1979, three months after the FITS format
was invented.  It is then natural that the internal data structures of
\AIPS\ are extensions of the initial FITS data structures, while later
FITS data structures were driven by the needs of \AIPS\ and other
software packages of the time.  \AIPS\ $uv$ data have been backed up
to tape (now disk) in random-groups format by the task {\tt FITTP}\@.
The associated table data are now added to the random-groups file by
{\tt FITTP} in binary-tables format.  The random groups data structure
has apparently felt unnatural to most of the FITS community.
Therefore, it has been ``deprecated,'' meaning that no new
applications for it should be developed although existing
applications, especially interferometry, are to be supported.  For
this reason, among others, the FITS IDI Convention (Greisen
2011~\cite{G11}), developed during the 1990s, made the choice to write
$uv$ data as a binary table, rather than random groups.  In fact, the
actual binary data of the random groups and binary table formats may
be (and usually are) identical.  What differs is the text headers
describing the data.  FITS-IDI was created to transmit raw data from
correlators to data reduction software systems, so \AIPS\ never
developed the ability to write conforming FITS-IDI format.  Instead,
{\tt FITAB} was developed to write the visibility data as a binary
table which follows all of the associated binary tables in the FITS
file.  That order was chosen since visibility data are useless without
the essential (and small) tables giving antenna locations, frequency
information, etc.  Random groups requires the visibility data to come
first; so a premature end-of-file would cause the small but essential
tables to be lost rather than some useful, but not essential,
visibility data.

In the interests of keeping this document to a reasonable length, the
reference chapters do not make any specific mention of any elements
that can be inferred to be present from the requirements that \AIPS\
FITS files be valid FITS files, as defined by version 3.0 of the
standard, unless they have some additional meaning in the context of
an \AIPS\ file (\eg\ NAXIS values in tables).  Although they are
omitted from this document, these elements should be taken to be
mandatory in \AIPS\ FITS files.  Appendix~\ref{Appen:FITS} is included
to provide a primer on FITS for those not wishing to read the original
papers and definition documents.

Character strings that should appear in \AIPS\ FITS files exactly as
they are written will be presented in a {\tt typewriter-like }font.
This font will also be used for the names of computer programs.
Character-string values for FITS header keywords will be marked with
single quotation marks, as in {\tt `a character string'}; the
quotation marks do not form a part of the string value but are
required delimiters.  Some keywords used in FITS files consist of a
fixed portion followed by an integer suffix that may be different in
different context.  These will be indicated like {\tt NAXIS}{\it n},
where the {\it n} denotes the integer suffix.  Parameters that may
have different values under different circumstances are denoted in
{\it italic font}.

Each keyword in a FITS header is associated with a value that has a
specific type.  In this document, these types are denoted by the
letters shown in Table~1.

\begin{center}
\underline{\bf{TABLE 1: Type codes for keyword values}}\\
\begin{tabular}{cl}
\noalign{\vspace{2pt}} \label{ta:keycodes}
\underline{{\bf Code\vphantom{y}}} & \underline{\bf{Type}} \\
\noalign{\vspace{2pt}}
 I & integer number \\
 L & logical \\
 A & character string (usually $\leq 8$ characters\\
 E & floating-point number (usually double precision) \\
 D & date string
\end{tabular}
\end{center}

A date is a character string in one of two specific formats.  The
first format is \hbox{\tt{'{\it DD\/}/{\it MM\/}/{\it YY\/}'}}, where
{\it DD} is a two-digit day number, {\it MM} is a two-digit month
number, and {\it YY} is a two-digit year number, suitable for use
during the twentieth century.  The preferred format is
\hbox{\tt{'{\it YYYY\/}-{\it MM\/}-{\it DD\/}'}}, where {\it YYYY} is
a four-digit year number suitable for use in any recent century.
Although the FITS standard allows times to be appended to the second
form of a date string, times will not be appended to date strings in
\AIPS\ FITS files.

Each column in a FITS binary table has a type which denotes the
kind of values that may appear in that column.  Each column holds
a one-dimensional array of some base type with a fixed number of
elements.  The base type of an array is denoted by a single-character
code in this document.  These codes correspond to those used for the
{\tt TFORM}{\it n} values in the table header and are listed in
Table~2.

\begin{center}
\underline{\bf{TABLE 2: Basic types for fields in binary tables}}\\
\begin{tabular}{cl}
\noalign{\vspace{2pt}} \label{ta:colcodes}
\underline{{\bf Code\vphantom{y}}} & \underline{\bf{Type}} \\
\noalign{\vspace{2pt}}
 L & logical \\
 I & 16-bit integer \\
 J & 32-bit integer \\
 A & character \\
 E & 32-bit floating-point number \\
 D & 64-bit floating-point number
\end{tabular}
\end{center}

In the simplest case, the number of elements in the array is given as
a repeat count preceding the code for the basic type, \eg\ {\tt 4J}
for an array of four 32-bit integers.  Some fields are, however,
considered to be multi-dimensional arrays in \AIPS\ FITS tables despite
being declared as one-dimensional arrays in the FITS headers.  In
these cases, the array dimensions will appear in parentheses following
the basic type, \eg\ {\tt E(4, 32)} for a two-dimensional array with 4
columns and 32 rows.  In the table header, the repeat count shall be
the product of all the dimensions and the data in the array shall be
laid out so that the index of the first dimension  varies fastest,
followed by the second dimension, and so on.  \AIPS\ FITS does use the
multi-dimensional array convention of the FITS standard and programs
that read \AIPS\ FITS files can rely on the presence of {\tt TDIM}{\it
  n} keywords.  The order of columns in a table should not matter.
\vfill\eject

\section{Image data}

The FITS format for image data is relatively simple.  The file begins
with a header containing 36 80-character fields per logical record.
The image data are an array of binary values immediately following the
header, fully packed in 2880 bytes per logical record.  The image is
viewed as a Fortran array $A(n_1,n_2,n_3)$ where the indices $n_i$ run
from 1 to $N_i$ where $N_i$ is a positive integer.  Index $n_1$ varies
fastest in the sequence of values, $n_2$ second fastest, and so on.
The details were spelled out by Wells, Greisen, and Harten
1981~\cite{WGH81} and clarified in the FITS definition (Pence, {\it et
  al.} 2010~\cite{PCPSS10}).

An example of the primary HDU of an image FITS file from \AIPS\ is
shown in Appendix~\ref{Appe:HDUimage} on page~\pageref{Appe:HDUimage}.
Tables accompanying images are described in Section~\ref{s:image} on
page~\pageref{s:image}.

\section{Visibility data}

\subsection{Random groups form}
\label{RandomGroup}

A group in the random groups format is a list of parameter values plus
an array of data.  The array is of any number of dimensions and the
values are taken as falling on a regular grid in either true or
conventional coordinate systems.  The parameters represent, in
general, coordinates that describe the array.  A simple example would
be a small, 2-dimensional sky image accompanied by parameters giving
the central right ascension and declination plus ones giving the
observing frequency and time.  A random groups FITS file then consists
of some number of such groups, each with the same number and type of
parameters and the same number and type of axes including the same
number of values on each axis.

The ``kludge'' added to maintain once FITS, always FITS for random
groups was to add 1 to the dimension of the array and to define that
the number of points on the first axis is zero.  This tells readers of
FITS images that there is no regular image.  Random groups readers
then use axes 2-{\tt NAXIS} as the actual axes of the image.

An example of the primary HDU of a random groups ``UVFITS'' file is
shown in Section~\ref{Appe:HDUrangrp} on page~\pageref{Appe:HDUrangrp}.

\subsubsection{Regular axes}
\label{RGregax}

The regular axes of the data array in \AIPS\ $uv$ data sets are listed
in Table~3.

\begin{center}
\underline{\bf{TABLE 3: Regular axes for the data array}}\\
\begin{tabular}{lcl}
\noalign{\vspace{2pt}} \label{ta:UVaxes}
\underline{{\bf Name\vphantom{y}}} & \underline{\bf{Mandatory ?}} &
    \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\tt COMPLEX} & yes & Real, imaginary, weight \\
{\tt STOKES}  & yes & Stokes parameter \\
{\tt FREQ}    & yes & Frequency (spectral channel) \\
{\tt IF  }    & no  & Spectral window number \\
{\tt RA}      & yes & Right ascension of the phase center \\
{\tt DEC}     & yes & Declination of the phase center
\end{tabular}
\end{center}

The {\tt COMPLEX} axis shall be the first (\ie\ the fastest changing)
axis in the data matrix.  It shall have a {\tt NAXIS2} value of 2 or 3
and {\tt CDELT2}, {\tt CRPIX2}, and {\tt CRVAL2} shall all have the
value 1.0.  The first entry on this axis contains the real part of a
complex visibility and the second contains the corresponding imaginary
component.  If a third element is present, then this shall contain the
weight for this visibility measurement.  Weights $\leq\ 0$ indicate
that the visibility measurement is flagged and that the values may not
be in any way meaningful.

The {\tt STOKES} axis enumerates polarization combinations.  The
corresponding {\tt NAXIS}{\it m} value, denoted \nstokes, shall be no
less than 1 and no greater than 4.  The {\tt CRPIX}{\it m} value shall
be 1.0.  Stokes is a conventional axis: values of 1 through 4 are
assigned to Stokes I, Q, U, and V, values of -1 through -4 are
assigned to RR, LL, RL, and LR polarization products, respectively.
Values -5 through -8 are assigned to \Hi{VV, HH, VH,
  HV}\footnote{\Hi{previously called XX, YY, XY, and YX}} polarization
products, respectively.

The {\tt FREQ} axis enumerates frequency channels.  The corresponding
{\tt CRVAL}{\it m} shall have the reference frequency for the data
set.  Conventionally, it is the frequency for the first IF but that is
not required.  Both {\tt CRVAL}{\it m} and {\tt CDELT}{\it m} are
given in Hz.  The number of spectral channel will be denoted by \nchan.

The {\tt IF} axis enumerates spectral windows (frequency bands).  The
corresponding {\tt CRVAL}{\it m}, {\tt CRPIX}{\it m}, and {\tt
  CDELT}{\it m} keywords shall all have the value 1.0.  The {\tt IF}
axis may be omitted if and only if there is only one band and there is
only one frequency setup.  If this axis is present, the FITS file must
include an {\tt AIPS FQ} binary table (Section~\ref{s:FQ} on
page~\pageref{s:FQ}).  The number of pixels on the {\tt IF} axis will
be denoted by \nif.

The {\tt RA} and {\tt DEC} axes shall both have the corresponding
{\tt nAXIS}{\it m} values of 1.  If only one source is present in the
file and no {\tt SOURCE} tables are present, then the {\tt CRVAL}{\it
  m} keyword for the {\tt RA} axis shall give the right ascension of
the phase center in degrees and the {\tt CRVAL}{\it m} keyword for the
{\tt DEC} axis shall give the declination of the phase center in
degrees.  These coordinates shall be those of the standard equinox and
that standard equinox shall be specified in the header.  If more than
one source is present in the file, then the {\tt CRVAL}{\it m}
keywords for both the {\tt RA} and the {\tt DEC} axes shall have the
value 0.0 and no equinox need be specified.

\subsubsection{Random parameters}
\label{RGranpar}

The name of each random parameter is given as the value of the
corresponding {\tt PTYPE}{\it n} keyword, where {\it n} is the
parameter number from 1 through {\tt PCOUNT}\@.  In tables, the
parameter name is specified with {\tt TTYPE}{\it n} keyword, where
{\it n} is the column number in which the value of the random
parameter appears.  The recognized values are listed in Table~4.

\begin{center}
\underline{\bf{TABLE 4: Random parameter names}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:randparms}
\underline{{\bf Name\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\tt UU--}      & {\tt 1E} & seconds & $u$ baseline coordinate \\
{\tt VV--}      & {\tt 1E} & seconds & $v$ baseline coordinate \\
{\tt WW--}      & {\tt 1E} & seconds & $w$ baseline coordinate \\
{\tt DATE}      & {\tt 2E} & days    & Julian date \\
{\tt BASELINE}  & {\tt 1E} &         & Baseline number \\
{\tt SOURCE}    & {\tt 1E} &         & Source ID number \\
{\tt INTTIM}    & {\tt 1E} & seconds & Integration time \\
{\tt FREQSEL}   & {\tt 1E} &         & Frequency setup ID number \\
{\tt CORR-ID}   & {\tt 1E} &         & VLBA specific \\
{\tt GATEID}    & {\tt 1E} &         & VLBA specific \\
{\tt FILTER}    & {\tt 1E} &         & VLBA specific \\
{\tt \Nx{SUBARRAY}} & {\tt \Nx{\tt 1E}} & & \Nx{Subarray number} \\
{\tt \Nx{ANTENNA1}} & {\tt \Nx{\tt 1E}} & & \Nx{Lower antenna number} \\
{\tt \Nx{ANTENNA2}} & {\tt \Nx{\tt 1E}} & & \Nx{Higher antenna number}
\end{tabular}
\end{center}

{\bf Baseline coordinates.}  Three of the random parameters shall be
used to specify the baseline coordinates for the visibility
measurements in light seconds.  The three coordinates are designated
by names that begin with {\tt UU}, {\tt VV}, and {\tt WW}, which
correspond to the $u, v,$ and $w$ coordinates at the coordinate
equinox.  The first two letters may be followed by an optional suffix
that indicates the coordinate system used for the baseline
coordinates.  If the suffix is omitted, then the {\tt ---SIN}
convention is assumed.  The suffixes must match on all three baseline
coordinate parameters.

If the suffix is {\tt ---SIN}, then the $w$ axis lies along the line
of sight to the source and the $u$ and $v$ axes lie in a plane
perpendicular to the line of sight with $v$ increasing to the north
and $u$ increasing to the east.  If the suffix is {\tt ---NCP}, then
the $w$ axis points to the north pole, the $v$ axis is parallel to the
projection of the line of sight into the equator with the $v$
coordinate increasing away from the source and the $u$ coordinate
completes the right-handed Cartesian triad $(u,v,w)$.  Note that
the {\tt ---NCP} system is normally used only with East-West
interferometers in which the value of $w$ is zero.

{\tt FITTP} uses the {\tt PSCAL}{\tt n} parameters for the baseline
coordinates to encode the translation between the required units
(seconds) and \AIPS\ internal units (wavelengths).  Similarly, {\tt
  FITAB} uses the {\tt TSCAL}{\tt n} parameters to encode this
translation.

{\bf DATE\@.}  Two random parameters, both named {\tt DATE}, shall be
used to record the time at which the visibility measurements in a
record were taken.  Following conventions in the random groups format,
the value of the (double-precision) sum of the parameters shall be the
Julian date of the measurement.  The time so recorded shall be the
central time in the integration period and shall also be the time
at which the $(u,v,w)$ coordinates are valid.

{\tt FITTP} uses the {\tt PZERO}{\it n} parameter of the first of the
two {\tt DATE} parameters to encode the Julian date at midnight of the
first day of the observation.  As with the $u$, $v$, $w$, this means
that the actual parameter values, before scaling and offset, are taken
directly from the \AIPS\ internal values.

{\bf Integration time.} The length of the period over which the data
were integrated may optionally be supplied in seconds as the value of
the {\tt INTTIM} parameter.

{\bf Baseline specification.} The baseline (telescope pair) from which
the data were obtained shall be formed by multiplying the number of
the first antenna by 256 and then adding the number of the second
antenna.  The subarray number is encoded by adding $0.01 \times$
(subarray number $- 1$).  \Nx{Alternatively, these three parameters
may be given by three separate random parameters.  This new form
will be written by \AIPS\ to FITS files only if the maximum antenna
number is greater than 255.  Only one of the two forms of baseline
identification may be used.}

{\bf Source identification number.} If the file contains observations
of more than one source, then the identification number of the source
being observed shall be given as the value of the {\tt SOURCE}
parameter.  If this parameter is present, the FITS file must include
an {\tt AIPS SU} (Section~\ref{s:SU} on page~\pageref{s:SU}) binary
table.

{\bf Frequency setup number.} If the file contains observations made
using more than one frequency setup, then the identification of the
frequency setup that was used shall be recorded as the value of the
{\tt FREQSEL} parameter.  If this parameter is present, the FITS file
must include an {\tt AIPS FQ} (Section~\ref{s:FQ} on
page~\pageref{s:FQ}) binary table.

The frequency setup number has been a source of much confusion.  If,
at some time, data are taken with a given set of spectral windows and
at a different time, data are taken at a different set of spectral
windows, then these two data types are differentiated by assigning to
them different frequency setup numbers.  The frequency setup to which
a particular group applies is then indicated with the {\tt FREQSEL}
random parameter.  Note that two frequency setups may be included in
the same FITS file only if they have the same number of spectral
windows (those frequencies observed at the same time) and the same
number of polarizations and spectral channels.  If they do not have an
identical array structure, then they must appear in separate FITS
files.  Note that the frequencies of the IFs and the frequency
separations of each frequency setup may differ, but there must be the
same number of IFs and same number of spectral channels.  The
polarization values for all frequency setups within a FITS file must
be identical.

\subsection{UV-tables form}
\label{TAranpar}

In the UV-tables form, the visibility data are written as a FITS
binary table, normally placed after the other table extensions.  The
primary HDU has an \AIPS\ conventional form meant primarily to be so
odd as to act as a reliable identifier.  The primary HDU asserts that
the primary data has two axes, the first of which has 777777701 values
while the second has zero values.  This is sufficient to tell all FITS
readers that the primary data set is not a random groups data set and
otherwise contains no data.  An example primary HDU is shown in
Section~\ref{Appe:HDUtable} on page~\pageref{Appe:HDUtable}

The actual table gives a number of standard and non-standard FITS
keywords in its header to convey information often conveyed in the
primary HDU\@.  Table~5 (page~\pageref{ta:UVkeys}) lists the more
interesting of these.  In this, and all following, keyword tables, the
keywords above the horizontal line are required and those below the
line are optional. {\tt HISTORY} and {\tt COMMENT} cards are allowed.
These are used to give the order in which the $uv$ are sorted
(actually columns on which the rows are sorted), the \AIPS\ file name,
and the ``piece'' number of the table along with the total number of
pieces and the visibility numbers contained within the current piece.
{\tt FITAB} offers the option of writing multiple FITS files each
containing a piece of the data.  Each piece contains the full contents
of any table not having a time axis and the appropriate portion of
each table having a time axis.  This allows for smaller FITS files,
defending against media errors and assisting in network file
transmission.

The table form used for $uv$ data assigns a column to each of the
random parameters and a column to the data matrix.  Each row of the
table is then a separate ``group'' in the notation of the random
groups format.  Tables do allow different digital formats in different
columns (see \eg\ Table~2, page~\pageref{ta:colcodes}), but \AIPS\
only uses this to transmit ``compressed'' visibility data in which the
visibilities are scaled 16-bit integers while the scale and data
weight for each row are random parameter columns.  Table~6 shows the
mandatory and optional columns of the {\tt AIPS UV} table, while
Table~7 shows the additional and changed columns for compressed data.

An example {\tt AIPS UV} table header is shown in
Appendix~\ref{Appe:UVtable} on page~\pageref{Appe:UVtable}.

\begin{center}
\underline{\bf{TABLE 5: Keywords for {\tt AIPS UV} headers}}\\
\begin{tabular}{lcl}
\noalign{\vspace{2pt}} \label{ta:UVkeys}
\underline{{\bf Keyword}} & \underline{\bf{Value type}} &
    \underline{\bf{Value\vphantom{y}}} \\
\noalign{\vspace{2pt}}
{\tt EXTNAME}   & A & {\tt 'AIPS UV'}  \\
\hline
{\tt OBJECT}    & A & Source name \\
{\tt TELESCOP}  & A & Telescope name \\
{\tt INSTRUME}  & A & Instrument name (receiver or ?) \\
{\tt DATE-OBS}  & A & Observation date \\
{\tt DATE-MAP}  & A & File processing date \\
{\tt BSCALE}    & E & 1.0 \\
{\tt BZERO}     & E & 0.0 \\
{\tt BUNIT}     & A & units, usually {\tt 'UNCALIB'} or {\tt 'JY'} \\
{\tt EQUINOX}   & E & Equinox of source coordinates and $uvw$ \\
{\tt ALTRPIX}   & E & Reference pixel for velocity
\end{tabular}
\end{center}

\begin{center}
\underline{\bf{TABLE 6: Mandatory and optional columns of the {\tt
      AIPS UV} table}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:UVcols}
\underline{{\bf Name\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\tt UU--}      & {\tt 1E} & seconds & $u$ baseline coordinate \\
{\tt VV--}      & {\tt 1E} & seconds & $v$ baseline coordinate \\
{\tt WW--}      & {\tt 1E} & seconds & $w$ baseline coordinate \\
{\tt DATE}      & {\tt 1E} & days    & Julian date \\
{\tt BASELINE}  & {\tt 1E} &         & Baseline number \\
{\tt SOURCE}    & {\tt 1E} &         & Source ID number \\
{\tt FREQSEL}   & {\tt 1E} &         & Frequency setup ID number \\
{\tt VISIBILITIES} & {\tt $n$E} & Jy & Fringe visibility data \\
\hline
{\tt \Nx{SUBARRAY}} & {\tt \Nx{\tt 1E}} & & \Nx{Subarray number} \\
{\tt \Nx{ANTENNA1}} & {\tt \Nx{\tt 1E}} & & \Nx{Lower antenna number} \\
{\tt \Nx{ANTENNA2}} & {\tt \Nx{\tt 1E}} & & \Nx{Higher antenna number} \\
{\tt INTTIM}    & {\tt 1E} & seconds & Integration time \\
{\tt CORR-ID}   & {\tt 1E} &         & VLBA specific \\
{\tt GATEID}    & {\tt 1E} &         & VLBA specific \\
{\tt FILTER}    & {\tt 1E} &         & VLBA specific
\end{tabular}
\end{center}

Columns generally have the same meaning as described for the random
parameters (Section~\ref{RGranpar} on page~\pageref{RGranpar}).
Differences are indicated below.

{\bf DATE\@.}  One column named {\tt DATE} shall be used to record the
time at which the visibility measurements in a record were taken as a
Julian date.  The time so recorded shall be the central time in the
integration period and shall also be the time at which the $(u,v,w)$
coordinates are valid.  {\tt FITAB} uses the {\tt TZERO}{\it n}
keyword to encode the Julian date at midnight of the first day of the
observation.  As with the $u$, $v$, $w$, this means that the actual
parameter values, before scaling and offset, are taken directly from
the \AIPS\ internal values.

\Me{{\bf SOURCE\@.}  One column shall be used to record the source
number.  The column is mandatory when there are data present from
more than one pointing and/or phase stopping position.  The column is
optional when data from only one position is included.  If this column
is present, the FITS file must include an {\tt AIPS SU}
(Section~\ref{s:SU} on page~\pageref{s:SU}) binary table.
\label{rev:UVt1}}

\Me{{\bf FREQSEL\@.} One column shall be used to record the frequency
setup number.  The column is mandatory only when there are data
present in the FITS file having more than one frequency setup number.
If this column is present, the FITS file must include an {\tt AIPS FQ}
(Section~\ref{s:FQ} on page~\pageref{s:FQ}) binary table with rows
describing each of the frequency setup numbers present in the data.
Note that an {\tt AIPS FQ} table is required if there are multiple
spectral windows even when there is only one frequency setup number.
\label{rev:UVt2}}

{\bf VISIBILITIES\@.}  One column shall be used to hold the fringe
visibility data array.  The {\tt TDIM}{\it n} keyword shall be used to
encode the pixel dimensions of this array.  The coordinates of the
array shall be encoded in the {\it m}{\tt CRVL}{\it n},  {\it m}{\tt
  CDLT}{\it n},  {\it m}{\tt CRPX}{\it n}, AND {\it m}{\tt CROT}{\it
  n} keywords, where {\it m} is the axis number within the array and
{\it n} is the column number used for the array.  This binary table
coordinate convention is described in Greisen and Calabretta
2002~\cite{GC02}.  Units are Jy for the visibility real and imaginary
parts and ${\rm Jy}^{-2}$ for the weight part of the {\tt COMPLEX}
axis.

An example {\tt AIPS UV} table header for compressed data is
shown in Appendix~\ref{Appe:UVcomptable} on
page~\pageref{Appe:UVcomptable}.

\begin{center}
\underline{\bf{TABLE 7: Mandatory and changed columns of the {\tt
      AIPS UV} table for compressed data}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:UVCcols}
\underline{{\bf Name\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\tt WEIGHT}    & {\tt 1E} & ${\rm Jy}^{-2}$ & Data weight for all vis.\\
{\tt SCALE}     & {\tt 1E} &         & Multiplier of visibilities \\
{\tt VISIBILITIES} & {\tt $m$I} & Jy & Fringe visibility data
\end{tabular}
\end{center}

{\bf WEIGHT\@.} A single weight in ${\rm Jy}^{-2}$ is taken for all
spectral windows, spectral channels, and polarizations in the
visibility data array.  Clearly this is not an accurate reflection of
reality, but is needed to achieve the factor of 3 reduction in space
possible with compressed data.

{\bf SCALE\@.} The data in Jy are found by multiplying the recorded
integers by the contents of the {\tt SCALE} column.  If there is a
wide dynamic range in the visibilities of the row, then there is a
loss of accuracy in this convention.

{\bf VISIBILITIES\@.} The visibility data are recorded as above
except that the array contains only the real and imaginary parts and
these parts are recorded as 16-bit integers to be multiplied by the
contains of the {\tt SCALE} column and weighted by the contents of the
{\tt WEIGHT} column.  Visibilities that are flagged are indicated by
the value -32767, which appears as the value of the {\tt
  TNULL}{\it n} keyword, where {\it n} is the column number of the
{\tt VISIBILITIES} column.

\vfill\eject
\section{Tables initially from the correlator and real-time system}
\label{s:online}

\subsection{{\tt AIPS AN} antenna table}
\label{s:AN}

The {\tt AIPS AN} or antenna table contains information about the
antenn\ae\ used in a FITS file.  These characteristics include the
polarization properties of the feeds at the level of IFs.  Table~8
lists the keywords expected in the table header in addition to those
required by the FITS format.  This is an essential file although the
details of antenna position are really only used by {\tt UVFIX} and
the polarization calibration is only used when applying IF-based
D-term corrections.  An example {\tt AIPS AN} table header is
shown in Appendix~\ref{Appe:ANtable} on page~\pageref{Appe:ANtable}.

\begin{center}
\underline{\bf{TABLE 8: Mandatory keywords for {\tt AIPS AN} table
    headers}}\\
\begin{tabular}{lcl}
\noalign{\vspace{2pt}} \label{ta:ANkeys}
\underline{{\bf Keyword}} & \underline{\bf{Value type}} &
    \underline{\bf{Value\vphantom{y}}} \\
\noalign{\vspace{2pt}}
{\tt EXTNAME}   & A & {\tt 'AIPS AN'}  \\
{\tt EXTVER}    & I & Subarray number \\
{\tt ARRAYX}    & E & $x$ coordinate of array center (meters) \\
{\tt ARRAYY}    & E & $y$ coordinate of array center (meters) \\
{\tt ARRAYZ}    & E & $z$ coordinate of array center (meters) \\
{\tt GSTIA0}    & E & GST at 0h on reference date (degrees) \\
{\tt DEGPDY}    & E & Earth's rotation rate (degrees/day) \\
{\tt FREQ}      & E & Reference frequency (Hz) \\
{\tt RDATE}     & D & Reference date \\
{\tt POLARX}    & E & $x$ coordinate of North Pole (arc seconds) \\
{\tt POLARY}    & E & $y$ coordinate of North Pole (arc seconds) \\
{\tt UT1UTC}    & E & UT1 - UTC (sec) \\
{\tt DATUTC}    & E & time system - UTC (sec) \\
{\tt TIMESYS}   & A & Time system \\
{\tt ARRNAM}    & A & Array name \\
{\tt XYZHAND}   & A & Handedness of station coordinates \\
{\tt FRAME}     & A & Coordinate frame \\
{\tt NUMORB}    & I & Number orbital parameters in table (\norb) \\
{\tt NO\_IF}    & I & Number IFs (\nif) \\
{\tt NOPCAL}    & I & Number of polarization calibration values / IF (\npcal) \\
{\tt POLTYPE}   & A & Type of polarization calibration \\
{\tt FREQID}    & I & Frequency setup number
\end{tabular}
\end{center}

{\bf Array center.} The {\tt ARRAYX}, {\tt ARRAYY}, and {\tt ARRAYZ}
keywords shall give the coordinates of the array center in the
coordinate frame specified by the {\tt FRAME} keyword.  Antenna
coordinates in the main part of the table are given relative to the
array center\Me{, but rotated to the longitude of the array center.
\label{rev:AN1}}

{\bf GST at midnight.} The value of the {\tt GSTIA0} keyword shall be
the Greenwich sidereal time in degrees at zero hours on the reference
date for the array in the  time system specified by the {\tt TIMESYS}
keyword.

{\bf Earth rotation rate.} The value of the {\tt DEGPDY} keyword shall
be the rotation rate of the Earth in degrees per day on the reference
date for the array.

{\bf Reference date.} The value of the {\tt RDATE} parameter will be
the date for which the time system parameters {\tt GSTIA0}, {\tt
DECPDY}, and {\tt IATUTC} apply.  If the table contains orbital
parameters for orbiting antenn\ae, this keyword also designates the
epoch for the orbital parameters.

{\bf Frequency\@.} The value of the {\tt FREQ} keyword and the {\tt
  FREQID} keyword give the reference frequency in Hz and the frequency
setup number for the subarray to which this antenna table applies.

{\bf Reference date.} The value of the {\tt RDATE} parameter will be
the date for which the time system parameters {\tt GSTIA0}, {\tt
DECPDY}, and {\tt IATUTC} apply.  If the table contains orbital
parameters for orbiting antenn\ae, this keyword also designates the
epoch for the orbital parameters.

{\bf Polar position.} The values of the {\tt POLARX} and {\tt POLARY}
keywords shall give the $x$ and $y$ offsets of the North Pole in
arc seconds on the reference date for the array with respect to
the coordinate system specified by the {\tt FRAME} keyword.  The
units were changed from the meters specified by the earlier documents,
but seldom used in actual implementations.  Note that arc seconds and
meters can be told apart, at least in recent decades.  If $\sqrt{P_x^2
  + P_y^2} < 0.6\, ,$ the units are arc seconds.

{\bf Difference between UT1 and UTC\@.} The value of the {\tt UT1UTC}
keyword shall be the difference between UT1 and UTC in seconds on the
reference date for the array.

{\bf DATUTC\@.} The value of the {\tt DATUTC} keyword shall be the
difference between the time system used in the data set and UTC in
seconds on the reference date for the array.  If the time system is
IAT, this always has an integral value and is the number of
accumulated leap seconds on that date.  If it is UTC, the value is 0.

{\bf Time system.} The {\tt TIMSYS} keyword shall specify the time
system used for the array.  It shall either have the value {\tt
'IAT'}, denoting international atomic time, or the value {\tt 'UTC'},
denoting coordinated universal time.  This indicates whether the zero
hour for the {\tt TIME} parameter in the {\tt UV\_DATA} table is
midnight IAT or midnight UTC\@.

{\bf Array name.}  The value of the {\tt ARRNAM} keyword shall be a
name for the array that may be used in reports presented to human
readers.  Array names need not be unique and should not require
more than 8 characters.  Note, however, that software makes use of the
array name making inventiveness in this parameter unwise.

{\bf Handedness.}  The value of the {\tt XYZHAND} keyword should
indicate whether the coordinate system used for antenna coordinates is
right- or left-handed.  The sign of the $y$ coordinate reverses
between {\tt RIGHT'} and {\tt 'LEFT'} and \AIPS\ insists on
converting antenna files to right-handed.  In a right-handed system,
an antenna in the Eastern United States has $x > 0$ and $y < 0$, one
in the Western United States has $x < 0$ and $y < 0$, one in Germany
has $x > 0$ and $y > 0$, and one in Australia has $x < 0$ and $y > 0$.

{\bf Coordinate frame.} The value of the {\tt FRAME} keyword shall be a
string that identifies the coordinate system used for antenna
coordinates.  At present, only one value of the {\tt FRAME} keyword
has been defined ({\tt 'ITRF'}), although {\tt '????'} is widely used
to reflect ignorance.

{\bf Orbital parameters.} If the antenna file defines parameters for
one or more antennas, them the number of parameters used to describe
the orbit shall be given by the {\tt NUMORB} keyword.

{\bf Number of spectral windows.} The value of the {\tt NO\_IF}
keyword shall specify the number of spectral windows (IFs) in the data
set.  In the antenna file, this controls the dimension of the
polarization calibration value column.

{\bf Number of polarization calibration constants.}  The {\tt ANTENNA}
table may carry information about the polarization characteristics of
the feeds, on an IF basis, if this is known.  If information about the
polarization characteristics of the feeds is contained in the table,
then the {\tt NOPCAL} keyword shall have the value 2.  If no
information about the polarization characteristics is contained in the
table, then the {\tt NOPCAL} keyword shall have the value 0.

{\bf Polarization parametrization.} If the table contains information
about the polarization characteristics of the feeds, then the feed
parametrization that is used shall be indicated by the value of the
{\tt POLTYPE} keyword, as given in Table~9.

\begin{center}
\underline{\bf{TABLE 9: Values for the {\tt POLTYPE} keyword}}\\
\begin{tabular}{ll}
\noalign{\vspace{2pt}} \label{ta:ANpoltypes}
\underline{{\bf Value\vphantom{y}}} & \underline{\bf{Model\vphantom{y}}} \\
\noalign{\vspace{2pt}}
{\tt 'APPROX'}  & Linear approximation for circular feeds \\
{\tt 'X-Y LIN'} & Linear approximation for linear feeds \\
{\tt 'ORI-ELP'} & Orientation and ellipticity \\
{\tt 'VLBI'}    & VLBI solution form
\end{tabular}
\end{center}

Each row in the table gives the parameters for one antenna in the
current subarray and frequency setup.  Each of the columns listed in
Table~10 shall be present.  The order of the columns does not matter.
\vfill\eject

\begin{center}
\underline{\bf{TABLE 10: Mandatory {\tt and optional} columns for
    the {\tt AIPS AN} table}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:ANcols}
\underline{{\bf Title\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\tt ANNAME}   & {\tt 8A} &          & Antenna name \\
{\tt STABXYZ}  & {\tt 3D} & meters   & Antenna station coordinates $(x,y,z)$ \\
{\tt ORBPARM}  & {\tt D}(\norb) &    & Orbital parameters \\
{\tt NOSTA}    & {\tt 1J} &          & Antenna number \\
{\tt MNTSTA}   & {\tt 1J} &          & Mount type \\
{\tt STAXOF}   & {\tt 1E} & meters   & Axis offset \\
{\tt POLTYA}   & {\tt 1A} &          & 'R', 'L', feed A \\
{\tt POLAA}    & {\tt 1E} & degrees  & Position angle feed A \\
{\tt POLCALA}  & {\tt E}(\npcal,\nif) &   & Calibration parameters feed A \\
{\tt POLTYB}   & {\tt 1A} &          & 'R', 'L', polarization 2 \\
{\tt POLAB}    & {\tt 1E} & degrees  & Position angle feed B \\
{\tt POLCALB}  & {\tt E}(\npcal,\nif) &   & Calibration parameters feed B \\
\hline
{\tt DIAMETER} & {\tt 1E} & meters   & Antenna diameter \\
{\tt BEAMFWHM} & {\tt E}(\nif) & degrees/m & Antenna beam FWHM
\end{tabular}
\end{center}

{\bf Antenna name.} The antenna name shall be a non-blank character
string that may be used to identify the antenna for a human user.  The
special name {\tt 'OUT'} shall indicate that the specified antenna
number was not used in the data set.

{\bf Station coordinates.} The {\tt STABXYZ} array shall give the
coordinate vector (element 1 is the $x$ coordinate, element 2 is the
$y$ coordinate, and element 3 is the $z$ coordinate) of the antenna
relative to the array center defined in the header, provided that the
antenna is not an orbiting antenna.  The coordinate system used for
the antenna coordinates is indicated by the {\tt FRAME} keyword in the
header.  In the absence of {\tt FRAME} information, the coordinate
system longitudes are assumed to be based in Greenwich, England if the
array center is all zero and to be based at the array center if it is
not zero.  \Me{Note that this means that the $x$ and $y$ coordinates
of the station are rotated wrt the coordinate system used to express
the array center and so cannot be added to them in a simple fashion.
\label{rev:AN2}}

{\bf Orbital parameters.} If the antenna is an orbiting antenna and
orbital information is available, the {\tt ORBPARM} array will
contain the orbital parameters for the antenna as shown in
Table~11.  The orbital elements shall be those for 0 hours on the
reference date for the array in the time system used for the array.
The reference frame for the orbital parameters shall be the same as
that used for $u,v,w$ coordinates in the $uv$ data.

\begin{center}
\underline{\bf{TABLE 11: Contents of the {\tt ORBPARM} array}} \\
\begin{tabular}{lll}
\noalign{\vspace{2pt}} \label{ta:ANorbparms}
\underline{{\bf Index\vphantom{y}}} &
   \underline{\bf{Parameter\vphantom{y}}} &
   \underline{{\bf Units\vphantom{y}}} \\
\noalign{\vspace{2pt}}
1  & Semi-major axis of orbit ($a$) & meters \\
2  & Ellipticity of orbit ($e$)          &  \\
3  & Inclination of the orbit to the celestial equator ($i$) & degrees \\
4  & The right ascension of the ascending node ($\Omega$)  & degrees \\
5  & The argument of the perigee ($\omega$)  & degrees \\
6  & The mean anomaly ($M$)  & degrees
\end{tabular}
\end{center}

The dimension of the {\tt ORBPARM} array is given by the value of
the {\tt NUMORB} keyword.  If this value is zero, then the {\tt
  ORBPARM} column contains no values.  If \norb\ is 6,
then all 6 orbital parameters shall be set to NaN (not a number)
for all antenn\ae\ for which {\tt MNTSTA} is not 2.

{\bf Antenna number.} The {\tt NOSTA} column shall contain a positive
integer value that uniquely defines the antenna within the subarray.
If the same antenna appears in more than one subarray, it need not
have the same station number in each array.  This is the antenna
identification number that is used in other tables, including the
visibility data.

{\bf Mount type.} The {\tt MNTSTA} column shall contain an integer
value that encodes the mount type of the antenna.  Codes 0 for
alt-azimuth, 1 for equatorial, 2 for orbiting, 3 for X-Y, 4 for
right-handed Naismith, and 5 for left-handed Naismith are defined.
Aperture arrays, which are steered electronically rather than
mechanically, are assigned code 6.

{\bf Axis offset.} The axis offset is the position of the antenna
phase reference point in the Yoke, relative to the antenna pedestal
reference point. This is an antenna characteristic that should be
unchanged when the antenna is moved to a new station.  The $X$
component of the offset is horizontal along the elevation axis and has
no effect on interferometer phase.  The $Z$ component is vertical and
approximately the nominal height of the elevation axis above ground
for the antenna's mount.  Small variations from the nominal value have
the same phase effect as the $Z$ component of position, so they can be
ignored.  The value of the {\tt STAXOF} column gives the value of the
$Y$ component of the axis offset.  That component is horizontal and
perpendicular to the elevation axis.  It produces an
elevation-dependent interferometer phase term and, thus, has to be
accurately calibrated.

{\bf Polarization types.}  The value in the {\tt POLTYA} column shall
be the feed polarization of feed A\@.  This corresponds to
polarization 1 in calibration tables.  The value in the {\tt POLTYB}
column shall be the feed polarization of feed B (if any).  The two
feeds may be either circularly or linearly polarized.  Mixtures of
linear and circular polarizations are forbidden.  If two orthogonal
polarizations are used, it is strongly recommended that feed A
({\tt POLTYA}) be {\tt 'R'} or {\tt 'X'} and feed B ({\tt POLTYB}) be
{\tt 'L'} or {\tt 'Y'}\@.

{\bf Feed orientations.} The value of the {\tt POLAA} column shall be
the orientation of feed A, assumed independent of IF, given in
degrees.  Similarly, the {\tt POLAB} column shall contain the feed
orientation for feed B\@.

{\bf Polarization parameters.}  If the value of the {\tt NOPCAL}
keyword is 2, then the {\tt POLCA} and {\tt POLCB} columns shall
contain 2 polarization parameters for each IF for feeds A and B,
respectively.  If the value of the {\tt POLTYPE} keyword is {\tt
  'APPROX'} or {\tt 'X-Y LIN'}, then the first parameter shall be the
real part of the leakage term and the second shall be the imaginary
part of the leakage term.  If the value of the {\tt POLTYPE} keyword
is {\tt 'OTI-ELP'}, then the first parameter shall be the orientation
and the second shall be the ellipticity and both shall be given in
radians.

{\bf Antenna diameter.} The optional {\tt DIAMETER} column shall give
the antenna physical diameter.  This information may be used in
calculations of sensitivity and shadowing.

{\bf Antenna beam.} The optional column {\tt BEAMFWHM} shall contain
the full-width at half maximum of the (single-dish) beam of the
antenna.  It shall be expressed in degrees per meter wavelength and
shall be assumed to scale with actual observing wavelength within the
corresponding IF.

\subsection{{\tt AIPS CD} CalDevice table}
\label{s:CD}

The {\tt AIPS CD} or CalDevice table contains the noise tube values
for each antenna and IF\@.  It is used with the {\tt SY} table to
apply gain corrections and determine expected noise in the taskS {\tt
TYAPL} \Nx{and {\tt SYSOL}} in \AIPS\@.  It is also used in various
displays of the {\tt SY} table data as system temperature.  An example
{\tt AIPS CD} table header is shown in Appendix~\ref{Appe:CDtable} on
page~\pageref{Appe:CDtable}.

\begin{center}
\underline{\bf{TABLE 12: Mandatory keywords for {\tt AIPS CD} table
    headers}}\\
\begin{tabular}{lcl}
\noalign{\vspace{2pt}} \label{ta:CDkeys}
\underline{{\bf Keyword}} & \underline{\bf{Value type}} &
    \underline{\bf{Value\vphantom{y}}} \\
\noalign{\vspace{2pt}}
{\tt EXTNAME}   & A & {\tt 'AIPS CD'}  \\
{\tt NO\_ANT}   & I & Maximum antenna number \\
{\tt NO\_POL}   & I & Number polarizations (\npol) \\
{\tt NO\_IF}    & I & Number IFs (\nif) \\
{\tt RDATE}     & D & Reference date
\end{tabular}
\end{center}

{\bf Number of antennas.} The value of the {\tt NO\_ANT} keyword shall
specify the maximum antenna number to occur in the {\tt AIPS CD} table.

{\bf Number of polarizations.} The value of the {\tt NO\_POL}
keyword shall specify the number of distinct polarizations (feeds) in
the data set (1 or 2).  In the CalDevice file, this controls the
number of Tcal columns.

{\bf Number of spectral windows.} The value of the {\tt NO\_IF}
keyword shall specify the number of spectral windows (IFs) in the data
set.  In the CalDevice file, this controls the dimension of the
Tcal columns.

{\bf Reference date.} The value of the {\tt RDATE} parameter will be
the date for which the Tcal apply.

\begin{center}
\underline{\bf{TABLE 13: Mandatory \Nx{{\tt and optional}} columns for the {\tt AIPS CD} table}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:CDcols}
\underline{{\bf Title\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\tt ANTENNA NO.} & {\tt 1J} &  & Antenna number \\
{\tt SUBARRAY}    & {\tt 1J} &  & Subarray \\
{\tt FREQ ID}     & {\tt 1J} &  & Frequency setup number \\
{\tt TCAL1}       & {\tt E}(\nif) & Kelvin & Noise tube polarization 1 \\
{\tt TCAL2}       & {\tt E}(\nif) & Kelvin & Noise tube polarization 2 \\
\hline
\Nx{{\tt SOLCAL1}} & \Nx{{\tt E}(\nif)} & \Nx{Kelvin} & \Nx{Solar
  noise tube polarization 1} \\
\Nx{{\tt SOLCAL2}} & \Nx{{\tt E}(\nif)} & \Nx{Kelvin} & \Nx{Solar
  noise tube polarization 2}
\end{tabular}
\end{center}

{\bf Antenna number.} The {\tt ANTENNA NO.} column shall contain a
positive integer value that uniquely defines the antenna within the
subarray.  This is the antenna identification number that is used in
other tables, including the visibility data. If the same antenna
appears in more than one subarray, it need not have the same station
number in each array.

{\bf Subarray number.} The {\tt SUBARRAY} column shall contain a
positive integer value that uniquely identifies the subarray number
to which the other data in the table row apply.

{\bf Frequency setup number.} The {\tt FREQ ID} column shall contain a
positive integer that uniquely identifies the frequency setup to which
the other data in the row apply.

{\bf Noise tube temperatures.} The {\tt TCAL1} column shall contain
\nif\ values of the switched noise tubes for polarization 1 in degrees
Kelvin.  If the value of keyword {\tt NO\_POL} is 2, the {\tt TCAL2}
column shall contain \nif\ values of the switched noise tubes for
polarization 2 in degrees Kelvin.

\Nx{{\bf Solar noise tube temperatures.} The {\tt SOLCAL1} column
shall contain \nif\ values of the switched noise tubes used during
observations of the Sun for polarization 1 in degrees Kelvin.  If the
value of keyword {\tt NO\_POL} is 2, the {\tt SOLCAL2} column shall
contain \nif\ values of the switched noise tubes for Solar
observations in polarization 2 in degrees Kelvin.  The Solar columns
are optional.  A value of exactly 1.0 is taken to mean that that
antenna/IF has no Solar noise tube.}

\subsection{{\tt AIPS CQ} correlator frequency parameter table}
\label{s:CQ}

The {\tt AIPS CQ} conveys the frequency parameters used by the
correlator.  In the FITS-IDI context, the {\tt AIPS CQ} table
is built during the translations from IDI to \AIPS\ using data from
the {\tt MODEL\_COMPS} AND {\tt ANTENNA} IDI tables.  It is widely
used by VLBI and conveys most importantly information about frequency
averaging (if any) done after correlation.  Delay errors cause loss of
amplitude when frequency channels are averaged, {\it but only after
  correlation.}  {\bf The EVLA needs this information.}  Tables~14 and
15 list the keywords and columns of the {\tt AIPS CQ} table.  An
example {\tt AIPS CQ} table header is shown in
Appendix~\ref{Appe:CQtable} on page~\pageref{Appe:CQtable}.

\begin{center}
\underline{\bf{TABLE 14: Mandatory keywords for {\tt AIPS CQ} table
    headers}}\\
\begin{tabular}{lcl}
\noalign{\vspace{2pt}} \label{ta:CQkeys}
\underline{{\bf Keyword}} & \underline{\bf{Value type}} &
    \underline{\bf{Value\vphantom{y}}} \\
\noalign{\vspace{2pt}}
{\tt EXTNAME}   & A & {\tt 'AIPS CQ'}  \\
{\tt NO\_IF}    & I & Number IFs (\nif) \\
{\tt TABREV}    & I & {\tt CQ} table revision number (1)
\end{tabular}
\end{center}

{\bf Number of spectral windows.} The value of the {\tt NO\_IF}
keyword shall specify the number of spectral windows (IFs) in the data
set.  In the correlator frequency file, this controls the dimension of
the all columns except subarray and frequency setup.

{\bf Frequency setup number.} The {\tt FRQSEL} column shall contain a
positive integer that uniquely identifies the frequency setup to which
the other data in the row apply.

{\bf Subarray number.} The {\tt SUBARRAY} column shall contain a
positive integer value that uniquely identifies the subarray number
to which the other data in the table row apply.

{\bf Size of FFT.} The numerical size of the FFT per spectral window
used to convert from time domain to frequency prior to
cross-correlation shall be specified in the {\tt FFT\_SIZE} column.

\vfill\eject
\begin{center}
\underline{\bf{TABLE 15: Mandatory columns for the {\tt AIPS CQ} table}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:CQcols}
\underline{{\bf Title\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\tt FRQSEL}      & {\tt 1J}      &  & Frequency setup number \\
{\tt SUBARRAY}    & {\tt 1J}      &  & Subarray \\
{\tt FFT\_SIZE}   & {\tt J}(\nif) &  & FFT size \\
{\tt NO\_CHAN}    & {\tt J}(\nif) &  & Number of spectral channels \\
{\tt SPEC\_AVG}   & {\tt J}(\nif) &  & Spectral averaging factor \\
{\tt EDGE\_FRQ}   & {\tt D}(\nif) & Hz & Edge frequency \\
{\tt CHAN\_BW}    & {\tt D}(\nif) & Hz & Channel bandwidth \\
{\tt TAPER\_FN}   & {\tt 8A}(\nif) &  & weighting function \\
{\tt OVR\_SAMP}   & {\tt J}(\nif) &  & oversampling factor \\
{\tt ZERO\_PAD}   & {\tt J}(\nif) &  & zero padding \\
{\tt FILTER}      & {\tt J}(\nif) &  & time filter \\
{\tt TIME\_AVG}   & {\tt E}(\nif) & seconds & accumulation time \\
{\tt NO\_BITS}    & {\tt J}(\nif) &  & quantization \\
{\tt FFT\_OVLP}   & {\tt J}(\nif) &  & FFT overlap factor
\end{tabular}
\end{center}

{\bf Number of spectral channels.}  The current number of spectral
channels per spectral window shall be given in the {\tt NO\_CHAN}
column.  Note that this number is initially one half of the FFT size
and may be reduced further by channel averaging.  It should not be
changed by windowing in the spectral domain.

{\bf Spectral averaging factor.}  The number of spectral channels
averaged together after correlation is specified in the {\tt
  SPEC\_AVG} column.  It is normally $Nfft / (2 Nchan)$.

{\bf Frequency at spectral channel 1.}  The {\tt EDGE\_FRQ} column
shall contain the frequencies at the reference spectral channel (which
is usually channel 1) for each IF\@.

{\bf Frequency increment between channels.}  The {\tt CHAN\_BW} column
specifies the current separation of spectral channels in Hz for each
IF\@.

{\bf Weighting function.}  In 8 characters per IF, the {\tt TAPER\_FN}
column shall specify the tapering function applied to the time domain
prior to FFT\@.  Two values, {\tt 'HANNING'} and {\tt 'UNIFORM'} are
recognized.  The form of the correction factor for segmentation loss
in the presence of delay error depends on the type of function used.

{\bf Oversampling factor and zero padding.} The oversampling and zero
padding ``factors'' are given by the {\tt OVR\_SAMP} and {\tt
  ZERO\_PAD} columns; a value of 0 for these implies no oversampling
and no zero padding.

{\bf Time filter.}  The {\tt FILTER} columns is used to convey
$ 256 \times (n-1) + m$, where $n$ is the ``correlation id number and
$m$ is the filter number to which the current row applies.  These may
be random parameters in the $uv$ data; see Table~6,
page~\pageref{ta:UVcols}.

{\bf Accumulation time.} The integration time of the data represented
by this row in the table shall be recorded in the {\tt TIME\_AVG}
column.  In general, this value will be the integration time given in
the random parameters of the $uv$ data and will not depend on IF\@.

{\bf Number of bits.}  The log base 2 of the number of digitizer
levels for the antennas.  In principle, this can carry with antenna,
but {\tt FITLD} takes that of antenna 1 as representative.  The number
of levels shall be 2 for Mk II and Mk III terminals and may be either
2 or 4 for VLBA terminals (depending on observing mode).

{\bf FFT overlap.}  The {\tt FFT\_OVPL} column is not well defined and
should contain 0.

\vfill\eject
\subsection{{\tt AIPS CT} Calc table}
\label{s:CT}

The {\tt AIPS CT} table contains the parameters of {\tt Calc}, the
software package that computes the delay model used by the correlator.
It is not a standard FITS-IDI table, but said to be VLBA-specific.
Since the EVLA also uses {\tt Calc}, it should probably also populate
this table.  The position of the North Pole assumed at correlation is
used to correct data for later, presumably better, estimates of that
parameter in task {\tt CLCOR}\@.  The Polar $X$ and $Y$ also occur in
the {\tt AIPS AN} file (Section~\ref{s:AN} on page~\pageref{s:AN}),
but with only one value at an unknown time.  The VLBA, at least, uses
interpolation over a 5-day interval to determine the best value to use
in the correlation.  An example {\tt AIPS CT} table header is
shown in Appendix~\ref{Appe:CTtable} on page~\pageref{Appe:CTtable}.

\begin{center}
\underline{\bf{TABLE 16: Mandatory and optional keywords for {\tt
   AIPS CT} table headers}}\\
\begin{tabular}{lcl}
\noalign{\vspace{2pt}} \label{ta:CTkeys}
\underline{{\bf Keyword}} & \underline{\bf{Value type}} &
    \underline{\bf{Value\vphantom{y}}} \\
\noalign{\vspace{2pt}}
{\tt EXTNAME}   & A & {\tt 'AIPS CT'}  \\
{\tt OBSCODE}   & A & Observer project code \\
{\tt RDATE}     & D & Reference date \\
{\tt NO\_STKD}  & I & Number of polarization products \\
{\tt STK\_1}    & I & Value of first polarization product \\
{\tt NO\_BAND}  & I & Number IFs (\nif) \\
{\tt NO\_CHAN}  & I & Number spectral channels \nchan) \\
{\tt REF\_FREQ} & E & Reference frequency (Hz) \\
{\tt CHAN\_BW}  & E & Spectral channel separation (Hz) \\
{\tt REF\_PIXL} & E & Spectral channel centered on reference frequency \\
{\tt TABREV}    & I & {\tt CT} table revision number (3) \\
{\tt C\_SRVR}   & A & Computer serving {\tt Calc} to correlator \\
{\tt C\_VERSN}  & A & {\tt Calc} version used \\
\hline
{\tt A\_VERSN}  & A & {\tt Calc} subpackage version {\tt '2.2'} \\
{\tt I\_VERSN}  & A & {\tt Calc} subpackage version {\tt '0.0'} \\
{\tt E\_VERSN}  & A & {\tt Calc} subpackage version {\tt '9.1'} same as {\tt C\_VERSN} \\
{\tt ACCELGRV}  & E & Acceleration of gravity at the Earth's surface ($9.78031846 m s^{-2}$\\
{\tt E-FLAT}    & E & Earth's flattening factor (0.00335281) \\
{\tt EARTHRAD}  & E & Earth's Equatorial Radius ($6378137 m$) \\
{\tt MMSEMS}    & E & Ratio of mass of Moon to mass of Earth (0.01230002)\\
{\tt EPHEPOC}   & I & Coordinate {\it equinox} (2000)\\
{\tt ETIDELAG}  & E & Earth tides: lag angle (0.0 radians) \\
{\tt GAUSS}     & E & Gaussian gravitational constant (0.01720209895) \\
{\tt GMMOON}    & E & Lunar-centric gravitational constant (4.90279750E12 $m^3 s^{-2}$) \\
{\tt GMSUN}     & E & Heliocentric gravitational constant (1.32712438E20 $m^3 s^{-2}$)  \\
{\tt LOVE\_H}   & E & Earth tides: global Love Number H, IERS value (0.60967) \\
{\tt LOVE\_L}   & E & Earth tides: global Love Number H, IERS value (0.0852) \\
{\tt PRE\_DATA} & E & General precession in longitude at standard equinox J2000 \\
                &   & \hspace{1em} (5029.0966 arcsec per Julian century)\\
{\tt REL\_DATA} & E & ?? (1.0) \\
{\tt TIDALUT1}  & I & ?? (0.0) \\
{\tt TSECAU}    & E & Light time for one A.U. (499.004782 sec) \\
{\tt U-GRV-CN}  & E & Constant of gravitation (6.672E-11 $m^3 kg^{-1} s^{-2}$) \\
{\tt VLIGHT}    & E & speed of light (299792458 $m s^{-1}$)
\end{tabular}
\end{center}

{\bf Observation code.} The Observer project code assigned to the
experiment is given as the value of the {\tt OBSCODE} keyword.

{\bf Reference date.} The value of the {\tt RDATE} parameter will be
the date for which the Tcal apply.

{\bf Polarization data.} The number of polarization products in the
data set, \nstokes, is given by the value of the {\tt NO\_STKD}
keyword and the Stokes value of the first product is indicated by the
value of the {\tt STK\_1} keyword.

{\bf Number of spectral windows and channels.} The value of the {\tt
  NO\_BAND} keyword shall specify the number of spectral windows (IFs)
and the value of the keyword {\tt NO\_CHAN} shall specify the number
of spectral channels in the data set.

{\bf Frequency data.} The sky observing frequency in Hz at the
center of the reference pixel is specified by the value of the {\tt
  REF\_FREQ} keyword and the reference pixel itself is given by the
value of the {\tt REF\_PIXL} keyword.  The increment in frequency
between spectral channel is given by the value of the {\tt CHAN\_BW}
keyword.

{\bf Calc software used.} The computer used to serve {\tt Calc} to the
correlator is indicated by the value of the {\tt C\_SRVR} keyword.
The particular version numbers of the full and specific subsections of
the {\tt Calc}software package are indicated by the values of the {\tt
  C\_VERSN}, {\tt A\_VERSN}, {\tt I\_VERSN}, and {\tt E\_VERSN}
keywords, respectively.  The meanings of the A, I, and E have been
lost.

{\bf Calc model parameters.} The remaining optional keywords in the
{\tt AIPS CT} table describe the astrometric model parameters
provided to {\tt Calc}.  Their definitions are shown in Table~16 along
with the values used for them by the {\tt DiFX} software correlator.

\begin{center}
\underline{\bf{TABLE 17: Mandatory columns for the {\tt AIPS CT} table}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:CTcols}
\underline{{\bf Title\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\tt TIME}     & {\tt 1D} & days    & time of center of interval \\
{\tt UT1-UTC}  & {\tt 1D} & seconds & difference UT1 time - UTC time \\
{\tt IAT-UTC}  & {\tt 1D} & seconds & difference IAT time - UTC time \\
{\tt A1-IAT}   & {\tt 1D} & seconds & difference A1 time - UTC time \\
{\tt UT1 TYPE} & {\tt 1A} &         & E extrapolated, P preliminary, F final \\
{\tt WOBXY}    & {\tt 2D} & arcseconds & X,Y polar offsets \\
{\tt WOB TYPE} & {\tt 1A} &         & E extrapolated, P preliminary, F final \\
{\tt DPSI}     & {\tt 1D} & radians & nutation in longitude \\
{\tt DDPSI}    & {\tt 1D} & radians/sec & derivative of {\tt DPSI} \\
{\tt DEPS}     & {\tt 1D} & radians & nutation in obliquity \\
{\tt DDEPS}    & {\tt 1D} & radians/sec & derivative {\tt DEPS} \\
{\tt TIME INT} & {\tt 2D} & days    & range in time to which row applies
\end{tabular}
\end{center}

{\bf Time.} The time in days since the reference date for the center
of the interval is given in the {\tt TIME} column.

{\bf Time systems.} The difference between UT1 and UTC times is given
in the {\tt UT1-UTC} column, the difference between IAT (actually tai)
abd UTC is given in the {\tt IAT-UTC} column, and the difference
between the A1 (whatever that is) and UTC times is given in the {\tt
  A1-UTC} column.  The {\tt UT1 TYPE} column gives a single character
indicating the origin of the {\tt UT1-UTC} value --- extrapolated,
preliminary, final, or {\tt 'X'} for unknown.

{\bf Position of the North Pole.} The offset of the Earth's rotational
North pole from nominal at the stated time is given in arc seconds in
the two values per row {\tt WOBXY} column.  The origin (quality) of
these values is indicated by the {\tt WOB TYPE} column.

{\bf Nutation.} The nutation in longitude and its derivative are given
in the {\tt DPSI} and {\tt DDPSI} columns, respectively.  The nutation
in obliquity and its derivative are given in the {\tt DEPS} and {\tt
  DDEPS} columns, respectively.  Since the values used by {\tt Calc}
are hard to extract, the {\tt DiFX} correlator fills these columns
with zeros.

{\bf Time interval.} The start and stop times of the observation
period for which the row applies are given by the {\tt TIME INT}
columns.  If this column is missing or filled with zeros, {\tt CLCOR}
attempts to determine the appropriate values from the history file
{\tt FITLD JOBSTART} and {\tt FITLD JOBSTOP} cards.  {\tt FITLD}
updates the {\tt AIPS CT} table when reading FITS-IDI files to
fill these columns correctly.
\vfill\eject

\subsection{{\tt AIPS FG} flag table}
\label{s:FG}

The {\tt AIPS FG} table contains commands to suppress (flag, delete)
portions of the $uv$ data set.  It should begin with information from
the on-line system for such things as ``antenna not on source'',
``subreflector out of position'', and the like.  It could also have
information from the correlator for known failures in correlation.
The {\tt AIPS FG} table, or multiple versions build from the first
one, will acquire additional commands from auto-flagging tasks such as
{\tt RFLAG}. interactive flagging tasks such as {\tt TVFLG}, or
directly from the user with {\tt UVFLG}\@.  It would be possible to
devise an improved online-flags table (Section~\ref{s:OF},
page~\pageref{s:OF}) which then could be translated to an initial flag
table inside \AIPS\ with an enhanced version of the task {\tt
  OFLAG}\@.  An example {\tt AIPS FG} table header is
shown in Appendix~\ref{Appe:FGtable} on page~\pageref{Appe:FGtable}.

There are no required keywords in the {\tt AIPS FG} table.  The
columns required for the table are shown in Table~18.

\begin{center}
\underline{\bf{TABLE 18: Mandatory columns for the {\tt AIPS FG} table}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:FGcols}
\underline{{\bf Title\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\tt SOURCE}   & {\tt 1J} &  & Source ID number \\
{\tt SUBARRAY} & {\tt 1J} &  & Subarray number \\
{\tt FREQ ID}  & {\tt 1J} &  & Frequency setup number \\
{\tt ANTS}     & {\tt 2J} &  & antennas \\
{\tt TIME RANGE} & {\tt 2E} & days & time range \\
{\tt IFS}      & {\tt 2J} &  & IF range \\
{\tt CHANS}    & {\tt 2J} &  & Spectral channel range \\
{\tt PFLAGS}   & {\tt 4L} &  & Stokes selection \\
{\tt REASON}   & {\tt 24A} & & Reason for flag
\end{tabular}
\end{center}

{\bf Source.}  If the file contains observations of more than one
source, then the identification number of the source to be flagged
shall be given as the value in the {\tt SOURCE} column.  A value
$\leq 0$ means to flag data from all sources regardless of
identification number.

{\bf Array and frequency setup numbers.}  The subarray and frequency
selection numbers of the data to be flagged are specified in the {\tt
  SUBARRAY} and {\tt FREQ ID} columns, respectively.    A value
$\leq 0$ means to flag data from all subarrays and/or frequency setups.

{\bf Antennas.}  The numbers assigned to the two antennas of the
baseline pair to be flagged are given by the values in the {\tt ANTS}
column.  If one number of the pair is zero, then all baselines
involving the other antenna are to be flagged.  If both numbers are
zero, then all baselines are to be flagged.

{\bf Times.} The beginning and ending times of the time range to be
flagged are specified in the {\tt TIME RANGE} column in days from the
reference date.  There is no default value, all numbers are taken
literally.

{\bf Spectral windows.} The beginning and ending spectral window
numbers (IFs) to be flagged are found in the {\tt IFS} column.  A
value of zero as the beginning IF number is interpreted as 1 and a
value of 0 in the second IF number is interpreted as the maximum IF
number (\nif).

{\bf Spectral channels.}  The beginning and ending spectral channel
numbers to be flagged in each spectral window are found in the {\tt
  CHANS} column.  A value of zero as the beginning channel number
number is interpreted as 1 and a value of 0 in the second channel
number is interpreted as the maximum number (\nchan).

{\bf Polarization selection.} The {\tt PFLAGS} column shall contain
four logical values to specify which of the Stokes parameters are to
be flagged.

{\bf Reason.} The {\tt REASON} column contains an arbitrary string of
24 characters to provide an explanation of the flag to the user.
Typical values might be ``antenna off source'' and ``TVFLG 14JUN11
14:53'' for on-line and interactive reasons.  {\tt UVFLG} allows the
user to specify the reason and to select flags based on reason.

\vfill\eject
\subsection{{\tt AIPS FO} frequency offset table}
\label{s:FO}

The {\tt AIPS FO} table is a recently invented table to convey
information about frequency changes occurring during the observation.
Frequently spectral-line observations are made while keeping the
``velocity'' of a particular spectral channel constant.  To do this as
the Earth rotates about its axis and about the Sun, the observing
frequency must change.  Some tasks such as those that recompute the
projected baselines and those that shift the spectra to do the
``Doppler tracking'' should care in detail exactly what the observing
frequency was for each sample.  \AIPS\ hid this information, obtained
from the on-line data, in a column in the calibration table.  That is
inconvenient for other software packages that do not support {\tt
  AIPS CL} tables (Section~\ref{s:CL} on page~\pageref{s:CL}) and
fails completely for single-source files which have no {\tt CL} table.
The {\tt AIPS FO} table replaces the usage of the ``hidden'' column
of the {\tt CL} table and is maintained with single- as well as
multi-source data sets.  An example {\tt AIPS FO} table header is
shown in Appendix~\ref{Appe:FOtable} on page~\pageref{Appe:FOtable}.

\begin{center}
\underline{\bf{TABLE 19: Mandatory and optional keywords for {\tt
   AIPS FO} table headers}}\\
\begin{tabular}{lcl}
\noalign{\vspace{2pt}} \label{ta:FOkeys}
\underline{{\bf Keyword}} & \underline{\bf{Value type}} &
    \underline{\bf{Value\vphantom{y}}} \\
\noalign{\vspace{2pt}}
{\tt EXTNAME}   & A & {\tt 'AIPS FO'}  \\
{\tt NO\_ANT}   & I & Maximum antenna number \\
{\tt NO\_IF}    & I & Number IFs (\nif) \\
{\tt REVISION}  & I & File format revision code (1)
\end{tabular}
\end{center}

{\bf Number of antennas.} The value of the {\tt NO\_ANT} keyword shall
specify the maximum antenna number to occur in the {\tt AIPS FO} table.

{\bf Number of spectral windows.} The value of the {\tt NO\_IF}
keyword shall specify the number of spectral windows (IFs) in the data
set.  In the frequency offset table, this controls the dimension of
the Doppler offset column.

\begin{center}
\underline{\bf{TABLE 20: Mandatory columns for the {\tt AIPS FO} table}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:FOcols}
\underline{{\bf Title\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\tt TIME}        & {\tt 1D} & days    & time of center of interval \\
{\tt TIME INTERVAL} & {\tt 1E} & days & length of time interval \\
{\tt SOURCE ID}   & {\tt 1J} &  & Source ID number \\
{\tt ANTENNA NO.} & {\tt 1J} &  & Antenna number \\
{\tt SUBARRAY}    & {\tt 1J} &  & Subarray number \\
{\tt FREQ ID}     & {\tt 1J} &  & Frequency setup number \\
{\tt DOPOFF}      & {\tt E}(\nif) & Hz & Doppler offset
\end{tabular}
\end{center}

{\bf Time.} The time in days since the reference date for the center
of the interval represented by the table row is given in the {\tt
  TIME} column.  The length of that interval is given in the {\tt TIME
  INTERVAL} column.

{\bf Source identification number.} If the file contains observations
of more than one source, then the identification number of the source
being observed shall be given as the value of the {\tt SOURCE ID}
column.  A value $\leq 0$ is taken to apply to all sources.

{\bf Antenna number.} The {\tt ANTENNA NO.} column shall contain a
positive integer value that uniquely defines the antenna within the
subarray.  This is the antenna identification number that is used in
other tables, including the visibility data. If the same antenna
appears in more than one subarray, it need not have the same station
number in each array.

{\bf Subarray number.} The {\tt SUBARRAY} column shall contain a
positive integer value that uniquely identifies the subarray number
to which the other data in the table row apply.

{\bf Frequency setup number.} The {\tt FREQ ID} column shall contain a
positive integer that uniquely identifies the frequency setup to which
the other data in the row apply.

{\bf Doppler offset.} The {\tt DOPOFF} column conveys \nif\ values
giving the actual observed frequency minus the time-independent
frequency for each IF.  The time-independent frequencies are described
for each IF and frequency setup number in the {\tt AIPS FQ} table
(Section~\ref{s:FQ} on page~\pageref{s:FQ}) plus the frequency offsets
described for each source in the {\tt AIPS SU} (Section~\ref{s:SU}
on page~\pageref{s:SU}) table plus the reference frequency given in
the $uv$-data header.

\subsection{{\tt AIPS FQ} frequency table}
\label{s:FQ}

The {\tt AIPS FQ} or frequency table is an essential table unless
there is only one spectral window and one frequency setup.  It conveys
the frequency offsets to be added to the reference frequency as a
function of spectral window and frequency setup.  The actual observing
frequency requires the addition of source-dependent frequency offsets
from the {\tt AIPS SU} table (Section~\ref{s:SU} on
page~\pageref{s:SU}) and time-dependent frequency offsets from the
{\tt AIPS FO} table (Section~\ref{s:FO} on page~\pageref{s:FO}).  An
example {\tt AIPS FQ} table header is shown in
Appendix~\ref{Appe:FQtable} on page~\pageref{Appe:FQtable}.

\begin{center}
\underline{\bf{TABLE 21: Mandatory and optional keywords for {\tt
   AIPS FQ} table headers}}\\
\begin{tabular}{lcl}
\noalign{\vspace{2pt}} \label{ta:FQkeys}
\underline{{\bf Keyword}} & \underline{\bf{Value type}} &
    \underline{\bf{Value\vphantom{y}}} \\
\noalign{\vspace{2pt}}
{\tt EXTNAME}   & A & {\tt 'AIPS FQ'}  \\
{\tt NO\_IF}    & I & Number IFs (\nif)
\end{tabular}
\end{center}

{\bf Number of spectral windows.} The value of the {\tt NO\_IF}
keyword shall specify the number of spectral windows (IFs) in the data
set.  In the frequency table, this controls the dimension of all
columns except the frequency setup number.

\begin{center}
\underline{\bf{TABLE 22: Mandatory {\Me and optional} columns for the
    {\tt AIPS FQ} table}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:FQcols}
\underline{{\bf Title\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\tt FRQSEL}    & {\tt 1J} & & frequency setup ID number \\
{\tt IF FREQ}   & {\tt D}(\nif) & Hz & Frequency offset \\
{\tt CH WIDTH}  & {\tt E}(\nif) & Hz & Spectral channel separation \\
{\tt TOTAL BANDWIDTH} & {\tt E}(\nif) & Hz & Total width of spectral window \\
{\tt SIDEBAND}  & {\tt J}(\nif) &  & Sideband \\
\hline
{\tt \Me{BANDCODE}} & \Me{{\tt 8A}(\nif)} & & \Me{Band/receiver code}
\end{tabular}
\end{center}

{\bf Frequency setup number.} The {\tt FRQSEL} column shall contain a
positive integer that uniquely identifies the frequency setup to which
the other data in the row apply.

{\bf Frequency offset.} The offset of the particular frequency setup
and spectral window in Hz is given by the value contained in the {\tt
  IF FREQ} column.

{\bf Frequency widths.} The separation of spectral channels in Hz is
given by the values contained in the {\tt CH WIDTH} column as a
function of IF\@.  The total width of the spectral windows is given by
the values contained in the {\tt   TOTAL BANDWIDTH} column.  Thus the
number of spectral channels is $T_{bw} (IFno) / | C_{width} (IFno) |$
in IF $IFno$.

{\bf Sideband.} A value of $-1$ is used to indicate lower sideband
and $+1$ upper sideband.  Normally, the sign of {\tt SIDEBAND}
equals the sign of {\tt CH WIDTH}\@.  The actual increment in
frequency when channel number increases by one is the value contained
in the {\tt CH WIDTH} column times the value contained in the {\tt
  SIDEBAND} column.  It is the practise in \AIPS\ to reverse the order
of spectral channels from lower sideband data and to then call the
data upper sideband.

\Me{{\bf Band code.} The optional column {\tt BANDCODE} contains one
8-character, blank-filled string for each spectral window.  The string
identifies the receiver (and feed) used to observe the data of the
particular frequency setup and spectral window.  The form of the
string is undefined except for the EVLA where it is either {\it x} or
{\tt EVLA\_}{\it x}, where x is one of {\tt '4'}, {\tt 'P'}, {\tt
  'L'}, {\tt 'S'}, {\tt 'C'}, {\tt 'X'}, {\tt 'U'}, {\tt 'K'}, {\tt
  'A'}, or {\tt 'Q'}\@.\label{rev:FQ}}

\vfill\eject
\subsection{{\tt AIPS GC} gain curve table}
\label{s:GC}

The {\tt AIPS GC} table may be used to perform the entire
time-independent portion of the amplitude calibration.  It conveys the
relative gains of each antenna as a function of pointing position as
well as the point-source sensitivity.  The product of these, evaluated
at the observing frequency at pointing position, is the amplitude
gain.  This method has been widely used with VLBI data through \AIPS\
task {\tt APCAL}\@.  For VLA data, \AIPS\ has preferred to use
tabulated antenna gain tables in creating the initial calibration
({\tt AIPS CL}) to correct for antenna relative gains.  Additional
details are given in the FITS IDI Convention Memo (Greisen
2011~\cite{G11}).

\begin{center}
\underline{\bf{TABLE 23: Mandatory and optional keywords for {\tt
   AIPS GC} table headers}}\\
\begin{tabular}{lcl}
\noalign{\vspace{2pt}} \label{ta:GCkeys}
\underline{{\bf Keyword}} & \underline{\bf{Value type}} &
    \underline{\bf{Value\vphantom{y}}} \\
\noalign{\vspace{2pt}}
{\tt EXTNAME}   & A & {\tt 'AIPS GC'}  \\
{\tt NO\_BAND}  & I & Number IFs (\nif) \\
{\tt NO\_POL}   & I & Number polarizations (\npol) \\
{\tt NO\_TABS}  & I & Number of values in table (\ntab) \\
{\tt TABREV}    & I & Table revision number (2)
\end{tabular}
\end{center}

{\bf Number of spectral windows.} The value of the {\tt NO\_BAND}
keyword shall specify the number of spectral windows (IFs) in the data
set.  In the gain curve table, this controls the dimension of all
columns except the antenna, subarray, and frequency setup numbers.

{\bf Number of polarizations.} The value of the {\tt NO\_POL}
keyword shall specify the number of distinct polarizations (feeds) in
the data set (1 or 2).  In the gain curve file, this controls whether
the columns named with a ``2,'' those below the line, appear.

{\bf Number of table values.} The value of the {\tt NO\_TABS} keyword
shall specify the number of table values in the {\tt Y\_VAL\_}{\it n}
and {\tt GAI\_}{\it n} columns.

%The required columns of the {\tt AIPS GC} table are shown in Table~29
%(next page).

\begin{center}
\underline{\bf{TABLE 24: Mandatory columns for the {\tt AIPS GC} table}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:GCcols}
\underline{{\bf Title\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\tt ANTENNA\_NO} & {\tt 1J} & & antenna number \\
{\tt SUBARRAY}    & {\tt 1J} & & subarray number \\
{\tt FREQ ID}     & {\tt 1J} & & frequency setup ID number \\
{\tt TYPE\_1}     & {\tt J}(\nif) &  & Gain curve type, feed A \\
{\tt NTERM\_1}    & {\tt J}(\nif) &  & Number of terms or entries, feed A \\
{\tt X\_TYP\_1}   & {\tt J}(\nif) &  & Type of X coordinate, feed A \\
{\tt Y\_TYP\_1}   & {\tt J}(\nif) &  & Type of Y coordinate, feed A \\
{\tt X\_VAL\_1}   & {\tt E}(\nif) & degrees & Value of X coordinate, feed A \\
{\tt Y\_VAL\_1}   & {\tt E}(\ntab,\nif) & degrees & Value of Y coordinate, feed A \\
{\tt GAIN\_1}     & {\tt E}(\ntab,\nif) &  & Gain table, feed A \\
{\tt SENS\_1}     & {\tt E}(\nif) & Kelvin/Jy & Sensitivity table, feed A \\
\hline
{\tt TYPE\_2}     & {\tt J}(\nif) &  & Gain curve type, feed B \\
{\tt NTERM\_2}    & {\tt J}(\nif) &  & Number of terms or entries, feed B \\
{\tt X\_TYP\_2}   & {\tt J}(\nif) &  & Type of X coordinate, feed B \\
{\tt Y\_TYP\_2}   & {\tt J}(\nif) &  & Type of Y coordinate, feed B \\
{\tt X\_VAL\_2}   & {\tt E}(\nif) & degrees & Value of X coordinate, feed B \\
{\tt Y\_VAL\_2}   & {\tt E}(\ntab,\nif) & degrees & Value of Y coordinate, feed B \\
{\tt GAIN\_2}     & {\tt E}(\ntab,\nif) &  & Gain table, feed B \\
{\tt SENS\_2}     & {\tt E}(\nif) & Kelvin/Jy & Sensitivity table, feed B
\end{tabular}
\end{center}

{\bf Antenna number.} The {\tt ANTENNA\_NO} column shall contain a
positive integer value that uniquely defines the antenna within the
subarray.  This is the antenna identification number that is used in
other tables, including the visibility data. If the same antenna
appears in more than one subarray, it need not have the same station
number in each array.

{\bf Subarray number.} The {\tt SUBARRAY} column shall contain a
positive integer value that uniquely identifies the subarray number
to which the other data in the table row apply.

{\bf Frequency setup number.} The {\tt FREQ ID} column shall contain a
positive integer that uniquely identifies the frequency setup to which
the other data in the row apply.

{\bf Gain curve type.}  The value of the {\tt TYPE\_}{\it n} columns
shall specify the type of gain curve as 1 tabulated values, 2
polynomial coefficients, or 3 spherical harmonic coefficients.

{\bf Number of terms.}  The value of the {\tt NTERM\_}{\it n} columns
shall specify the number of tabulated values or the number of
coefficients in each gain curve.

{\bf Axis type code.}  The values in the {\tt X\_TYP\_}{\it n} and
{\tt Y\_TYP\_}{\it n} columns shall specify the meaning of X and Y
axis values as 0 none, 1 elevation, 2 zenith angle, 3 hour angle, 4
declination, and 5 90-declination.  the position of a datum to be
calibrated is computed from its observer-relative coordinates of the
specified type.

{\bf Axis values.}  The values of the {\tt X\_VAL\_U}{\it n} column
gives the X coordinate value, one per IF, appropriate to the row.  The
values of the {\tt Y\_VAL\_U}{\it n} column gives the Y coordinate
value, one per term per IF, appropriate to the row.  The X coordinate
is used with to select the nearest gain values to the X position of
the datum being calibrated.  The Y coordinate is only relevant with
tabulated values (gain type 1) and is used to interpolate the gain to
be used for the particular datum.

{\bf Gain values.} The values of the {\tt GAIN\_}{\it n} column
contain the corresponding relative gain values (if type 1) or
relative gain coefficients (types 2 and 3).  For polynomial gain type,
the relative gain at the datum having position $Y$ on the Y axis is
\begin{equation}
    g = \sum_{i=1}^{n_{term}} Y^{i-1} G(i) .
\end{equation}
For spherical harmonic gain type, a much more complicated computation
is performed using the X and Y coordinates of the datum; see \AIPS\
task {\tt APCAL} for details.

{\bf Sensitivity}  The values of the {\tt SENS\_}{\it n} column
contain the point source sensitivity in degrees Kelvin per Jansky for
each IF\@.   The net gain applied to a datum is the product of the
relative gain determined using the other columns times the point
source sensitivity.


\subsection{{\tt AIPS IM} interferometer model table}
\label{s:IM}

The {\tt AIPS IM} table contains information about the interferometer
models used by the correlator.  In \AIPS\ it is used to fill in the
delay polynomial and dispersion columns in the initial version of the
calibration table (Section~\ref{s:CL} on page~\pageref{s:CL}).
An example {\tt AIPS IM} table header is shown in
Appendix~\ref{Appe:IMtable} on page~\pageref{Appe:IMtable}.

\begin{center}
\underline{\bf{TABLE 25: Mandatory keywords for {\tt AIPS IM} table
    headers}}\\
\begin{tabular}{lcl}
\noalign{\vspace{2pt}} \label{ta:IMkeys}
\underline{{\bf Keyword}} & \underline{\bf{Value type}} &
    \underline{\bf{Value\vphantom{y}}} \\
\noalign{\vspace{2pt}}
{\tt EXTNAME}   & A & {\tt 'AIPS IM'}  \\
{\tt RDATE}     & D & Reference date \\
{\tt OBSCODE}   & A & Observation code \\
{\tt NO\_STKD}  & I & Number of Stokes products (\nstokes) \\
{\tt STK\_1}    & I & First Stokes value \\
{\tt NO\_BAND}  & I & Number of IFs (\nif)\\
{\tt NO\_CHAN}  & I & Number of spectral channels (\nchan) \\
{\tt REF\_FREQ} & E & Reference frequency (Hz) \\
{\tt CHAN\_BW}  & E & Separation of spectral channels (Hz) \\
{\tt REF\_PIXL} & E & Reference spectral channel (pixels) \\
{\tt NO\_POL}   & I & Number of polarizations \\
{\tt NPOLY}     & I & Number of polynomial terms \npoly \\
{\tt REVISION}  & I & Revision number of correlator software \\
{\tt TABREV}    & I & {\tt IM} table format revision (2)
\end{tabular}
\end{center}

{\bf FITS-IDI required keywords.}  All FITS-IDI tables are required to
contain the familiar keywords for reference date, observation code,
Stokes values, number of IFs and spectral channels, and frequency
description.

{\bf Number of polarizations.}  The {\tt AIPS IM} table may contain
information for one or two orthogonal polarizations.  The number of
polarizations shall be given by the {\tt NO\_POL} keyword.

{\bf Number of polynomial terms.}  Delays and rates are given as
polynomials with \npoly\ terms as specified by the value of the
{\tt NPOLY} keyword.  This shall be a positive integer.

Each row of the table shall give the model information applicable to
one antenna over a range of time.  Each of the columns listed in
Table~26 above the horizontal line must be present.  The columns for
the second polarization, listed below the horizontal line, must appear
but only if the value of the {\tt NO\_POL} keyword is two.
Polarization 1 corresponds to feed A in the {\tt ANTENNA} table and
polarization 2 to feed B\@.  The order of the columns does not matter.

\begin{center}
\underline{\bf{TABLE 26: Mandatory columns for the {\tt AIPS IM} table}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:IMCOLS}
\underline{{\bf Title\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\tt TIME}        & {\tt 1D} & days  & Starting time of interval \\
{\tt TIME\_INTERVAL} & {\tt 1E} & days & Duration of interval \\
{\tt SOURCE\_ID}  & {\tt 1J} &       & Source ID number \\
{\tt ANTENNA\_NO} & {\tt 1J} &       & Antenna number \\
{\tt ARRAY}       & {\tt 1J} &       & Array number \\
{\tt FREQID}      & {\tt 1J} &       & Frequency setup number \\
{\tt I.FAR.ROT}   & {\tt 1E} & rad m$^{-2}$ & Ionospheric Faraday
                                       rotation \\
{\tt FREQ.VAR}    & {\tt E}(\nif) & Hz & Time variable frequency
                                       offsets \\
{\tt PDELAY\_1}   & {\tt D}(\npoly,\nif) & turns & Phase delay
                                       polynomials for polarization 1 \\
{\tt GDELAY\_1}   & {\tt D}(\npoly,\nif) & seconds & Group delay
                                       polynomials for polarization 1 \\
{\tt PRATE\_1}    & {\tt D}(\npoly,\nif) & Hz & Phase delay rate
                                       polynomials for polarization 1 \\
{\tt GRATE\_1}    & {\tt D}(\npoly,\nif) & sec/sec & Group delay rate
                                       polynomials for polarization 1 \\
{\tt DISP\_1}     & {\tt 1E} & sec m$^{-2}$ & Dispersive delay for
                                       polarization 1 \\
{\tt DDISP\_1}    & {\tt 1E} & sec m$^{-2}$/sec & Rate of change of dispersive
                                       delay for \\
                  &          &         & \hspace{1em} polarization 1 \\
\hline
{\tt PDELAY\_2}   & {\tt D}(\npoly,\nif) & turns & Phase delay
                                       polynomials for polarization 2 \\
{\tt GDELAY\_2}   & {\tt D}(\npoly,\nif) & seconds & Group delay
                                       polynomials for polarization 2 \\
{\tt PRATE\_2}    & {\tt D}(\npoly,\nif) & Hz & Phase delay rate
                                       polynomials for polarization 2 \\
{\tt GRATE\_2}    & {\tt D}(\npoly,\nif) & sec/sec & Group delay rate
                                       polynomials for polarization 2 \\
{\tt DISP\_2}     & {\tt 1E} & sec m$^{-2}$ & Dispersive delay for
                                       polarization 2 \\
{\tt DDISP\_2}    & {\tt 1E} & sec m$^{-2}$/sec & Rate of change of dispersive
                                       delay for \\
                  &          &         & \hspace{1em} polarization 2
\end{tabular}
\end{center}

{\bf Time covered by the row.}  The {\tt TIME} column shall contain
the earliest time covered by the current row as the number of days
that have elapsed since 0 hours on the reference date in the time
system used for the array.  This is also the zero time for the delay
and rate polynomials.  The {\tt TIME\_INTERVAL} column shall contain
the number of days for which the model described by the row remains
valid.  Note that the {\tt AIPS IM} table differs from other \AIPS\
tables in that the value in the {\tt TIME} column is the beginning of
the interval covered and not the center of the interval.

{\bf Source identification number.}  The {\tt SOURCE\_ID} column shall
contain the source identification number of the source for which the
model is valid.

{\bf Antenna and subarray numbers.}  The {\tt ANTENNA\_NO} column
shall contain the antenna identification number of the antenna to
which the model applies.  The {\tt ARRAY} column shall contain the
number of the subarray to which the antenna belongs.

{\bf Frequency setup number.}  The {\tt FREQID} column shall contain
the frequency setup number of the frequency setup for which the model
applies.

{\bf Ionospheric Faraday rotation.}  The {\tt I.FAR.ROT} column shall
contain the value of the ionospheric Faraday rotation applied at the
correlator.  If no correction has been applied, then this field shall
contain 0.0.

{\bf Time variable frequency offsets.} The {\tt FREQ.VAR} column shall
contain an array of time-variable frequency offsets that were applied.
There shall be one entry for every IF in the file and each entry shall
contain the additional frequency offsets applied to the IF as a
function of time.

{\bf Phase and group delay polynomials.}  The {\tt GDELAY\_1} and {\tt
  GDELAY\_2} columns shall contain polynomial terms for the group
delays for each band in polarization 1 and 2, respectively.  The
group delay is calculated from these according to Eq.~\ref{Eq:delay},
where $\Delta t$ is the number of seconds that have elapsed since the
beginning of the interval covered by the model and $p_i$ is the
polynomial term with index $i$ for the current band.
\begin{equation}
\tau_g = \sum_{i=1}^{n_{poly}} p_i \cdot \left( \Delta t \right) ^{i-1}
  \label{Eq:delay} \, .
\end{equation}
The {\tt PDELAY\_1} and {\tt PDELAY\_2} columns shall contain the
polynomial terms for the phase delay evaluated at the reference
frequency for each band in the same format.

{\bf Phase and group delay rates.}  The {\tt GRATE\_1} and {\tt
GRATE\_2} columns shall contain polynomial terms for the group delay
rates (\ie\ the time derivatives of the group delays) for each IF in
polarizations 1 and 2, respectively.  Similarly, the {\tt PRATE\_1}
and {\tt PRATE\_2} columns shall contain the polynomial terms for the
phase delay rates.  The same conventions are used as for the group
delay terms.  Note that the rate terms may be expected to be
approximately equal to the delay terms but shifted by one position,
but that exact equivalence is not required.  This allows for
correlators such as the VLBA which model delay and rate separately.

{\bf Dispersive delays.}  The {\tt DISP\_1} and {\tt DISP\_2} columns
shall contain the components of the group delays for polarization 1
and 2 that scale with the square of the wavelength (\eg\ ionospheric
delay).  These shall be specified by giving the delays in seconds
per meter squared.  The {\tt DDISP\_1} and {\tt DDISP\_2} columns
give the time derivatives of the dispersive delays in {\tt DISP\_1}
and {\tt DISP\_2}\@.

\subsection{{\tt AIPS MC} correlator model components table}
\label{s:MC}

The {\tt AIPS MC} table is used to convey the parameters of the
spectral sampling and of the various delay corrections applied to the
data during the correlation.  It was initially a VLBA-specific table,
but has received wider use.  In \AIPS\ it is used to fill in the clock
and atmosphere correction columns in the initial version of the
calibration table (Section~\ref{s:CL} on page~\pageref{s:CL}).
An example {\tt AIPS MC} table header is shown in
Appendix~\ref{Appe:MCtable} on page~\pageref{Appe:MCtable}.

The mandatory keywords of the {\tt AIPS MC} table are shown in
Table~27 on the next page.

{\bf FITS-IDI required keywords.}  All FITS-IDI tables are required to
contain the familiar keywords for reference date, observation code,
Stokes values, number of IFs and spectral channels, and frequency
description.

{\bf Number of polarizations.}  The {\tt AIPS MC} table may contain
information for one or two orthogonal polarizations.  The number of
polarizations shall be given by the {\tt NO\_POL} keyword.

{\bf Size of FFT.} The numerical size of the FFT per spectral window
used to convert from time domain to frequency prior to
cross-correlation shall be specified in the {\tt FFT\_SIZE} keyword.

{\bf Oversampling factor and zero padding.} The oversampling and zero
padding ``factors'' are given by the {\tt OVERSAMP} and {\tt
  ZERO\_PAD} keywords; a value of 0 for these implies no oversampling
and no zero padding.

{\bf Weighting function.}  The {\tt TAPER\_FN} keyword shall specify
the tapering function applied to the time domain prior to FFT\@.  Two
values, {\tt 'HANNING'} and {\tt 'UNIFORM'} are recognized.

{\bf Interval between rows in table.} The {\tt DELTAT} keyword will
specify the expected interval between rows in the table in days.  The
data are given for an antenna and one or more sources every {\tt
  DELTAT} days and apply until the next recorded time.

\begin{center}
\underline{\bf{TABLE 27: Mandatory keywords for {\tt AIPS MC} table
    headers}}\\
\begin{tabular}{lcl}
\noalign{\vspace{2pt}} \label{ta:MCkeys}
\underline{{\bf Keyword}} & \underline{\bf{Value type}} &
    \underline{\bf{Value\vphantom{y}}} \\
\noalign{\vspace{2pt}}
{\tt EXTNAME}   & A & {\tt 'AIPS MC'}  \\
{\tt RDATE}     & D & Reference date \\
{\tt OBSCODE}   & A & Observation code \\
{\tt NO\_STKD}  & I & Number of Stokes products (\nstokes) \\
{\tt STK\_1}    & I & First Stokes value \\
{\tt NO\_BAND}  & I & Number of IFs (\nif)\\
{\tt NO\_CHAN}  & I & Number of spectral channels (\nchan) \\
{\tt REF\_FREQ} & E & Reference frequency (Hz) \\
{\tt CHAN\_BW}  & E & Separation of spectral channels (Hz) \\
{\tt REF\_PIXL} & E & Reference spectral channel (pixels) \\
{\tt NO\_POL}   & I & Number of polarizations \\
{\tt FFT\_SIZE} & I & FFT size \\
{\tt OVERSAMP}  & I & Oversampling factor \\
{\tt ZERO\_PAD} & I & Zero padding factor \\
{\tt TAPER\_FN} & 8A & Time smoothing function prior to the FFT \\
{\tt DELTAT}    & E & Time interval in the table (days) \\
{\tt TABREV}    & I & {\tt IM} table format revision (1)
\end{tabular}
\end{center}

Each row contains the various delays and frequency offsets for one
antenna, source, and frequency setup for a limited range of time.
Each row shall contain the columns shown in Table~28 above the
horizontal line.  Columns for the second polarization, listed below
the horizontal line, must also appear but only if the value of the
{\tt NO\_POL} keyword is two.  The columns may be written in any
order.

\begin{center}
\underline{\bf{TABLE 28: Mandatory columns for the {\tt AIPS MC} table}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:MCcols}
\underline{{\bf Title\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\tt TIME}        & {\tt 1D} & days  & Start time of interval \\
{\tt SOURCE\_ID}  & {\tt 1J} &       & Source ID number \\
{\tt ANTENNA\_NO} & {\tt 1J} &       & Antenna number \\
{\tt ARRAY}       & {\tt 1J} &       & Array number \\
{\tt FREQID}      & {\tt 1J} &       & Frequency setup number \\
{\tt ATMOS}       & {\tt 1D} & sec   & Atmospheric delay \\
{\tt DATMOS}      & {\tt 1D} & sec/sec & Time derivative of
                                       atmospheric delay \\
{\tt GDELAY}      & {\tt 1D} & sec   & Group delay \\
{\tt GRATE}       & {\tt 1D} & sec/sec & Rate of change of group delay \\
{\tt CLOCK\_1}    & {\tt 1D} & sec   & ``Clock'' epoch error \\
{\tt DCLOCK\_1}   & {\tt 1D} & sec/sec & Time derivative of clock error \\
{\tt LO\_OFFSET\_1} & {\tt E}(\nif)  & Hz & LO offset \\
{\tt DLO\_OFFSET\_1} & {\tt E}(\nif) & Hz/sec & Time derivative of
                                        LO offset \\
{\tt DISP\_1}     & {\tt 1E} & sec m$^{-2}$ & Dispersive delay \\
{\tt DDISP\_1}    & {\tt 1E} & sec m$^{-2}$/sec & Time derivative of dispersive
                                        delay \\
\hline
{\tt CLOCK\_2}    & {\tt 1D} & sec   & ``Clock'' epoch error \\
{\tt DCLOCK\_2}   & {\tt 1D} & sec/sec & Time derivative of clock error \\
{\tt LO\_OFFSET\_2} & {\tt E}(\nif) & Hz & LO offset \\
{\tt DLO\_OFFSET\_2} & {\tt E}(\nif) & Hz/sec & Time derivative of
                                        LO offset \\
{\tt DISP\_2}     & {\tt 1E} & sec m$^{-2}$ & Dispersive delay \\
{\tt DDISP\_2}    & {\tt 1E} & sec m$^{-2}$/sec & Time derivative of dispersive
                                        delay
\end{tabular}
\end{center}

{\bf Time covered by the row.}  The {\tt TIME} column shall contain
the number of days that have elapsed between 0 hours on the reference
date for the current array and the {\it beginning} of the time period
covered by the current row.

{\bf Source identification number.}  The {\tt SOURCE\_ID} column shall
contain the source identification number of the source to which the
current row applies.  A value of zero in the {\tt SOURCE\_ID} column
shall be understood to apply to all source identification numbers.

{\bf Antenna identification.}  The {\tt ANTENNA\_NO} column shall
contain the antenna identification number and the {\tt ARRAY} column
shall contain the array number of the antenna to which the current row
applies.

{\bf Frequency information.}  The {\tt FREQID} column shall contain
the frequency setup number of the frequency setup to which the current
row applies.

{\bf Atmospheric delay.}  The {\tt ATMOS} and {\tt DATMOS} columns
shall contain the atmospheric group phase delay and rate of change of
that delay, respectively, applied to the data by the correlator
software.

{\bf Group delay.} The {\tt GDELAY} and {\tt GRATE} columns shall
contain the group delay calculated by the {\tt CALC} software and the
rate of change of that delay, respectively, applied to the data by the
correlator software.

{\bf Clock error.}  The {\tt CLOCK\_1} and {\tt DCLOCK\_1} columns
shall contain the electronic, clock-like delay and the rate of change
of that delay, respectively, applied to the data of polarization 1 by
the correlator software.  If the value of the {\tt NO\_POL} keyword is
two, then the {\tt CLOCK\_2} and {\tt DCLOCK\_2} columns shall contain
the electronic, clock-like delay and the rate of change of that delay,
respectively, applied to the data of polarization 2 by the correlator
software.

{\bf LO offset.}  The {\tt LO\_OFFSET\_1} and  {\tt DLO\_OFFSET\_1}
columns shall contain the station-dependent local oscillator offset
and rate of change of that offset, respectively, applied to the data
of polarization 1 by the correlator software.  If the value of the
{\tt NO\_POL} keyword is two, then the {\tt LO\_OFFSET\_2} and  {\tt
  DLO\_OFFSET\_2} columns shall contain the station-dependent local
oscillator offset and rate of change of that offset, respectively,
applied to the data of polarization 2 by the correlator software.

{\bf Dispersive delays.}  The {\tt DISP\_1} and  {\tt DDISP\_1}
columns shall contain the component of the group delay that scales
with the square of the wavelength (\eg\ ionospheric delay) and rate of
change of that delay, respectively, applied to the data of
polarization 1 by the correlator software.  These shall be specified
by giving the delays in seconds per meter squared.  If the value of the
{\tt NO\_POL} keyword is two, then the {\tt DISP\_1} and  {\tt
  DDISP\_1} columns shall contain the component of the group delay
that scales with the square of the wavelength (\eg\ ionospheric delay)
and rate of change of that delay, respectively, applied to the data of
polarization 2 by the correlator software.

\subsection{{\tt AIPS NX} index table}
\label{s:NX}

\AIPS\ tasks prepare and maintain an {\tt AIPS NX} table to reduce the
time it takes to find desired visibilities in a $uv$ data set.  It
changes, at least potentially, every time a data set is copied and so
has little lasting value.  It should however be written from the
on-line system and correlator initially so that the ``scan'' structure
of the observations may be known.  \AIPS\ tasks now create new index
tables using the time breaks given in the input index table, thereby
attempting to maintain that original scan structure.  An example {\tt
  AIPS NX} table header is shown in Appendix~\ref{Appe:NXtable} on
page~\pageref{Appe:NXtable}.

The {\tt AIPS NX} table has no required keywords.

\begin{center}
\underline{\bf{TABLE 29: Mandatory columns for the {\tt AIPS NX} table}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:NXcols}
\underline{{\bf Title\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\tt TIME}          & {\tt 1D} & days & Center time of interval \\
{\tt TIME INTERVAL} & {\tt 1E} & days & Duration of interval \\
{\tt SOURCE ID}     & {\tt 1J} &      & Source number \\
{\tt SUBARRAY}      & {\tt 1J} &      & Subarray \\
{\tt FREQ ID}       & {\tt 1J} &      & Frequency setup ID number \\
{\tt START VIS}     & {\tt 1J} &      & First visibility number \\
{\tt END VIS}       & {\tt 1J} &      & End visibility number
\end{tabular}
\end{center}

{\bf Time.} The time in days since the reference date for the center
of the interval represented by the table row is given in the {\tt
  TIME} column.  The length of that interval is given in the {\tt TIME
  INTERVAL} column.

{\bf Source identification number.} If the file contains observations
of more than one source, then the identification number of the source
being observed shall be given as the value of the {\tt SOURCE ID}
column.  A value $\leq 0$ is taken to apply to all sources.

{\bf Subarray and frequency setup numbers.}  The {\tt SUBARRAY} column
shall contain the number of the subarray  and the {\tt FREQ ID} column
shall contain the frequency setup number to which this table row
applies.

{\bf Visibility record numbers.} The {\tt START VIS} and {\tt END VIS}
column shall the beginning visibility number and ending visibility
number of the data described by the contents of the other columns.
Visibilities are counted in order in the data set from one where a
single visibility record is the equivalent of a random group as
described in Section~\ref{RandomGroup} on page~~\pageref{RandomGroup}.

\subsection{{\tt AIPS OB} spacecraft orbit table}
\label{s:OB}

The {\tt AIPS OB} table is used to describe the elements of a
spacecraft orbit.  Since there are no spacecraft currently providing
data to \AIPS, this is of limited interest although it was used with
the VSOP spacecraft in its day.  It is nonetheless documented here
for completeness.  {\tt CLCOR} uses this table, if present, when
correcting for the relativistic time delay caused by the bending of
light in the Sun's gravitational field and {\tt UVFIX} uses it to
compute projected baselines to the spacecraft.

There are no required keywords in the {\tt AIPS OB} table other than
{\tt TABREV} which currently has the value 1.

\begin{center}
\underline{\bf{TABLE 30: Mandatory columns for the {\tt AIPS OB} table}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:OBcols}
\underline{{\bf Title\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\tt ANTENNA\_NO} & {\tt 1J} &         & Antenna number \\
{\tt SUBARRAY}    & {\tt 1J} &         & Subarray number \\
{\tt TIME}        & {\tt 1D} & days    & Time \\
{\tt ORBXYZ}      & {\tt 3D} & meters  & Spacecraft position $(x,y,z)$ \\
{\tt VELXYZ}      & {\tt 3D} & m/sec   & Spacecraft velocity \\
{\tt SUN\_ANGLE}  & {\tt 3E} & degrees & Sun angle \\
{\tt ECLIPSE}     & {\tt 4E} & days    & Eclipse times \\
{\tt ORIENTATION} & {\tt 1E} & degrees & Orientation
\end{tabular}
\end{center}

{\bf Antenna and subarray numbers.}  The {\tt ANTENNA\_NO} column
shall contain the antenna identification number of the antenna to
which the orbit applies.  The {\tt SUBARRAY} column shall contain the
number of the subarray to which the antenna belongs.

{\bf Time covered by the row.}  The {\tt TIME} column shall contain
the number of days that have elapsed between 0 hours on the reference
date for the current array and the moment in time to which the
parameters in the row apply.

{\bf Antenna location.} The {\tt ORBXYZ} array shall give the
coordinate vector (element 1 is the $x$ coordinate, element 2 is the
$y$ coordinate, and element 3 is the $z$ coordinate) of the antenna
relative to the array center defined in the {\tt AIPS AN} table
header.  The coordinate system used for the antenna coordinates is
indicated by the {\tt FRAME} keyword in the {\tt AIPS AN} table
header.

{\bf Antenna velocity.} The {\tt VELXYZ} array shall give the rate of
change of the coordinate vector of the antenna relative to the array
center defined in the {\tt AIPS AN} table header.

{\bf Angles to the Sun.}  The angle between the direction to the Sun
and to the source being observed in reported in the first of the three
values of the {\tt SUN\_ANGLE} column.

{\bf Eclipse times.}  The time since entering Earth's shadow and the
time since leaving Earth's shadow are reported in the first and second
values of the {\tt ECLIPSE} column in days.

{\bf Orientation.}  The geometric rotation of the orientation of the
linearly polarized feed in degrees is reported in the {\tt
  ORIENTATION} column.  See \AIPS\ task {\tt OBTAB} and Kogan
1997~\cite{K97}.

\subsection{{\tt AIPS OF} on-line flags table}
\label{s:OF}

The {\tt AIPS OF} table contains information about all flags generated
by the on-line system (and correlator), regardless of severity.
Translation programs such as \AIPS' {\tt FILLM} for VLA data and
OBIT's {\tt BDFIn} for EVLA data select among these on-line flags to
generate the initial {\tt AIPS FG} table ((Section~\ref{s:FG} on
page~\pageref{s:FG}).  The on-line flags table allows for detailed
display of the flagging information and for changing the flags that
appear in the {\tt AIPS FG} table which are applied to the data.
This capability has not been widely used, but if the table were to be
enhanced for EVLA use, would be an alternative to the expectation that
an {\tt AIPS FG} table be provided by the on-line system, correlator,
and translation program combination.

\AIPS\ task {\tt FILLM} fills this table for the VLA, while task {\tt
  OFLAG} will apply the online flags to the {\tt AIPS FG} table and
task {\tt PRTOF} will interpret to the printer the contents of the
online flags table.

\begin{center}
\underline{\bf{TABLE 31: Mandatory keywords for {\tt AIPS OF} table
    headers}}\\
\begin{tabular}{lcl}
\noalign{\vspace{2pt}} \label{ta:OFkeys}
\underline{{\bf Keyword}} & \underline{\bf{Value type}} &
    \underline{\bf{Value\vphantom{y}}} \\
\noalign{\vspace{2pt}}
{\tt EXTNAME}   & A & {\tt 'AIPS OF'}  \\
{\tt NO\_IF}    & I & Number of IFs (\nif)\\
{\tt NO\_POL}   & I & Number of polarizations \\
{\tt ANNAME}    & A & Array name \\
{\tt OBSCODE}   & A & Observation code \\
{\tt RDATE}     & D & Reference date \\
{\tt REVISION}  & I & {\tt OF} table format revision (2)
\end{tabular}
\end{center}

{\bf Number of spectral windows.} The value of the {\tt NO\_IF}
keyword shall specify the number of spectral windows (IFs) in the data
set.  In the online flags table, this controls the dimension of the
status columns.

{\bf Number of polarizations.}  The {\tt AIPS OF} table may contain
information for one or two orthogonal polarizations.  The number of
polarizations shall be given by the {\tt NO\_POL} keyword.

{\bf Array name.}  The value of the {\tt ANNAME} keyword shall be a
name for the array that may be used in reports presented to human
readers.  Array names need not be unique and should not require
more than 8 characters.  Note, however, that software will need to use
this to determine the meaning of the flag bit patterns.

{\bf Project code and date.}  The code used to identify the
observation will be indicated by the value of the {\tt OBSCODE}
keyword and the reference date will be indicated by the {\tt RDATE}
keyword.

Each row shall contain the columns shown in Table~32 above the
horizontal line.  Columns for the second polarization, listed below
the horizontal line, must also appear but only if the value of the
{\tt NO\_POL} keyword is two.  The columns may be written in any
order.

\begin{center}
\underline{\bf{TABLE 32: Mandatory columns for the {\tt AIPS OF} table}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:OFcols}
\underline{{\bf Title\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\tt TIME}        & {\tt 1D} & days & Time \\
{\tt SOURCE ID}   & {\tt 1J} &      & Source number \\
{\tt ANTENNA NO.} & {\tt 1J} &      & Antenna number \\
{\tt SUBARRAY}    & {\tt 1J} &      & Subarray number \\
{\tt FREQ ID}     & {\tt 1J} &      & Frequency setup ID number \\
{\tt ANT FLAG}    & {\tt 1J} &      & Antenna-based flag bit pattern \\
{\tt STATUS 1}    & {\tt J}(\nif) & & Status level, polarization 1 \\
\hline
{\tt STATUS 2}    & {\tt J}(\nif) & & Status level, polarization 2
\end{tabular}
\end{center}

{\bf Time covered by the row.}  The {\tt TIME} column shall contain
the number of days that have elapsed between 0 hours on the reference
date for the current array and the moment in time to which the
parameters in the row apply.

{\bf Source identification number.} If the file contains observations
of more than one source, then the identification number of the source
being observed shall be given as the value of the {\tt SOURCE ID}
column.  A value $\leq 0$ is taken to apply to all sources.

{\bf Antenna and subarray numbers.}  The {\tt ANTENNA\_NO} column
shall contain the antenna identification number of the antenna to
which the orbit applies.  The {\tt SUBARRAY} column shall contain the
number of the subarray to which the antenna belongs.

{\bf Frequency setup number.} The {\tt FREQ ID} column shall contain a
positive integer that uniquely identifies the frequency setup to which
the other data in the row apply.

{\bf Antenna flag bit pattern.} The 32-bit integer value contained in
the {\tt ANT FLAG} column represents all possible online flag
conditions, where a 1 in a given position means that that condition
has been raised.  Table~33 shows the interpretation of the bits for
the VLA (not the EVLA).

\begin{center}
\underline{\bf{TABLE 33: Interpretation of the antenna flags for the VLA}}\\
\begin{tabular}{rrl}
\noalign{\vspace{2pt}} \label{ta:OF_VLA}
\underline{{\bf Bit\vphantom{y}}} & \underline{\bf{Value\vphantom{y}}} &
    \underline{\bf{Meaning}} \\
\noalign{\vspace{2pt}}
  1 &     1 & reference pointing requested, but not applied \\
  2 &     2 & antenna shadowed at source change time \\
  3 &     4 & antenna off source \\
  4 &     8 & first LO not locked \\
  5 &    16 & Tsys fluctuating \\
  6 &    32 & antenna flagged bad by operator \\
  7 &    64 & back-end total power out of range \\
  8 &   128 & back-end filters mis-set \\
  9 &   256 & L8 module not locked \\
 10 &   512 & L6 module not locked \\
 11 &  1024 & sub-reflector not in position \\
 12 &  2048 & source change in progress \\
 13 &  4096 & phase switching disabled \\
 14 &  8192 & round-trip phase correction disabled
\end{tabular}
\end{center}

{\bf Summary status.}  The {\tt STATUS 1} column conveys a summary
``score'' of the state of each IF in the first polarization.  If there
are two polarizations ({\tt NO\_POL} has value 2), the {\tt STATUS 2}
column conveys a summary ``score'' of the state of each IF in the
second polarization.  For the VLA a score of 0 means no warning,
scores of 1 through 3 a mild warning, and scores of 4 through 15 an
increasingly severe warning.  In practise, the only scores issued in
recent years were 0 and 4.

\subsection{{\tt AIPS OT} over-the-top table}
\label{s:OT}

The {\tt AIPS OT} table has a single, but significant, purpose.  If
the observation of a source is made ``over the top'' its elevation is
actually $\pi$ minus the elevation that the normal routines which
compute elevation return.  This means different elevations in fitting
elevation effects in {\tt ELINT} and in fitting antenna locations in
{\tt LOCIT}\@.  The latter is particularly important, since the use of
over-the-top observations in baseline fitting gives more reliable
solutions than would be obtained if no over-the-top data were
included.  An example {\tt AIPS OT} table header is shown in
Appendix~\ref{Appe:OTtable} on page~\pageref{Appe:OTtable}.

There are no required keywords in the {\tt AIPS OT} table.
\vfill\eject

\begin{center}
\underline{\bf{TABLE 34: Mandatory columns for the {\tt AIPS OT} table}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:OTcols}
\underline{{\bf Title\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\tt TIME}          & {\tt 1D} & days & Center time of interval \\
{\tt TIME INTERVAL} & {\tt 1E} & days & Duration of interval \\
{\tt SOURCE ID}     & {\tt 1J} &      & Source number \\
{\tt ANTENNA}       & {\tt 1J} &      & Antenna number \\
{\tt OVER TOP}      & {\tt 1L} &      & True if over the top
\end{tabular}
\end{center}

{\bf Time.} The time in days since the reference date for the center
of the interval represented by the table row is given in the {\tt
  TIME} column.  The length of that interval is given in the {\tt TIME
  INTERVAL} column.

{\bf Source identification number.} If the file contains observations
of more than one source, then the identification number of the source
being observed shall be given as the value of the {\tt SOURCE ID}
column.  A value $\leq 0$ is taken to apply to all sources.

{\bf Antenna number.} The {\tt ANTENNA} column shall contain a
positive integer value that uniquely defines the antenna within the
subarray.  This is the antenna identification number that is used in
other tables, including the visibility data. If the same antenna
appears in more than one subarray, it need not have the same station
number in each array.

{\bf Over-the-top flag.} The {\tt OVER TOP} column contains a single
logical value conveying whether the antenna was over the top or not in
the specified interval.

\subsection{{\tt AIPS PC} phase cal table}
\label{s:PC}

Pulse-calibration tones are injected into the VLBA receivers and, in
conjunction with the cable calibration system, can be used to measure
and track instrumental variations in delay and phase between separate
baseband converters. If the pulses are separated by 1 microsecond in
time then the corresponding tones are separated by 1 MHz in frequency.
The measured phases of the tones allow the connection of the phase
across all IFs. The phase difference between two tones in the same
IF allows the instrumental single-band delay for that IF to be
estimated within a $N \times 2 \pi$ ambiguity.  The visibilities of a
single calibrator scan may used to resolve this ambiguity.

\begin{center}
\underline{\bf{TABLE 35: Mandatory keywords for {\tt AIPS PC} table
    headers}}\\
\begin{tabular}{lcl}
\noalign{\vspace{2pt}} \label{ta:PCkeys}
\underline{{\bf Keyword}} & \underline{\bf{Value type}} &
    \underline{\bf{Value\vphantom{y}}} \\
\noalign{\vspace{2pt}}
{\tt EXTNAME}   & A & {\tt 'AIPS PC'}  \\
{\tt NO\_BAND}  & I & Number of IFs (\nif)\\
{\tt NO\_POL}   & I & Number of polarizations \\
{\tt NO\_TONES} & \Hi{I} & Number of pulse cal tones \\
{\tt TABREV}    & I & {\tt PC} table format revision (1)
\end{tabular}
\end{center}

{\bf Number of spectral windows.} The value of the {\tt NO\_BAND}
keyword shall specify the number of spectral windows (IFs) in the data
set.  In the phase cal table, this controls the dimension of the
data columns other than the cable calibration.

{\bf Number of polarizations.}  The {\tt AIPS PC} table may contain
information for one or two orthogonal polarizations.  The number of
polarizations shall be given by the {\tt NO\_POL} keyword.   In the
phase cal table, the value of this keyword controls whether there is
one set of data columns or two.

{\bf Number of tones.} The value of the {\tt NO\_TONES} keyword shall
specify the number of phase-cal tones per IF in the data.  It controls
the dimensions of the frequency, real, imaginary, and rate columns.
\vfill\eject

\begin{center}
\underline{\bf{TABLE 36: Mandatory columns for the {\tt AIPS PC} table}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:PCcols}
\underline{{\bf Title\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\tt TIME}           & {\tt 1D} & days & Central time of interval \\
{\tt TIME\_INTERVAL} & {\tt 1E} & days & Length of interval \\
{\tt SOURCE\_ID}     & {\tt 1J} &      & Source number \\
{\tt ANTENNA\_ NO}   & {\tt 1J} &      & Antenna number \\
{\tt ARRAY}          & {\tt 1J} &      & Subarray number \\
{\tt FREQID}         & {\tt 1J} &      & Frequency setup ID number \\
{\tt CABLE\_CAL}     & {\tt 1D} & seconds & Cable calibration delay \\
{\tt STATE 1}        & {\tt E}(4,\nif) & percent  & digitizer states, polarization 1 \\
{\tt PC\_FREQ\_1}    & {\tt D}(\ntone,\nif) & Hz & phase tone frequencies, polarization 1 \\
{\tt PC\_REAL\_1}    & {\tt E}(\ntone,\nif) & & real part of phase cal, polarization 1 \\
{\tt PC\_IMAG\_1}    & {\tt E}(\ntone,\nif) & & imaginary part of phase cal, polarization 1 \\
{\tt PC\_RATE\_1}    & {\tt E}(\ntone,\nif) & sec/sec & rate of change, polarization 1 \\
\hline
{\tt STATE 2}        & {\tt E}(4,\nif) & percent & digitizer states, polarization 2 \\
{\tt PC\_FREQ\_2}    & {\tt D}(\ntone,\nif) & Hz & phase tone frequencies, polarization 2 \\
{\tt PC\_REAL\_2}    & {\tt E}(\ntone,\nif) & & real part of phase cal, polarization 2 \\
{\tt PC\_IMAG\_2}    & {\tt E}(\ntone,\nif) & & imaginary part of phase cal, polarization 2 \\
{\tt PC\_RATE\_2}    & {\tt E}(\ntone,\nif) & sec/sec & rate of change, polarization 2
\end{tabular}
\end{center}

{\bf Time covered by the row.}  The {\tt TIME} column shall contain
the central time covered by the current row as the number of days
that have elapsed since 0 hours on the reference date in the time
system used for the array.  The {\tt TIME\_INTERVAL} column shall
contain the number of days in the time interval represented by the
row.

{\bf Source identification number.}  The {\tt SOURCE\_ID} column shall
contain the source identification number of the source for which the
data are valid.

{\bf Antenna and subarray numbers.}  The {\tt ANTENNA\_NO} column
shall contain the antenna identification number of the antenna to
which the data apply.  The {\tt ARRAY} column shall contain the
number of the subarray to which the antenna belongs.

{\bf Frequency setup number.}  The {\tt FREQID} column shall contain
the frequency setup number of the frequency setup for which the data
apply.

{\bf Cable calibration.} The {\tt CABLE\_CAL} column shall contain the
measured cable calibration delay in seconds.

{\bf Digitizer state.} The {\tt STATE\_1} column shall contain four
values per IF represent the percentage of time that the digitizer
spent in lowest, medium-low, medium-high, and highest states
respectively for the first polarization.  If the value of the {\tt
  NO\_POL} keyword is two, the {\tt STATE\_2} column will contain
similar values for the second polarization.

{\bf Phase tone frequencies.} The {\tt PC\_FREQ\_1} column shall
contain the phase tone frequencies for each tone and IF in
polarization 1.    If the value of the {\tt NO\_POL} keyword is two,
the {\tt PC\_FREQ\_2} column will contain similar values for the
second polarization.

{\tt Phase calibration measurement.} The {\tt PC\_REAL\_1} column
shall contain the real part of the phase calibration measurement for
each tone and IF in polarization 1.  The {\tt PC\_IMAG\_1} column
shall contain the imaginary part of the phase calibration measurement
for each tone and IF in polarization 1.  The {\tt PC\_RATE\_1} column
shall the rate of change of the phase-cal phase in Hz divided by the
phase-cal frequency for each tone and IF in polarization 1.  If the
value of the {\tt NO\_POL} keyword is two, the {\tt PC\_REAL\_2}, {\tt
  PC\_IMAG\_2}, abd {\tt PC\_RATE\_2} columns will contain similar
values for the second polarization.

\vfill\eject
\subsection{{\tt AIPS PO} position table}
\label{s:PO}

The {\tt AIPS PO} table records the positions of moving sources
(planets and the like) as a function of time.  The source table
(below) allows only one position for each source, making this extra
table useful.  This table is written by {\tt FILLM} from VLA-format
data, but no standard \AIPS\ task makes use of it.  An example {\tt
  AIPS PO} table header is shown in Appendix~\ref{Appe:POtable} on
page~\pageref{Appe:POtable}.

\begin{center}
\underline{\bf{TABLE 37: Mandatory keywords for {\tt AIPS PO} table
    headers}}\\
\begin{tabular}{lcl}
\noalign{\vspace{2pt}} \label{ta:POkeys}
\underline{{\bf Keyword}} & \underline{\bf{Value type}} &
    \underline{\bf{Value\vphantom{y}}} \\
\noalign{\vspace{2pt}}
{\tt EXTNAME}   & A & {\tt 'AIPS PO'}  \\
{\tt RDATE}     & D & Reference date \\
{\tt TABREV}    & I & {\tt PO} table format revision (1)
\end{tabular}
\end{center}

{\bf Reference date.} The value of the {\tt RDATE} parameter will be
the date on which the observations begin and from which time is
measured in this data set.

\begin{center}
\underline{\bf{TABLE 38: Mandatory columns for the {\tt AIPS PO} table}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:POcols}
\underline{{\bf Title\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\tt TIME}            & {\tt 1D} & days & Time \\
{\tt SOURCE\Ex{\_}ID} & {\tt 1J} &      & Source number \\
{\tt SOURCE RA}       & {\tt 1D} & degrees & Source right ascension \\
{\tt SOURCE DEC}      & {\tt 1D} & degrees & Source declination \\
{\tt SOURCE DISTANCE} & {\tt 1D} & au      & Source distance
\end{tabular}
\end{center}

{\bf Time covered by the row.}  The {\tt TIME} column shall contain
the number of days that have elapsed between 0 hours on the reference
date for the current array and the moment in time to which the
parameters in the row apply.

{\bf Source identification number.} If the file contains observations
of more than one source, then the identification number of the source
being observed shall be given as the value of the {\tt SOURCE ID}
column.

{\bf Source position.}  The apparent source position of date is given
in the {\tt SOURCE RA} and {\tt SOURCE DEC} columns in degrees for the
specified time.  The source distance, if known, is given in the {\tt
  SOURCE DISTANCE} column in astronomical units.

\subsection{{\tt AIPS SU} source table}
\label{s:SU}

For observations including more than one source, the {\tt AIPS SU}
table provides information on the names, calibration codes, fluxes,
and coordinates of each source,  The file is used extensively
throughout \AIPS\ \Me{ and is required to be present if a {\tt SOURCE}
random parameter appears in the random-groups data set or a {\tt
SOURCE} column appears in the UV-tables data set.  The file is
normally not present when the {\tt SOURCE} parameter (column) is not
present}.  An example {\tt AIPS SU} table header is shown in
Appendix~\ref{Appe:SUtable} on page~\pageref{Appe:SUtable}.

\begin{center}
\underline{\bf{TABLE 39: Mandatory keywords for {\tt AIPS SU} table
    headers}}\\
\begin{tabular}{lcl}
\noalign{\vspace{2pt}} \label{ta:SUkeys}
\underline{{\bf Keyword}} & \underline{\bf{Value type}} &
    \underline{\bf{Value\vphantom{y}}} \\
\noalign{\vspace{2pt}}
{\tt EXTNAME}   & A & {\tt 'AIPS SU'}  \\
{\tt NO\_IF}    & I & Number of IFs (\nif)\\
{\tt FREQID}    & I & Frequency setup ID number \\
{\tt VELDEF}    & A & {\tt 'RADIO'}, {\tt 'OPTICAL'} \\
{\tt VELTYP}    & A & Velocity coordinate reference
\end{tabular}
\end{center}

{\bf Number of spectral windows.} The value of the {\tt NO\_IF}
keyword shall specify the number of spectral windows (IFs) in the data
set.  In the source table, this controls the dimension of the
flux, frequency offset, and velocity columns.

{\bf Frequency setup number.}  The {\tt FREQID} column shall contain
the frequency setup number of the frequency setup for which the source
table applies.

{\bf Velocity definition.} The {\tt VELDEF} keyword shall specify
whether the velocity definition is radio or optical.  The {\tt VELTYP}
keyword shall specify the frame of reference of the velocities.
Values like {\tt 'GEOVENTR'}, {\tt 'TOPOCENT'}, {\tt 'BARYCENT'},
{\tt 'HELIO'}, and {\tt 'LSR'} have been used.

Two new columns, shown below the line, are hereby proposed.  \AIPS\
will update all {\tt AIPS SU} tables to include these columns and will
by default fill them with the values in {\tt RAEPO} and {\tt
  DECEPO}\@.  \AIPS\ has kept the pointing position and the
phase/delay stopping position separate in single-source and image
headers, but, for some reason, has not provided for the columns to
allow these parameters to differ during the actual correlation.

\begin{center}
\underline{\bf{TABLE 40: Mandatory \Me{and optional} columns for the
    {\tt AIPS SU} table}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:SUcols}
\underline{{\bf Title\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\tt ID. NO.}   & {\tt 1J}      &    & Source number \\
{\tt SOURCE}    & {\tt 16A}     &    & Source name \\
{\tt QUAL}      & {\tt 1J}      &    & Source qualifier number \\
{\tt CALCODE}   & {\tt 4A}      &    & Calibration code \\
{\tt IFLUX}     & {\tt E}(\nif) & Jy & Stokes I flux \\
{\tt QFLUX}     & {\tt E}(\nif) & Jy & Stokes Q flux \\
{\tt UFLUX}     & {\tt E}(\nif) & Jy & Stokes U flux \\
{\tt VFLUX}     & {\tt E}(\nif) & Jy & Stokes V flux \\
{\tt FREQOFF}   & {\tt D}(\nif) & Hz & Frequency offset \\
{\tt BANDWIDTH} & {\tt 1D}      & Hz & Spectral channel separation \\
{\tt RAEPO}     & {\tt 1D} & degrees & Right ascension of equinox \\
{\tt DECEPO}    & {\tt 1D} & degrees & Declination of equinox \\
{\tt EPOCH}     & {\tt 1D} & years   & Equinox \\
{\tt RAAPP}     & {\tt 1D} & degrees & Right ascension of date \\
{\tt DECAPP}    & {\tt 1D} & degrees & Declination of date \\
{\tt LSRVEL}    & {\tt D}(\nif) & m/sec & Velocity \\
{\tt RESTFREQ}  & {\tt D}(\nif) & Hz & Rest frequency \\
{\tt PMRA}      & {\tt 1D} & deg/day & Proper motion in right ascension \\
{\tt PMDEC}     & {\tt 1D} & deg/day & Proper motion in declination \\
\hline
{\tt \Me{RAOBS}}  & {\tt \Me{1D}} & \Me{degrees} & \Me{Pointing right
                                       ascension of equinox} \\
{\tt \Me{DECOBS}} & {\tt \Me{1D}} & \Me{degrees} & \Me{Pointing
                                       declination of equinox}
\end{tabular}
\end{center}

{\bf Source identification.} The source shall be uniquely identified
by its number specified in the {\tt ID. NO.} column and also uniquely
identified by its the combination of its name, numeric qualifier, and
calibration code given in the {\tt SOURCE}, {\tt QUAL}, and {\tt
  CALCODE} columns, respectively.

{\bf Source flux density.} The source flux density, if known, shall be
specified for each IF in each polarization using the {\tt IFLUX}, {\tt
  QFLUX}, {\tt UFLUX}, and {\tt VFLUX} columns.

{\bf Frequencies.} A source- and IF-dependent frequency offset may be
specified in the {\tt FREQOFF} column and the spectral channel
separation is given in the {\tt BANDWIDTH} column.  The former is
important in computing the actual observed frequency of each datum,
the latter is rarely referenced.

{\tt Coordinates.} The source right ascension and declination at the
chosen equinox are given by the contents of the {\tt RAEPO} and {\tt
  DECEPO} columns while the chosen equinox is given by the {\tt EPOCH}
column.  The values of the projected baselines are rotated so that the
images are in coordinates of equinox.  For reference, the right
ascension and declination of date (at the start of the observations)
is also given in the {\tt RAAPP} and {\tt DECAPP} columns,
respectively.  \AIPS' FITS readers do not assume that these columns
are correct and recompute them.  They may be used for position shifts
if the user wishes to shift in coordinates of date.  \Me{The right
ascension and declination at the chosen equinox at which the antennas
pointed are given by the contents of the {\tt RAOBS} and {\tt
  DECOBS} columns.  These columns are new and the values from the {\tt
  RAEPO} and {\tt DECEPO} columns will be used if they are absent.
\label{rev:SU}}

{\tt Velocities.} The velocity of the Local Standard of Rest with
respect to the observer in the direction of the source is given by the
values in the {\tt LSRVEL} column.  The rest frequency of the spectral
line to be used in velocity computations is specified in the {\tt
  RESTFREQ} column.  These are both allowed to be functions of IF\@.

{\tt Proper motion.} The proper motions of the source in right
ascension and declination of equinox, if known, are given in the {\tt
  PMRA} and {\tt PMDEC} columns, respectively.

\subsection{{\tt AIPS SY} SysPower table}
\label{s:SY}

The EVLA correlator delivers power spectra without normalization by
the autocorrelation self powers.  The {\tt AIPS SY} table contains
measurements of the power with the switched noise tubes on and with
them off.  Using these, plus the noise tube temperatures contained in
the {\tt AIPS CD} table (Section~\ref{s:CD} on page~\pageref{s:CD}),
one may determine a gain by which to correct the un-normalized cross
power spectra to produce spectra nearly calibrated in Jy.  The {\tt
  AIPS SY} table also provides estimates of the system temperature,
allowing computation of data weights which are also close to being
calibrated in ${\rm Jy}^{-2}$.  The principles underlying this table
have been described by Perley 2010~\cite{RP10}.  An example {\tt AIPS
  SY} table header is shown in Appendix~\ref{Appe:SYtable} on
page~\pageref{Appe:SYtable}.

\begin{center}
\underline{\bf{TABLE 41: Mandatory keywords for {\tt AIPS SY} table
    headers}}\\
\begin{tabular}{lcl}
\noalign{\vspace{2pt}} \label{ta:SYkeys}
\underline{{\bf Keyword}} & \underline{\bf{Value type}} &
    \underline{\bf{Value\vphantom{y}}} \\
\noalign{\vspace{2pt}}
{\tt EXTNAME}   & A & {\tt 'AIPS SY'}  \\
{\tt NO\_IF}    & I & Number of IFs (\nif)\\
{\tt NO\_POL}   & I & Number of polarizations \\
{\tt NO\_ANT}   & I & Maximum antenna number \\
\Hi{{\tt REVISION}} & \Hi{I} & \Hi{Revision number}
\end{tabular}
\end{center}

{\bf Number of spectral windows.} The value of the {\tt NO\_IF}
keyword shall specify the number of spectral windows (IFs) in the data
set.  In the SysPower table, this controls the dimensions of the
power and gain columns.

{\bf Number of polarizations.}  The {\tt AIPS SY} table may contain
information for one or two orthogonal polarizations.  The number of
polarizations shall be given by the {\tt NO\_POL} keyword.   In the
SysPower table, the value of this keyword controls whether there is
one set of data columns or two.

{\bf Number of antennas.} The value of the {\tt NO\_ANT} keyword shall
specify the maximum antenna number to occur in the {\tt AIPS SY} table.

\Hi{{\bf Revision number.} Currently 1.}
\vfill\eject

\begin{center}
\underline{\bf{TABLE 42: Mandatory \Nx{{\tt and optional}} columns for the {\tt AIPS SY} table}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:SYcols}
\underline{{\bf Title\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\tt TIME}          & {\tt 1D} & days & Central time of interval \\
{\tt TIME INTERVAL} & {\tt 1E} & days & Length of interval \\
{\tt SOURCE ID}     & {\tt 1J} &      & Source number \\
{\tt ANTENNA NO.}   & {\tt 1J} &      & Antenna number \\
{\tt SUBARRAY}      & {\tt 1J} &      & Subarray number \\
{\tt FREQ ID}       & {\tt 1J} &      & Frequency setup ID number \\
{\tt POWER DIF1}    & {\tt E}(\nif) & counts & Scaled power on minus power off, polarization 1\\
{\tt POWER SUM1}    & {\tt E}(\nif) & counts & Scaled power on plus power off, polarization 1 \\
{\tt POST GAIN1}    & {\tt E}(\nif) &  & Gain after power detection, polarization 1 \\
\hline
{\tt POWER DIF2}    & {\tt E}(\nif) & counts & Scaled power on minus power off, polarization 2\\
{\tt POWER SUM2}    & {\tt E}(\nif) & counts & Scaled power on plus power off, polarization 2 \\
{\tt POST GAIN2}    & {\tt E}(\nif) &  & Gain after power detection, polarization 2\\
\hline
\Nx{{\tt CAL TYPE}} & \Nx{{\tt 1J}} &      & \Nx{Noise tube type}
\end{tabular}
\end{center}

{\bf Time covered by the row.}  The {\tt TIME} column shall contain
the central time covered by the current row as the number of days
that have elapsed since 0 hours on the reference date in the time
system used for the array.  The {\tt TIME INTERVAL} column shall
contain the number of days in the time interval represented by the
row.

{\bf Source identification number.}  The {\tt SOURCE ID} column shall
contain the source identification number of the source for which the
data are valid.

\Nx{{\bf Noise tube type.} The {\tt CAL TYPE} column, if present,
specifies whether the normal {\tt TCAL{\it n}} noise tubes values from
the {\tt AIPS CD} table are to be used or whether the {\tt SOLCAL{\it
 n}} values are to be used.  A value of zero states that normal values
are to be used and one that Solar noise tube values are to be used.
The column is optional with default value zero.}

{\bf Antenna and subarray numbers.}  The {\tt ANTENNA NO.} column
shall contain the antenna identification number of the antenna to
which the data apply.  The {\tt SUBARRAY} column shall contain the
number of the subarray to which the antenna belongs.

{\bf Frequency setup number.}  The {\tt FREQ ID} column shall contain
the frequency setup number of the frequency setup for which the data
apply.

{\bf Measured system power.} The {\tt POWER DIF1} and {\tt POWER SUM1}
columns contain the difference and sum, respectively, of the system
power when the switched noise tube is on and when it is off.  They
have been scaled by the gains that follow the detection of the system
powers.  If the value of the {\tt NO\_POL} keyword is two, the {\tt
POWER DIF2} AND {\tt POWER SUM2} columns will contain similar values
for the second polarization. The visibilities are scaled as
\begin{equation}
      P_{int} = P_{corr}
      \sqrt{\frac{N_{cal1}N_{cal2}}{P_{dif1}P_{dif2}}}
\end{equation}
where $N_{cali}$ is the noise tube value for antenna $i$ in the
baseline pair and $P_{difi}$ is the content of the {\tt AIPS SY} table
{\tt POWER DIF}{\it j} column.  The system temperature of an antenna
is given by
\begin{equation}
      T_{sys} =  N_{cal} P_{sum} / P_{dif}.
\end{equation}

{\bf Post detection gain.} The {\tt POST GAIN1} column contains the
values of the gains which follow the measurement of the total power
with the noise tubes on and off.  If the value of the {\tt NO\_POL}
keyword is two, the {\tt POST GAIN2} column contains similar values
for the second polarization.  The gains have been applied to the
values in the {\tt POWER SUM}{\it i} and {\tt POWER DIF}{\it i}
columns and so are used only when displaying the actual on and off
powers.

\subsection{{\tt AIPS TY} system temperature table}
\label{s:TY}

The detected visibilities from most correlators need to be scaled by
the measured system temperatures to obtain visibilities in something
like Jy.  The old VLA correlator delivered visibilities already
normalized by the self power.  The {\tt AIPS TY} table contains
measurements of the system and antenna temperatures as functions of
time, antenna, and IF\@.  In the VLA case, the table was used to
convey the applied gains in the {\tt TSYS} columns and the front-end
or back-end system temperature in the {\tt TANT} columns.  \AIPS\ task
{\tt FILLM} was able to remove or apply the gains to produce the
desired form of the visibilities for the VLA and to estimate data
weights.  \AIPS\ task {\tt ANCAL} is used, primarily for VLBI, to
convert measured system temperatures to antenna gains in the {\tt AIPS
  CL} table.  An example {\tt AIPS TY} table header is shown in
Appendix~\ref{Appe:TYtable} on page~\pageref{Appe:TYtable}.

\begin{center}
\underline{\bf{TABLE 43: Mandatory keywords for {\tt AIPS TY} table
    headers}}\\
\begin{tabular}{lcl}
\noalign{\vspace{2pt}} \label{ta:TYkeys}
\underline{{\bf Keyword}} & \underline{\bf{Value type}} &
    \underline{\bf{Value\vphantom{y}}} \\
\noalign{\vspace{2pt}}
{\tt EXTNAME}   & A & {\tt 'AIPS TY'}  \\
{\tt NO\_IF}    & I & Number of IFs (\nif)\\
{\tt NO\_POL}   & I & Number of polarizations \\
{\tt REVISION}  & I & Table format version number (10)
\end{tabular}
\end{center}

{\bf Number of spectral windows.} The value of the {\tt NO\_IF}
keyword shall specify the number of spectral windows (IFs) in the data
set.  In the SysPower table, this controls the dimensions of the
power and gain columns.

{\bf Number of polarizations.}  The {\tt AIPS TY} table may contain
information for one or two orthogonal polarizations.  The number of
polarizations shall be given by the {\tt NO\_POL} keyword.   In the
SysPower table, the value of this keyword controls whether there is
one set of data columns or two.

\begin{center}
\underline{\bf{TABLE 44: Mandatory columns for the {\tt AIPS TY} table}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:TYcols}
\underline{{\bf Title\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\tt TIME}          & {\tt 1D} & days & Central time of interval \\
{\tt TIME INTERVAL} & {\tt 1E} & days & Length of interval \\
{\tt SOURCE ID}     & {\tt 1J} &      & Source number \\
{\tt ANTENNA NO.}   & {\tt 1J} &      & Antenna number \\
{\tt SUBARRAY}      & {\tt 1J} &      & Subarray number \\
{\tt FREQ ID}       & {\tt 1J} &      & Frequency setup ID number \\
{\tt TSYS 1}        & {\tt E}(\nif) & Kelvin & System temperature, polarization 1\\
{\tt TANT 1}        & {\tt E}(\nif) & Kelvin & Antenna temperature, polarization 1 \\
\hline
{\tt TSYS 2}        & {\tt E}(\nif) & Kelvin & System temperature, polarization 2\\
{\tt TANT 2}        & {\tt E}(\nif) & Kelvin & Antenna temperature, polarization 2
\end{tabular}
\end{center}

{\bf Time covered by the row.}  The {\tt TIME} column shall contain
the central time covered by the current row as the number of days
that have elapsed since 0 hours on the reference date in the time
system used for the array.  The {\tt TIME INTERVAL} column shall
contain the number of days in the time interval represented by the
row.

{\bf Source identification number.}  The {\tt SOURCE ID} column shall
contain the source identification number of the source for which the
data apply.

{\bf Antenna and subarray numbers.}  The {\tt ANTENNA NO.} column
shall contain the antenna identification number of the antenna to
which the data apply.  The {\tt SUBARRAY} column shall contain the
number of the subarray to which the antenna belongs.

{\bf Frequency setup number.}  The {\tt FREQ ID} column shall contain
the frequency setup number of the frequency setup for which the data
apply.

{\bf Measured system temperatures.} The {\tt TSYS 1} and {\tt TANT 1}
columns contain the system and antenna temperatures, respectively,
for polarization1 as a function of IF\@.  If the value of the {\tt
  NO\_POL} keyword is two, the {\tt TSYS 2} and {\tt TANT 2} columns
contain similar values for the second polarization.  For the old VLA,
including the transition time after the ModComps but before Widar,
the {\tt TSYS\ }{\it i} columns contained the gain scaling factor for
visibilities.  Normally, this will have been applied to the data
either by the on-line software or by the \AIPS\ {\tt FILLM}
translation task.

\subsection{{\tt AIPS WX} weather table}
\label{s:WX}

The {\tt AIPS WX} table is used to store the measured weather
parameters at the antennas during the observing run.  These are
primarily used for documentation, but may be used to flag data in
\AIPS\ task {\tt WETHR} which also plots the weather table.  An
example {\tt AIPS WX} table header is shown in
Appendix~\ref{Appe:WXtable} on page~\pageref{Appe:WXtable}.

\begin{center}
\underline{\bf{TABLE 45: Mandatory keywords for {\tt AIPS WX} table
    headers}}\\
\begin{tabular}{lcl}
\noalign{\vspace{2pt}} \label{ta:WXkeys}
\underline{{\bf Keyword}} & \underline{\bf{Value type}} &
    \underline{\bf{Value\vphantom{y}}} \\
\noalign{\vspace{2pt}}
{\tt EXTNAME}   & A & {\tt 'AIPS WX'}  \\
{\tt RDATE}     & D & Reference date\\
{\tt TABREV}    & I & Table format version number (3)
\end{tabular}
\end{center}

{\bf Reference date.} The value of the {\tt RDATE} parameter will be
the date on which the observations begin and from which time is
measured in this data set.

\begin{center}
\underline{\bf{TABLE 46: Mandatory \Nx{and optional} columns for the
    {\tt AIPS WX} table}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:WXcols}
\underline{{\bf Title\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\tt TIME}           & {\tt 1D} & days & Central time of interval \\
{\tt TIME\_INTERVAL} & {\tt 1E} & days & Length of interval \\
{\tt ANTENNA NO.}   & {\tt 1J} &      & Antenna number \\
{\tt SUBARRAY}      & {\tt 1J} &      & Subarray number \\
{\tt TEMPERATURE}   & {\tt 1E} & Centigrade & Surface air temperature \\
{\tt PRESSURE}      & {\tt 1E} & millibar   & Atmospheric surface pressure \\
{\tt DEWPOINT}      & {\tt 1E} & Centigrade & Dew point temperature \\
{\tt WIND\_VELOCITY} & {\tt 1E} & m/sec     & Steady wind velocity \\
{\tt WIND\_DIRECTION} & {\tt 1E} & degrees  & Wind direction \\
\hline
\Nx{\tt WIND\_GUST}  & \Nx{\tt 1E} & \Nx{m/sec} &
                                       \Nx{Wind gust speed} \\
\Nx{\tt PRECIPITATON} & \Nx{\tt 1E} & \Nx{cm} &
                   \Nx{Precipitation since midnight local time} \\
{\tt WVR\_H2O}       & {\tt 1E} & m$^{-2}$  & Water column \\
{\tt IONOS\_ELECTRON} & {\tt 1E} & m$^{-2}$ & Ion column
\end{tabular}
\end{center}

\AIPS\ recognizes several other spellings of these column names but
they will not be shown here.

{\bf Time covered by the row.}  The {\tt TIME} column shall contain
the central time covered by the current row as the number of days
that have elapsed since 0 hours on the reference date in the time
system used for the array.  The {\tt TIME INTERVAL} column shall
contain the number of days in the time interval represented by the
row.

{\bf Antenna and subarray numbers.}  The {\tt ANTENNA NO.} column
shall contain the antenna identification number of the antenna to
which the data apply.  A value of 0 means all antennas in the array,
which is appropriate for the VLA but not VLBI\@.  The {\tt SUBARRAY}
column shall contain the number of the subarray to which the antenna
belongs.

{\bf Surface temperature and pressure.} The surface temperature and
dew point shall be given in the {\tt TEMPERATURE} and {\tt DEWPOINT}
columns, respectively, in degrees Centigrade.  The surface pressure in
millibars will be given in the {\tt PRESSURE} column.

{\bf Wind.} The wind speed and direction shall be given in the {\tt
  WIND\_VELOCITY} and {\tt WIND\_DIRECTION} columns, respectively.
Units are meters per second and degrees measured East from North.
\Nx{The {\tt WIND\_GUST} column may be used to indicate peak wind
  gusts as a function of time in meters per second.}

\Nx{{\bf Precipitation.} The amount of precipitable water accumulated
  since midnight local time may be recorded in the {\tt PRECIPITATION}
  column in cm.}

{\bf Atmospheric column densities.} The column densities of water and
electrons above the telescope \Nx{may} be given, if known, in the {\tt
  WVR\_H2O} and {\tt IONOS\_ELECTRON} columns, respectively.

\section{Tables generated by \AIPS\ for calibration}
\label{s:calibration}

\subsection{{\tt AIPS BD} baseline bandpass table}
\label{s:BD}

The {\tt AIPS BD} file carries spectral-channel dependent, baseline
based corrections.  These corrections will have already been applied
to a data set by the task which determined them ({\tt BLCHN}), but are
retained for examination and plotting. \Hi{The {\tt RUN} file named
{\tt BLPOLCAL} and task {\tt BLPCL} enable this form of correction
for all 4 correlations, while {\tt BLCHN} only acts on the parallel-hand
correlations.  These tasks and form of correction should be viewed as
experimental.  An example {\tt AIPS BD} table header is shown in
Appendix~\ref{Appe:BDtable} on page~\pageref{Appe:BDtable}.}

\begin{center}
\underline{\bf{TABLE 47: Mandatory keywords for {\tt AIPS BD} table
    headers}}\\
\begin{tabular}{lcl}
\noalign{\vspace{2pt}} \label{ta:BDkeys}
\underline{{\bf Keyword}} & \underline{\bf{Value type}} &
    \underline{\bf{Value\vphantom{y}}} \\
\noalign{\vspace{2pt}}
{\tt EXTNAME}   & A & {\tt 'AIPS BD'}  \\
{\tt NO\_IF}    & I & Number of IFs (\nif)\\
{\tt NO\_POL}   & I & Number of polarizations \\
{\tt NO\_CHAN}  & I & Number of spectral channels (\nchan) \\
{\tt NO\_ANT}   & I & Maximum antenna number
\end{tabular}
\end{center}

{\bf Number of spectral windows and channels.} The value of the {\tt
  NO\_IF} keyword shall specify the number of spectral windows (IFs)
in the data set.  The value of the {\tt NO\_CHAN} keyword shall
specify the number of spectral channels in the data set.  In the
baseline bandpass table, the product of these two keyword values
controls the  dimensions of the real and imaginary columns.

{\bf Number of polarizations.}  The {\tt AIPS BD} table may contain
information for one or two \Hi{parallel-hand and two cross-hand}
polarizations.  The number of polarizations shall be given by the {\tt
  NO\_POL} keyword.   In the baseline bandpass table, the value of this
keyword controls whether there is one, \Hi{two, or four sets} of real
and imaginary columns.

{\bf Number of antennas.} The value of the {\tt NO\_ANT} keyword shall
specify the maximum antenna number to occur in the {\tt AIPS BD} table.

Normally, the task will determine a single solution for each baseline
averaged over all times in the data set.  Each row of the table then
contains the corrections for a single specified baseline.

\begin{center}
\underline{\bf{TABLE 48: Mandatory columns for the {\tt AIPS BD} table}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:BDcols}
\underline{{\bf Title\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
\Hi{{\tt TIME RANGE}} & \Hi{{\tt 2E}} & days & Time range of interval \\
{\tt SOURCE ID} & {\tt 1J} &      & Source identification number \\
{\tt SUBARRAY}  & {\tt 1J} &      & Subarray number \\
{\tt FREQ ID}   & {\tt 1J} &      & Frequency setup ID number \\
{\tt ANTENNA1}  & {\tt 1J} &      & First antenna number of baseline \\
{\tt ANTENNA2}  & {\tt 1J} &      & Second antenna number of baseline \\
{\tt REAL 1}    & {\tt E}(\nchan,\nif) & & Real part, polarization 1 \\
{\tt IMAG 1}    & {\tt E}(\nchan,\nif) & & Imaginary part, polarization 1 \\
\hline
{\tt REAL 2}    & {\tt E}(\nchan,\nif) & & Real part, polarization 2 \\
{\tt IMAG 2}    & {\tt E}(\nchan,\nif) & & Imaginary part, polarization 2 \\
\hline
\Hi{{\tt REAL 3}} & \Hi{{\tt E}(\nchan,\nif)} & & \Hi{Real part, polarization 3} \\
\Hi{{\tt IMAG 3}} & \Hi{{\tt E}(\nchan,\nif)} & & \Hi{Imaginary part, polarization 3} \\
\Hi{{\tt REAL 4}} & \Hi{{\tt E}(\nchan,\nif)} & & \Hi{Real part, polarization 4} \\
\Hi{{\tt IMAG 4}} & \Hi{{\tt E}(\nchan,\nif)} & & \Hi{Imaginary part, polarization 4}
\end{tabular}
\end{center}

\Hi{{\bf Time range.}  The {\tt TIME RANGE} column shall contain the
start and stop times of the interval} covered by the current row as the
number of days that have elapsed since 0 hours on the reference date in
the time system used for the array.

{\bf Source identification number.}  The {\tt SOURCE ID} column shall
contain the source identification number of the source for which the
data apply.

{\bf Subarray  and frequency setup numbers.} The {\tt SUBARRAY} column
shall contain the number of the subarray to which the baseline belongs.
The {\tt FREQ ID} column shall contain the frequency setup number of
the frequency setup for which the data apply.

{\bf Baseline.} The baseline is between two antennas whose numbers are
given in the {\tt ANTENNA1} and {\tt ANTENNA2} columns.  Normally, in
\AIPS\ a baseline is considered to be between the lower numbered and
the higher numbered antenna, so the value in the {\tt ANTENNA1} column
is in general less than that in the {\tt ANTENNA2} column.

{\bf Correction factors.}  The real part of the correction for
polarization 1 is given in the {\tt REAL 1} column while the imaginary
part is given in the {\tt IMAG 1} column.  If the value of the {\tt
  NO\_POL} keyword is two or four, the {\tt REAL 2} and {\tt IMAG 2}
columns contain similar values for the second polarization.  \Hi{If the
value of the {\tt NO\_POL} keyword is four, the {\tt REAL 3}, {\tt IMAG
  3}, {\tt REAL 4}, and {\tt IMAG 4} columns contain similar values for
the third and fourth polarization.  The polarizations are ordered as
RR, LL, RL, LR or VV, HH, VH, HV.}  The complex correction in these
columns is divided into the data to correct for closure error.

\subsection{{\tt AIPS BL} baseline correction table}
\label{s:BL}

The {\tt AIPS BL} table is used to correct spectral-channel
independent, IF-dependent gains that are a function of baseline and
not antenna.  In general, these have been found to be independent of
time over moderate intervals, \eg\ a day's observing.  The causes of
this closure failure include band-shape mismatch within the bandwidth
correlated, a problem particularly present in the VLA with its 50 MHz
continuum channel.  The correction is determined by dividing the data,
calibrated as well as possible using closure gains, by as good a model
for the source as may be obtained.  If there is not failure of
closure, the divided result should have value (1,0) at least when
averaged over a significant length of time.  The \AIPS\ task {\tt
  BLCAL} applies the calibration to the data, divides by the model,
and then usually average the result over all times.  The averaged
result is written to the {\tt AIPS BL} table, which may then be
applied by all tasks that apply calibration to data.  An example {\tt
  AIPS BL} table header is shown in Appendix~\ref{Appe:BLtable} on
page~\pageref{Appe:BLtable}.

\vfill\eject
\begin{center}
\underline{\bf{TABLE 49: Mandatory keywords for {\tt AIPS BL} table
    headers}}\\
\begin{tabular}{lcl}
\noalign{\vspace{2pt}} \label{ta:BLkeys}
\underline{{\bf Keyword}} & \underline{\bf{Value type}} &
    \underline{\bf{Value\vphantom{y}}} \\
\noalign{\vspace{2pt}}
{\tt EXTNAME}   & A & {\tt 'AIPS BL'}  \\
{\tt NO\_IF}    & I & Number of IFs (\nif)\\
{\tt NO\_POL}   & I & Number of polarizations \\
{\tt NO\_ANT}   & I & Maximum antenna number
\end{tabular}
\end{center}

{\bf Number of spectral windows.} The value of the {\tt NO\_IF}
keyword shall specify the number of spectral windows (IFs) in the data
set.  In the baseline table, this value controls the dimensions of the
real and imaginary columns.

{\bf Number of polarizations.}  The {\tt AIPS BL} table may contain
information for one or two orthogonal polarizations.  The number of
polarizations shall be given by the {\tt NO\_POL} keyword.   In the
baseline table, the value of this keyword controls whether there is
one set of real and imaginary columns or two.

{\bf Number of antennas.} The value of the {\tt NO\_ANT} keyword shall
specify the maximum antenna number to occur in the {\tt AIPS BL} table.

Normally, the task will determine a single solution for each baseline
averaged over all times in the data set.  Each row of the table then
contains the corrections for a single specified baseline.  The table
was designed to also allow for an additive correction.  In \AIPS, to
date, this is always zero.  The required columns for the {\tt AIPS
  BL} table are shown in Table~50 on the next page.

{\bf Time.}  The {\tt TIME} column shall contain the central time
covered by the current row as the number of days that have elapsed
since 0 hours on the reference date in the time system used for the
array.

{\bf Source identification number.}  The {\tt SOURCE ID} column shall
contain the source identification number of the source for which the
data apply.

{\bf Subarray  and frequency setup numbers.} The {\tt SUBARRAY} column
shall contain the number of the subarray to which the baseline belongs.
The {\tt FREQ ID} column shall contain the frequency setup number of
the frequency setup for which the data apply.

\begin{center}
\underline{\bf{TABLE 50: Mandatory columns for the {\tt AIPS BL} table}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:BLcols}
\underline{{\bf Title\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\tt TIME}      & {\tt 1E} & days & Central time of interval \\
{\tt SOURCE ID} & {\tt 1J} &      & Source identification number \\
{\tt SUBARRAY}  & {\tt 1J} &      & Subarray number \\
{\tt FREQ ID}   & {\tt 1J} &      & Frequency setup ID number \\
{\tt ANTENNA1}  & {\tt 1J} &      & First antenna number of baseline \\
{\tt ANTENNA2}  & {\tt 1J} &      & Second antenna number of baseline \\
{\tt REAL M1}   & {\tt E}(\nif) & & Real part multiplicative, polarization 1 \\
{\tt IMAG M1}   & {\tt E}(\nif) & & Imaginary part multiplicative, polarization 1 \\
{\tt REAL A1}   & {\tt E}(\nif) & & Real part additive, polarization 1 \\
{\tt IMAG A1}   & {\tt E}(\nif) & & Imaginary part additive, polarization 1 \\
\hline
{\tt REAL M2}   & {\tt E}(\nif) & & Real part multiplicative, polarization 2 \\
{\tt IMAG M2}   & {\tt E}(\nif) & & Imaginary part multiplicative, polarization 2 \\
{\tt REAL A2}   & {\tt E}(\nif) & & Real part additive, polarization 2 \\
{\tt IMAG A2}   & {\tt E}(\nif) & & Imaginary part additive, polarization 2
\end{tabular}
\end{center}

{\bf Baseline.} The baseline is between two antennas whose numbers are
given in the {\tt ANTENNA1} and {\tt ANTENNA2} columns.  Normally, in
\AIPS\ a baseline is considered to be between the lower numbered and
the higher numbered antenna, so the value in the {\tt ANTENNA1} column
is in general less than that in the {\tt ANTENNA2} column.

{\bf Multiplicative Correction.}  The real part of the multiplicative
correction for polarization 1 is given in the {\tt REAL M1} column
while the imaginary part is given in the {\tt IMAG M1} column.  If the
value of the {\tt NO\_POL} keyword is two, the {\tt REAL M2} and {\tt
  IMAG M2} columns contain similar values for the second polarization.
The complex correction in these columns is divided into the data to
correct for closure error.

{\bf Additive correction.}  The real part of the additive correction
for polarization 1 is given in the {\tt REAL A1} column while the
imaginary  part is given in the {\tt IMAG A} column.  If the value of
the {\tt NO\_POL} keyword is two, the {\tt REAL A2} and {\tt IMAG A2}
columns contain similar values for the second polarization.  The
complex correction in these columns is subtracted from the data to
correct for closure error.  \AIPS\ calibration application routines
assume that these terms are zero.

\subsection{{\tt AIPS BP} bandpass table}
\label{s:BP}

The {\tt AIPS BP} table is used to correct for spectral-channel
dependent gains which are antenna-dependent, but baseline-independent,
\ie\ satisfying the standard closure relationships.  Traditionally, the
{\tt AIPS BP} tables are normalized in some IF-dependent fashion and
the assumed to vary slowly, if at all, with time.  The more rapid gain
variations are then assumed to be only spectral-window dependent and
are left to the {\tt AIPS CL} table.  The {\tt AIPS BP} table does not
require this tradition, although considerations of signal-to-noise
ratios might.  An example {\tt AIPS BP} table header is shown in
Appendix~\ref{Appe:BPtable} on page~\pageref{Appe:BPtable}.

\begin{center}
\underline{\bf{TABLE 51: Mandatory and useless keywords for {\tt AIPS
      BP} table headers}}\\
\begin{tabular}{lcl}
\noalign{\vspace{2pt}} \label{ta:BPkeys}
\underline{{\bf Keyword}} & \underline{\bf{Value type}} &
    \underline{\bf{Value\vphantom{y}}} \\
\noalign{\vspace{2pt}}
{\tt EXTNAME}     & A & {\tt 'AIPS BP'}  \\
{\tt NO\_IF}      & I & Number of IFs (\nif)\\
{\tt NO\_POL}     & I & Number of polarizations \\
{\tt NO\_CHAN}    & I & Number of values in {\tt BP} (\bpchan) \\
{\tt NO\_ANT}     & I & Maximum antenna number \\
{\tt START\_CHAN} & I & Start channel number of {\tt BP} values \\
{\tt NO\_SHFTS}   & I & Code for source of {\tt BP} values \\
{\tt BP\_TYPE}    & A & {\tt ' '}, {\tt 'CHEBSHEV'} recognized \\
\hline
{\tt LOW\_SHFT}   & E & Most negative shift \\
{\tt SHFT\_INC}   & E & Shift increment
\end{tabular}
\end{center}

{\bf Number of spectral windows and bandpass values.} The value of the
{\tt NO\_IF} keyword shall specify the number of spectral windows
(IFs) in the data set.  The value of the {\tt NO\_CHAN} keyword shall
specify the number of values in the {\tt BP} table.  In the bandpass
table, the product of these two keyword values controls the dimensions
of the real and imaginary columns.  The number of spectral windows
controls the dimensions of the channel shift and weight columns as
well.  The value of the {\tt NO\_CHAN} keyword may be (usually is) the
number of spectral channels in the data set per spectral window.  It
may be smaller and it may represent the number of terms on a Chebyshev
polynomial expansion of the ``normal'' bandpass function.

{\bf Number of polarizations.}  The {\tt AIPS BP} table may contain
information for one or two orthogonal polarizations.  The
number of polarizations shall be given by the {\tt NO\_POL} keyword.
In the baseline bandpass table, the value of this keyword controls
whether there is one set of reference antennas, weights, real, and
imaginary columns or two.

{\bf Number of antennas.} The value of the {\tt NO\_ANT} keyword shall
specify the maximum antenna number to occur in the {\tt AIPS BP} table.

{\bf Starting channel.} The table format allows the storage of a
partial bandpass function beginning at the channel number given by the
value of the {\tt START\_CHAN} keyword and continuing for a total of
the value of the {\tt NO\_CHAN} keyword channels.  The assumption was
that it would be worthwhile to keep only those channels which are
likely to be usable in the bandpass table.  Recommended value is 1
with all channels in the data set represented in the {\tt BP} table.
If channels are to be discarded permanently, do that over the full
data set with a copy function.

{\bf Data used to determine the bandpass.} The value of the {\tt
  NO\_SHFTS} keyword gives the type of data used to compute the
bandpass.  A value of 1 means only cross-power data, 2  means only
total power (autocorrelation) data, and 3 or 0 means both or
unspecified.  The value of the keyword is set by \AIPS, but not used.

{\bf Bandpass type.} The {\tt BP\_TYPE} keyword is used to indicate
the type of bandpass function stored in the {\tt BP} table.  Blank is
taken be a ``normal'' bandpass, \ie\ the full one complex number to be
applied to one visibility.  Any thing else, and {\tt 'CHEBSHEV'} is to
be preferred, implies that the values in the table are the parameters
of a Chebyshev expansion of the normal bandpass function.  \AIPS\ will
still handle that, but has been changed internally, to do the
expansion in the task that does that fitting ({\tt CPASS}) so that
normal plotting and averaging functions may be done on it.

{\bf Shifts.} There was once a concept to store and use various
shifted bandpass functions apparently.  No real documentation or use
of the {\tt LOW\_SHFT} and {\tt SHFT\_INC} keywords can be found.
They are therefore optional.

Each row of the table contains a bandpass solution for one antenna
over a specified time interval.  Other solutions for that antenna, at
other times, may also appear in the table.  Table~52 on the next page
shows the required columns of the {\tt AIPS BP} table.

{\bf Time.}  The {\tt TIME} column shall contain the central time
covered by the current row as the number of days that have elapsed
since 0 hours on the reference date in the time system used for the
array.  The {\tt INTERVAL} shall include the length of time over which
data were averaged to produce the solution given in the row.

{\bf Source identification number.}  The {\tt SOURCE ID} column shall
contain the source identification number of the source for which the
data apply.

{\bf Subarray  and frequency setup numbers.} The {\tt SUBARRAY} column
shall contain the number of the subarray to which the baseline belongs.
The {\tt FREQ ID} column shall contain the frequency setup number of
the frequency setup for which the data apply.

{\bf Antenna.} The {\tt ANTENNA} column will contain the
identification number of the antenna to which the bandpass correction
applies.

{\bf Channel separation.} The channel separation in Hz is given in the
{\tt BANDWIDTH} column.  It is not actually used.

{\bf Channel shifts.} The {\tt CHN\_SHIFT} column was used to record
the shifting of bandpasses required to align the bandpasses for the
VBLA\@.  It was since realized that one has to do that another way,
during bandpass application, and so this column no longer has value.

\begin{center}
\underline{\bf{TABLE 52: Mandatory columns for the {\tt AIPS BP} table}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:BPcols}
\underline{{\bf Title\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\tt TIME}       & {\tt 1D} & days & Central time of interval \\
{\tt INTERVAL}   & {\tt 1E} & days & Length of interval \\
{\tt SOURCE ID}  & {\tt 1J} &      & Source identification number \\
{\tt SUBARRAY}   & {\tt 1J} &      & Subarray number \\
{\tt FREQ ID}    & {\tt 1J} &      & Frequency setup ID number \\
{\tt ANTENNA}    & {\tt 1J} &      & Antenna number \\
{\tt BANDWIDTH}  & {\tt 1E} & Hz   & Spectral channel separation \\
{\tt CHN\_SHIFT} & {\tt D}(\nif) & & VLBA channel shift \\
{\tt REFANT 1}   & {\tt 1J} &      & Reference antenna, polarization 1 \\
{\tt WEIGHT 1}   & {\tt E}(\nif) & & Solution weight, polarization 1 \\
{\tt REAL 1}     & {\tt E}(\nchan,\nif) & & Real part, polarization 1 \\
{\tt IMAG 1}     & {\tt E}(\nchan,\nif) & & Imaginary part, polarization 1 \\
\hline
{\tt REFANT 2}   & {\tt 1J} &      & Reference antenna, polarization 2 \\
{\tt WEIGHT 2}   & {\tt E}(\nif) & & Solution weight, polarization 2 \\
{\tt REAL 2}     & {\tt E}(\nchan,\nif) & & Real part, polarization 2 \\
{\tt IMAG 2}     & {\tt E}(\nchan,\nif) & & Imaginary part, polarization 2
\end{tabular}
\end{center}

\vfill\eject
{\bf Reference antenna.} The {\tt REFANT 1} column shall give the
identification number of the antenna used as a phase reference for
this bandpass solution in polarization 1 for all IFs.  If the value of
the {\tt NO\_POL} keyword is two, the {\tt REFANT 2} column contains a
similar value for the second polarization.

{\bf Weights.} The {\tt WEIGHT 1} column shall give the relative weight
of this bandpass solution in polarization 1 for each IF\@.  If the
value of the {\tt NO\_POL} keyword is two, the {\tt WEIGHT 2} column
contains similar values for the second polarization.

{\bf Correction factors.}  The real part of the correction for
polarization 1 is given in the {\tt REAL 1} column while the imaginary
part is given in the {\tt IMAG 1} column.  If the value of the {\tt
  NO\_POL} keyword is two, the {\tt REAL 2} and {\tt IMAG 2} columns
contain similar values for the second polarization.  For each
baseline, the product of the complex correction of the first antenna
and the complex conjugate of the correction for the second antenna
is divided into the data to correct for the shape of the bandpass and
potentially for overall changes in amplitude and phase.

\subsection{{\tt AIPS BS} baseline fringe solution table}
\label{s:BS}

The {\tt AIPS BS} table is used to store solutions for residual group
delay and phase rate and acceleration performed on a baseline basis.
The values in the table may be converted to antenna-based values and
applied to an {\tt AIPS CL} table.  The tasks in \AIPS\ which perform
these two functions are {\tt BLING} and {\tt BLAPP}\@.  Mk4 VLBI data
files may also contain information which is converted by {\tt MK4IN}
into an {\tt AIPS BS} table.  Because this table does not appear to be
widely used, no example of its header is given.

\begin{center}
\underline{\bf{TABLE 53: Mandatory keywords for {\tt AIPS BS} table
    headers}}\\
\begin{tabular}{lcl}
\noalign{\vspace{2pt}} \label{ta:BSkeys}
\underline{{\bf Keyword}} & \underline{\bf{Value type}} &
    \underline{\bf{Value\vphantom{y}}} \\
\noalign{\vspace{2pt}}
{\tt EXTNAME}  & A & {\tt 'AIPS BS'}  \\
{\tt NO\_IF}   & I & Number of IFs (\nif)\\
{\tt MODE}     & A & Solution mode used to derive table \\
{\tt VERSION}  & I & Table revision number (4)
\end{tabular}
\end{center}

{\bf Number of spectral windows.} The value of the {\tt NO\_IF}
keyword shall specify the number of spectral windows (IFs) in the data
set.  In the baseline table, this value controls the dimensions of the
real and imaginary columns.

{\bf Solution mode.} The value of the {\tt MODE} keyword shall be a
string identifying the parameters for which solutions were obtained.
Recognized values include (1) {\tt 'INDE'} for independent delays in
each IF, (2) {\tt 'VLBA'} for one delay for all IFs, (3) {\tt 'MK3'}
for multi-band and single-band delays, and (4) {\tt 'RATE'} for rates
only.

\vfill\eject
\begin{center}
\underline{\bf{TABLE 54: Mandatory columns for the {\tt AIPS BS} table}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:BScols}
\underline{{\bf Title\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\tt TIME}          & {\tt 1D} & days & Central time of interval \\
{\tt TIME INTERVAL} & {\tt 1E} & days & Length of interval \\
{\tt BASELINE}      & {\tt 2J} &      & Identification numbers of antennas in baseline \\
{\tt SUBARRAY}      & {\tt 1J} &      & Subarray number \\
{\tt STOKES}        & {\tt 1J} &      & Stokes value of data used \\
{\tt SOURCE}        & {\tt 1J} &      & Source identification number \\
{\tt VECTOR AMPLITUDE}      & {\tt E}(\nif) & Jy & Peak amplitude fit \\
{\tt SCALAR AMPLITUDE}      & {\tt E}(\nif) & Jy & Scalar average amplitude \\
{\tt RESIDUAL MB DELAY}     & {\tt 1E}      & seconds & Multi-band delay \\
{\tt MB DELAY ERROR}        & {\tt 1E}      & seconds & Multi-band delay error \\
{\tt MB DELAY AMBIGUITY}    & {\tt 1E}      & seconds & Multi-band delay ambiguity \\
{\tt RESIDUAL SB DELAY}     & {\tt E}(\nif) & seconds & Single-band delay \\
{\tt SB DELAY ERROR}        & {\tt E}(\nif) & seconds & Single band delay error \\
{\tt SB DELAY AMBIGUITY}    & {\tt E}       & seconds & Single-band delay ambiguity \\
{\tt RESIDUAL FRINGE RATE}  & {\tt E}(\nif) & Hz & Single-band fringe rate \\
{\tt FRINGE RATE ERROR}     & {\tt E}(\nif) & Hz & Single-band fringe rate error \\
{\tt FRINGE RATE AMBIGUITY} & {\tt E}       & Hz & Single-band fringe rate ambiguity \\
{\tt RESIDUAL ACCELERATION} & {\tt E}(\nif) & Hz/sec & Rate of change of single-band fringe rate \\
{\tt ACCELERATION ERROR}    & {\tt E}(\nif) & Hz/sec & Uncertainty in rate of change of fringe rate \\
{\tt RESIDUAL PHASE}        & {\tt E}(\nif) & degrees & Fit phase \\
{\tt PHASE ERROR}           & {\tt E}(\nif) & degrees & Uncertainty in fit phase
\end{tabular}
\end{center}

{\bf Time.}  The {\tt TIME} column shall contain the central time
covered by the current row as the number of days that have elapsed
since 0 hours on the reference date in the time system used for the
array.  The {\tt TIME INTERVAL} shall include the length of time over
which data were averaged to produce the solution given in the row.

{\bf Baseline.} The {\tt BASELINE} column shall contain 2 positive
integers per row which are the identification numbers of the two
antennas in the baseline to which the solution data apply.

{\bf Subarray number.} The {\tt SUBARRAY} column shall contain the
number of the subarray to which the baseline belongs.

{\bf Stokes.} The {\tt STOKES} column shall contain the conventional
value for the Stokes parameter of the data used to obtain the
solution.  Polarization values 1 through 4 are used for I, Q, U, and
V, respectively, whilst values -1 through -4 are used for polarization
products RR, LL, RL, and LR, respectively.

{\bf Source identification number.}  The {\tt SOURCE} column shall
contain the source identification number of the source for which the
data apply.

{\bf Amplitudes.} The simple average of the fringe amplitudes in the
data is given in the {\tt SCALAR AMPLITUDE} while the peak amplitude
found in the fringe fit is given in the {\tt VECTOR AMPLITUDE} column.
The ratio of the vector to scalar averages is an indication of the
signal-to-noise in the solution.

{\bf Multi-band delay solutions.} The multi-band residual delay
solution, uncertainty, and possible ambiguity are given in the
{\tt RESIDUAL MB DELAY}, {\tt MB DELAY ERROR}, and {\tt MB DELAY
  AMBIGUITY} columns, respectively.  The ambiguity is one over the
greatest common denominator of the list of IF frequency differences.
If multi-band delays have not been found, these columns will be filled
with IEEE NaNs (not-a-number).

{\bf Single-band delay solutions.} The single-band residual delay
solution, uncertainty, and possible ambiguity are given in the
{\tt RESIDUAL SB DELAY}, {\tt SB DELAY ERROR}, and {\tt SB DELAY
  AMBIGUITY} columns, respectively.  There is a value for each
spectral window.  The ambiguity is one over the channel separation.
If single-band delays have not been found, these columns will be
filled with IEEE NaNs (not-a-number).

{\bf Fringe rate.} The single-band residual fringe rate solution,
uncertainty, and possible ambiguity are given in the {\tt RESIDUAL
FRINGE RATE}, {\tt FRINGE RATE ERROR}, and {\tt FRINGE RATE AMBIGUITY}
columns, respectively.  There is a value for each spectral window.
The ambiguity is one over the time separating data samples.  If fringe
rates have not been found, these columns will be filled with IEEE NaNs
(not-a-number).

{\bf Residual acceleration.}  The rate of change of fringe rate and
its uncertainty are given in the {\tt RESIDUAL ACCELERATION} and {\tt
ACCELERATION ERROR} columns, respectively.  If fringe-rate
accelerations have not been found, these columns will be filled with
IEEE NaNs (not-a-number).

{\bf Residual phase.}  The residual phase and its uncertainty are
given in the {\tt RESIDUAL PHASE} and {\tt PHASE ERROR} columns,
respectively.

\subsection{{\tt AIPS CL} calibration table}
\label{s:CL}

The {\tt AIPS CL} table contains the complex gains to be applied to
the data in a spectroscopic channel-independent, IF-dependent basis as
a function of the time of observation.  {\tt AIPS CL} tables are found
only in multi-source $uv$ data sets.  They contain information about
corrections made during the correlation process and information
developed during the data processing inside \AIPS\@.  The tables are
initially constructed to have a time sample at the beginning and end
of every ``scan'' as well as at regular intervals within each scan.
The definition of scan is left up to the observer who scheduled the
telescope and the interval within the scan is selected by the user of
the program that creates the {\tt CL} table.  All possible sources of
complex gain are eventually entered into this table.  Opacity and
antenna gain elevation dependencies may be entered during the initial
table creation or by later tasks.  Corrections for total power may be
entered from the {\tt AIPS SY} or {\tt AIPS TY} tables.  Calibration
tasks generally write their results in a solution ({\tt AIPS SN})
table which is then interpolated onto the {\tt AIPS CL} table.  {\tt
  CLCOR} modifies the {\tt AIPS CL} table directly.  An example {\tt
  AIPS CL} table header is shown in Appendix~\ref{Appe:CLtable} on
page~\pageref{Appe:CLtable}.

\begin{center}
\underline{\bf{TABLE 55: Mandatory keywords for {\tt AIPS CL} table
    headers}}\\
\begin{tabular}{lcl}
\noalign{\vspace{2pt}} \label{ta:CLkeys}
\underline{{\bf Keyword}} & \underline{\bf{Value type}} &
    \underline{\bf{Value\vphantom{y}}} \\
\noalign{\vspace{2pt}}
{\tt EXTNAME}  & A & {\tt 'AIPS CL'}  \\
{\tt NO\_IF}   & I & Number of IFs (\nif)\\
{\tt NO\_POL}  & I & Number of polarizations \\
{\tt NO\_ANT}  & I & Maximum antenna number \\
{\tt NO\_TERM} & I & Number terms in geometric delay polynomial \\
{\tt MGMOD}    & E & Overall scale factor to apply \\
{\tt REVISION} & I & Table format revision number (10)
\end{tabular}
\end{center}

{\bf Number of spectral windows.} The value of the {\tt NO\_IF}
keyword shall specify the number of spectral windows (IFs) in the data
set.  In the baseline table, this value controls the dimensions of the
real and imaginary columns.

{\bf Number of polarizations.}  The {\tt AIPS CL} table may contain
information for one or two orthogonal polarizations.  The number of
polarizations shall be given by the {\tt NO\_POL} keyword.   In the
calibration table, the value of this keyword controls whether there is
one set of calibration columns or two.

{\bf Number of antennas.} The value of the {\tt NO\_ANT} keyword shall
specify the maximum antenna number to occur in the {\tt AIPS CL} table.

{\bf Model polynomial.} The value of the {\tt NO\_TERM} keyword shall
specify the number of terms in the model polynomial for geometric
delay.

{\bf Overall gain factor.} The value of the {\tt MGMOD} keyword shall
specify a factor which must be applied to all visibility amplitudes in
addition to the complex gains specified in the table rows.  This is a
quick way to adjust the overall scale, but is independent of spectral
window.

\vfill\eject
\begin{center}
\underline{\bf{TABLE 56: Mandatory columns for the {\tt AIPS CL} table}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:CLcols}
\underline{{\bf Title\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\tt TIME}          & {\tt 1D} & days & Central time of interval \\
{\tt TIME INTERVAL} & {\tt 1E} & days & Central time of interval \\
{\tt SOURCE ID}     & {\tt 1J} &      & Source identification number \\
{\tt ANTENNA}       & {\tt 1J} &      & Antenna number \\
{\tt SUBARRAY}      & {\tt 1J} &      & Subarray number \\
{\tt FREQ ID}       & {\tt 1J} &      & Frequency setup ID number \\
{\tt I.FAR.ROT}     & {\tt 1E} & radians m$^{-2}$ & Ionospheric Faraday rotation \\
{\tt GEODELAY}      & {\tt D}(\npoly) & seconds & Geometric delay polynomial \\
{\tt DOPOFF}        & {\tt E}(\nif)   & Hz & Correction to observing frequency \\
{\tt ATMOS}         & {\tt 1E} & seconds & Atmospheric delay \\
{\tt DATMOS}        & {\tt 1E} & sec/sec & Rate of change of atmospheric delay \\
{\tt MBDELAY1}      & {\tt 1E} & seconds & Multi-band delay, polarization 1 \\
{\tt CLOCK 1}       & {\tt 1E} & seconds & Clock error, polarization 1 \\
{\tt DCLOCK 1}      & {\tt 1E} & sec/sec & rate of change of clock error, polarization 1 \\
{\tt DISP 1}        & {\tt 1E} & sec m$^{-2}$ & Dispersive delay, polarization 1 \\
{\tt DDISP 1}       & {\tt 1E} & s/s m$^{-2}$ & Rate of change of dispersive delay, polarization 1 \\
{\tt REAL1}         & {\tt E}(\nif) & & Real part of complex gain correction, polarization 1 \\
{\tt IMAG1}         & {\tt E}(\nif) & & Imaginary part of complex gain correction, polarization 1 \\
{\tt RATE 1}        & {\tt E}(\nif) & sec/sec & Single-band rate correction, polarization 1 \\
{\tt DELAY 1}       & {\tt E}(\nif) & seconds & Single-band delay correction, polarization 1 \\
{\tt WEIGHT 1}      & {\tt E}(\nif) & & Solution weight, polarization 1 \\
{\tt REFANT 1}      & {\tt J}(\nif) & & Reference antenna, polarization 1 \\
\hline
{\tt MBDELAY2}      & {\tt 1E} & seconds & Multi-band delay, polarization 2 \\
{\tt CLOCK 2}       & {\tt 1E} & seconds & Clock error, polarization 2 \\
{\tt DCLOCK 2}      & {\tt 1E} & sec/sec & rate of change of clock error, polarization 2 \\
{\tt DISP 2}        & {\tt 1E} & sec m$^{-2}$ & Dispersive delay, polarization 2 \\
{\tt DDISP 2}       & {\tt 1E} & s/s m$^{-2}$ & Rate of change of dispersive delay, polarization 2 \\
{\tt REAL2}         & {\tt E}(\nif) & & Real part of complex gain correction, polarization 2 \\
{\tt IMAG2}         & {\tt E}(\nif) & & Imaginary part of complex gain correction, polarization 2 \\
{\tt RATE 2}        & {\tt E}(\nif) & sec/sec & Single-band rate correction, polarization 2 \\
{\tt DELAY 2}       & {\tt E}(\nif) & seconds & Single-band delay correction, polarization 2 \\
{\tt WEIGHT 2}      & {\tt E}(\nif) & & Solution weight, polarization 2 \\
{\tt REFANT 2}      & {\tt J}(\nif) & & Reference antenna, polarization 2
\end{tabular}
\end{center}

When the {\tt AIPS CL} table is applied to uncalibrated visibilities,
the values in the {\tt REAL}{\it i}, {\tt IMAG}{\it i}, {\tt DELAY\
}{\it i}, and {\tt RATE\ }{\it i} columns are used.  The ionospheric
Faraday rotation correction is applied to the phases of the cross-hand
data scaled by the wavelength squared and the dispersion is applied to
all phases as the wavelength times the difference in dispersions of
the two antennas.  Other columns containing corrections (atmosphere,
clock, multi-band delay) are ignored.  It is assumed that any complex
gain, delay, and rate corrections due to these factors have either
already been applied to the data or have been applied to the gain,
delay, and rate values in the table.

{\bf Time.}  The {\tt TIME} column shall contain the central time
covered by the current row as the number of days that have elapsed
since 0 hours on the reference date in the time system used for the
array.  The {\tt TIME INTERVAL} column shall contain the length of
time to which this row applies.  Calibrations are normally
interpolated between values of the {\tt TIME} column rather than being
taken as step functions over the interval.

{\bf Source identification number.}  The {\tt SOURCE ID} column shall
contain the source identification number of the source for which the
data apply.

{\bf Antenna.} The identification number of the antenna for which the
row applies is given by the value in the {\tt ANTENNA} column.  All
calibrations in the {\tt AIPS CL} table are antenna based.

{\bf Subarray  and frequency setup numbers.} The {\tt SUBARRAY} column
shall contain the number of the subarray to which the baseline belongs.
The {\tt FREQ ID} column shall contain the frequency setup number of
the frequency setup for which the data apply.

{\bf Ionospheric Faraday rotation.} Corrections to be made to the
visibilities for ionospheric Faraday rotation are given in the {\tt
  I.FAR.ROT} column.  They are applied to the phases of the cross-hand
polarizations.  Corrections applied to the visibilities by the
correlator are ignored in creating {\tt AIPS CL} table 1.

{\bf Geometric delay.} The geometric delay model used by the
correlator is given as \npoly\ (the value of the {\tt NO\_TERM}
keyword) values of a polynomial expansion in time (from the value
given in the {\tt TIME} column) in the {\tt GEODELY} column.

{\bf Doppler offset.} The {\tt DOPOFF} column conveys \nif\ values
giving the actual observed frequency minus the time-independent
frequency for each IF.  The time-independent frequencies are described
for each IF and frequency setup number in the {\tt AIPS FQ} table
(Section~\ref{s:FQ} on page~\pageref{s:FQ}) plus the frequency offsets
described for each source in the {\tt AIPS SU} (Section~\ref{s:SU}
on page~\pageref{s:SU}) table plus the reference frequency given in
the $uv$-data header.

{\bf Atmospheric delay.} Any atmospheric delay correction entered by
the correlator into the initial visibilities plus any entered into the
complex gain, delay, and rate of the {\tt CL} table by \AIPS\ is given
in the {\tt ATMOS} column.  The rate of change of this correction is
given in the {\tt DATMOS} column.

{\bf Multi-band delays.} The multi-band delay is a residual delay
common to all IFs.  Any such delay applied to the visibilities or the
single-band delays of polarization 1 shall be recorded in the {\tt
MBDELAY1} column.  If the value of the {\tt NO\_POL} keyword is two,
the {\tt MBDELAY2} column shall contain similar values for the second
polarization.  Note that there is assumption that the multi-band delay
shall have already been applied to the data or shall have been added
to the single-band delays of every IF\@.

{\bf Clock errors.} Any clock error correction entered by the
correlator into the initial visibilities of polarization 1 plus any
entered into the complex gain, delay, and rate of the {\tt CL} table
by \AIPS\ is given in the {\tt CLOCK 1} column.  The rate of change of
this correction is given in the {\tt DCLOCK 1} column.  If the value
of the {\tt NO\_POL} keyword is two, the {\tt CLOCK 2} and {\tt DCLOCK
  2} columns contain similar values for the second polarization.

{\bf Dispersive delays.}  Any corrections to polarization 1 for
dispersive delays to be made to the data are entered into the {\tt
  DISP 1} column.  The rate of change of this correction is given in
the {\tt DDISP 1} column.  If the value of the {\tt NO\_POL} keyword
is two, the {\tt DISP 2} and {\tt DDISP 2} columns contain similar
values for the second polarization.  \AIPS\ corrects the data for the
values in these columns, so any values applied by the correlator are
discarded in creating {\tt AIPS CL} table 1.

{\bf Complex gains.} The complex gain correction of polarization 1 is
given in the {\tt REAL1} and {\tt IMAG1} columns for the real and
imaginary parts, respectively.  If the value of the {\tt NO\_POL}
keyword is two, the {\tt REAL2} and {\tt IMAG2} columns contain
similar values for the second polarization.  The product of the
complex gain of antenna $i$ with the conjugate of the complex gain of
antenna $j$ is divided into the uncalibrated visibility from baseline
$ij$ to produce the calibrated visibility.  Failed solutions will
appear as IEEE NaNs (not-a-number) in the FITS file.

{\bf Delays.} The data of polarization 1 are also to be corrected for
residual delay error given in the {\tt DELAY 1} column and rate of
change of the residual delay error given in the {\tt RATE 1} column.
If the value of the {\tt NO\_POL} keyword is two, the {\tt DELAY 2}
and {\tt RATE 2} columns contain similar values for the second
polarization.  Failed solutions will appear as IEEE NaNs
(not-a-number) in the FITS file.

{\bf Solution weights.} The relative reliability of the solutions for
complex gain of polarization 1 are indicated by the values contained
in the {\tt WEGHT 1} column, with values $\leq 0$ indicating failure.
If the value of the {\tt NO\_POL} keyword is two, the {\tt WEIGHT 2}
column contains similar values for the second polarization.

{\bf Reference antenna(s).} The index number of the phase reference
antenna(s) used for the complex gains of polarization 1 are indicated
by the values contained in the {\tt REFANT 1} column.  If the value of
the {\tt NO\_POL} keyword is two, the {\tt REFANT 2} column contains
similar values for the second polarization.

\subsection{{\tt AIPS CP} source polarization spectrum table}
\label{s:CP}

The {\tt AIPS CP} table is used to save the polarization spectrum fit
to polarization calibration sources by {\tt PCAL}\@.  It may be
displayed by {\tt POSSM}\@.  An example {\tt AIPS CP} table header is
shown in Appendix~\ref{Appe:CPtable} on page~\pageref{Appe:CPtable}.

\begin{center}
\underline{\bf{TABLE 57: Mandatory keywords for {\tt AIPS CP} table
    headers}}\\
\begin{tabular}{lcl}
\noalign{\vspace{2pt}} \label{ta:CPkeys}
\underline{{\bf Keyword}} & \underline{\bf{Value type}} &
    \underline{\bf{Value\vphantom{y}}} \\
\noalign{\vspace{2pt}}
{\tt EXTNAME}  & A & {\tt 'AIPS CP'}  \\
{\tt NO\_IF}   & I & Number of IFs (\nif)\\
{\tt NO\_CHAN} & I & Number of spectral channels (\nchan) \\
{\tt FREQID}   & I & Frequency setup number
\end{tabular}
\end{center}

{\bf Number of spectral windows and spectral channels.} The value of
the {\tt NO\_IF} keyword shall specify the number of spectral windows
(IFs) in the data set.  The value of the {\tt NO\_CHAN} keyword shall
specify the number of spectral channels in the data set.  In the
polarization spectrum table, the product of these two keyword values
controls the dimensions of the flux columns.

{\bf Frequency setup number.}  The {\tt FREQID} column shall contain
the frequency setup number of the frequency setup for which the
source polarization table applies.

\begin{center}
\underline{\bf{TABLE 58: Mandatory columns for the {\tt AIPS CP} table}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:CPcols}
\underline{{\bf Title\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\tt SOURCE}    & {\tt 16A} &    & Source name \\
{\tt SOURCE ID} & {\tt 1J}  &    & Source identification number \\
{\tt I}         & {\tt E}(\nchan,\nif) & Jy & Source flux, I polarization \\
{\tt Q}         & {\tt E}(\nchan,\nif) & Jy & Source flux, Q polarization \\
{\tt U}         & {\tt E}(\nchan,\nif) & Jy & Source flux, U polarization \\
{\tt V}         & {\tt E}(\nchan,\nif) & Jy & Source flux, V polarization
\end{tabular}
\end{center}

{\bf Source.}  The source alphabetic name is given in the {\tt SOURCE}
column and the identification number used for that source is given in
the {\tt SOURCE ID} column.

{\bf Stokes polarization fluxes.} The spectrum of the source fluxes is
given in the {\tt I}, {\tt Q}, {\tt U}, and {\tt V} columns for Stokes
values I, Q, U, and V, respectively.

\subsection{{\tt AIPS GP} GPS table}
\label{s:GP}

The {\tt AIPS GP} table contains the total electron content (TEC) data
from a GPS satellite as a function of time.  The contents have been
corrected for receiver and satellite delay offsets.  For antennas
situated near the GPS receiver, corrections for the ionospheric
Faraday rotation and delay may be made.  The \AIPS\ tasks are {\tt
  LDGPS} to load an ASCII GPS file into an {\tt AIPS GP} table and
{\tt APGPS} to apply it.  {\tt APGPS} changes the Faraday rotation and
dispersive delay parameters in the {\tt AIPS CL} table.  These are
then applied whenever the data are calibrated.
p
\begin{center}
\underline{\bf{TABLE 59: Mandatory keywords for {\tt AIPS GP} table
    headers}}\\
\begin{tabular}{lcl}
\noalign{\vspace{2pt}} \label{ta:GPkeys}
\underline{{\bf Keyword}} & \underline{\bf{Value type}} &
    \underline{\bf{Value\vphantom{y}}} \\
\noalign{\vspace{2pt}}
{\tt EXTNAME} & A & {\tt 'AIPS GP'}  \\
{\tt RECVR}   & A & Rceiver name \\
{\tt RLONG}   & E & Receiver longitude (degrees) \\
{\tt RLAT}    & E & Receiver latitude (degrees) \\
{\tt RHEIGHT} & E & Receiver elevation (meters) \\
{\tt VERSION} & I & Table version number (1)
\end{tabular}
\end{center}

{\bf GPS receiver station.} The receiver station name, longitude,
latitude, and height above MSL are specified in the {\tt RECVR}, {\tt
  RLONG}, {\tt RLAT}< and {\tt RHEIGHT} keywords, respectively.

\begin{center}
\underline{\bf{TABLE 60: Mandatory columns for the {\tt AIPS GP} table}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:GPcols}
\underline{{\bf Title\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\tt TIME}           & {\tt 1D} & days & Central time of interval \\
{\tt PRN}            & {\tt 1J} &      & Satellite ID number \\
{\tt AZIMUTH}        & {\tt 1E} & degrees & Satellite azimuth \\
{\tt ELEVATION}      & {\tt 1E} & degrees & Satellite elevation \\
{\tt TEC FROM DELAY} & {\tt 1E} & m$^{-2}$ & Total electron content from delay \\
{\tt TEC FROM PHASE} & {\tt 1E} & m$^{-2}$ &  Total electron content from phase
\end{tabular}
\end{center}

{\bf Time.}  The {\tt TIME} column shall contain the central time
covered by the current row as the number of days that have elapsed
since 0 hours on the reference date in the time system used for the
array.

{\bf Satellite.} The satellite identification number (``PRN'') and its
azimuth and elevation from the receiver station are recorded in the
{\tt PRN}, {\tt AZIMUTH}, and {\tt ELEVATION} columns, respectively.

{\bf Total electron content.} The total electron content in electrons
per meter$^2$ deduced from GPS delay and phase measurements are
reported in the {\tt TEC FROM DELAY} and {\tt TEC FROM PHASE} columns,
respectively.

\subsection{{\tt AIPS PD} polarization D-term spectrum table}
\label{s:PD}

The {\tt AIPS PD} table is used the store the polarization ``D-terms''
as a function of spectral channel and spectral window as found by
\AIPS\ task {\tt PCAL}\@.  The calibration routines apply the {\tt
  AIPS PD} table to the data if the user requests polarization
calibration.  If an {\tt AIPS PD} table is not present, then
spectral-channel independent D-terms are found in the {\tt AIPS AN}
table.  An example {\tt AIPS PD} table header is shown in
Appendix~\ref{Appe:PDtable} on page~\pageref{Appe:PDtable}.

\begin{center}
\underline{\bf{TABLE 61: Mandatory keywords for {\tt AIPS PD} table
    headers}}\\
\begin{tabular}{lcl}
\noalign{\vspace{2pt}} \label{ta:PDkeys}
\underline{{\bf Keyword}} & \underline{\bf{Value type}} &
    \underline{\bf{Value\vphantom{y}}} \\
\noalign{\vspace{2pt}}
{\tt EXTNAME}   & A & {\tt 'AIPS PD'}  \\
{\tt NO\_IF}    & I & Number of IFs (\nif)\\
{\tt NO\_POL}   & I & Number of polarizations \\
{\tt NO\_CHAN}  & I & Number of spectral channels (\nchan) \\
{\tt NO\_ANT}   & I & Maximum antenna number \\
{\tt POLTYPE}   & A & Type of solution
\end{tabular}
\end{center}

{\bf Number of spectral windows and channels.} The value of the {\tt
  NO\_IF} keyword shall specify the number of spectral windows (IFs)
in the data set.  The value of the {\tt NO\_CHAN} keyword shall
specify the number of spectral channels in the data set.  In the
polarization correction bandpass table, the product of these two
keyword values controls the dimensions of the real and imaginary
columns.

{\bf Number of polarizations.}  The {\tt AIPS PD} table may contain
information for one or two orthogonal polarizations.  The number of
polarizations shall be given by the {\tt NO\_POL} keyword.   In the
polarization correction bandpass table, the value of this keyword
controls whether there is one set of real and imaginary columns or
two.

{\bf Number of antennas.} The value of the {\tt NO\_ANT} keyword shall
specify the maximum antenna number to occur in the {\tt AIPS PD} table.

{\bf Polarization parametrization.} If the table contains information
about the polarization characteristics of the feeds, then the feed
parametrization that is used shall be indicated by the value of the
{\tt POLTYPE} keyword, as given in Table~9
page~\pageref{ta:ANpoltypes}.

\begin{center}
\underline{\bf{TABLE 62: Mandatory columns for the {\tt AIPS PD} table}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:PDcols}
\underline{{\bf Title\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\tt ANTENNA}  & {\tt 1J} &      & Antenna number \\
{\tt SUBARRAY} & {\tt 1J} &      & Subarray number \\
{\tt FREQ ID}  & {\tt 1J} &      & Frequency setup ID number \\
{\tt REFANT}   & {\tt 1J} &      & Antenna number of reference antenna \\
{\tt P\_DIFF}  & {\tt E}(\nchan,\nif) & & R-L phase difference in {\tt   'ORI-ELP'} \\
{\tt REAL 1}   & {\tt E}(\nchan,\nif) & & D-term real part polarization 1 \\
{\tt IMAG 1}   & {\tt E}(\nchan,\nif) & & D-term imaginary part polarization 1 \\
\hline
{\tt REAL 2}   & {\tt E}(\nchan,\nif) & & D-term real part polarization 2 \\
{\tt IMAG 2}   & {\tt E}(\nchan,\nif) & & D-term imaginary part polarization 2
\end{tabular}
\end{center}

{\bf Antenna.} The identification number of the antenna for which the
row applies is given by the value in the {\tt ANTENNA} column.  All
calibrations in the {\tt AIPS PD} table are antenna based.

{\bf Subarray  and frequency setup numbers.} The {\tt SUBARRAY} column
shall contain the number of the subarray to which the baseline belongs.
The {\tt FREQ ID} column shall contain the frequency setup number of
the frequency setup for which the data apply.

{\bf Reference antenna.} One antenna is taken to be unpolarized in the
right-hand polarization.  That antenna is recorded in the {\tt REFANT}
column.

{\bf Phase difference.} A right minus left phase difference is fit
in the {\tt 'ORI=ELP'} polarization model.  Its values are recorded in
the {\tt P\_DIFF} column.

{\bf D-term fit.} The complex D-term fit by the particular
polarization parametrization for polarization 1 is stored in the {\tt
  REAL 1} and {\tt IMAG 1} columns for the real and imaginary parts,
respectively.  If the value of the keyword {\tt NO\_POL} is 2 and it
really has to be to solve for polarization, the {\tt REAL 2} and {\tt
  IMAG 2} columns contain the D-terms for the second polarization.

\excol
\subsection{\Ex{{\tt AIPS PP} polarization phase difference spectrum table}}
\label{s:PP}

The {\tt AIPS PP} table is used the store the correction in phase
produced by {\tt RLDIF} and {\tt VHDIF}\@.  The values are to be added
to the second polarization in the bandpass ({\tt BP}) table and also the
antenna D-term ({\tt PD}) and source polarization ({\tt CP}) spectrum
tables.  This addition may be done by {\tt RLDIF} and {\tt VHDIF}, but
may be deferred for later or for use on a different data set.  Task
{\tt PPAPP} may be used to apply the correction and {\tt POSSM} may be
used to plot the {\tt PP} spectrum.  An example {\tt AIPS PP} table
header is shown in Appendix~\ref{Appe:PPtable} on
page~\pageref{Appe:PPtable}.

\begin{center}
\underline{\bf{TABLE 63: Mandatory keywords for {\tt AIPS PP} table
    headers}}\\
\begin{tabular}{lcl}
\noalign{\vspace{2pt}} \label{ta:PPkeys}
\underline{{\bf Keyword}} & \underline{\bf{Value type}} &
    \underline{\bf{Value\vphantom{y}}} \\
\noalign{\vspace{2pt}}
{\tt EXTNAME}   & A & {\tt 'AIPS PP'}  \\
{\tt NO\_IF}    & I & Number of IFs (\nif)\\
{\tt NO\_CHAN}  & I & Number of spectral channels (\nchan) \\
{\tt BIF}       & \Hi{I} & Beginning IF in {\tt RLDIF/VHDIF} \\
{\tt BCHAN}     & \Hi{I} & Beginning spectral channel in {\tt
                           RLDIF/VHDIF} \\
\Hi{{\tt PP POL}} & \Hi{I} & \Hi{Polarization code}
\end{tabular}
\end{center}

{\bf Number of spectral windows and channels.} The value of the {\tt
  NO\_IF} keyword shall specify the number of spectral windows (IFs)
in the {\tt PP} data.  The value of the {\tt NO\_CHAN} keyword shall
specify the number of spectral channels in those data.  In the
polarization phase correction bandpass table, the product of these two
keyword values controls the dimensions of the real and imaginary
columns.

{\bf Initial spectral channel.}  The {\tt AIPS PP} table may not contain
data for all spectral windows and spectral channels.  Keyword {\tt BIF}
specifies the initial spectra window and keyword {\tt BCHAN} specifies
the initial spectral channel in each spectral window for the data
contained in the table.

\Hi{{\bf Polarization code.} The {\tt PP POL} keyword contains an
  integer indicating the data polarization producing the {\tt PP}
  table.  A value of 1 indicates circular polarization, 2 indicates
  linear polarization, and any other value means unknown.}

\begin{center}
\underline{\bf{TABLE 64: Mandatory columns for the {\tt AIPS PP} table}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:PPcols}
\underline{{\bf Title\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\tt \Hi{TIME}} & {\tt \Hi{1E}} & \Hi{days} & \Hi{Time} \\
{\tt SUBARRAY} & {\tt 1J} &      & Subarray number \\
{\tt FREQ ID}  & {\tt 1J} &      & Frequency setup ID number \\
{\tt PHASE DIFF} & {\tt E}(\nchan,\nif) & degrees & R-L (V-H) phase difference\\
{\tt \Hi{PHASE RMS}} & \Hi{{\tt E}(\nchan,\nif)} & \Hi{degrees} & \Hi{R-L phase uncertainty}
\end{tabular}
\end{center}

\Hi{{\bf Time.} The {\tt TIME} column gives the central time of the data
average producing listed phase differences.  A time of zero represents
the average over all solutions and normally appears in the first row of
the table.}

{\bf Subarray and frequency setup numbers.} The {\tt SUBARRAY} column
shall contain the number of the subarray to which the baseline belongs.
The {\tt FREQ ID} column shall contain the frequency setup number of
the frequency setup for which the data apply.

{\bf Phase difference.} A right minus left \Hi{or vertical minus
  horizontal} phase difference correction is stored in degrees in the
{\tt PHASE DIFF} column.

\Hi{{\bf Phase rms.} The computed uncertainty in the phase difference is
  stored in degrees in the {\tt PHASE RMS} column.}
\hblack

\subsection{{\tt AIPS SN} solution table}
\label{s:SN}

The {\tt AIPS SN} table is used to store the results of calibration
fits to data.  The complex gains, delays, and rates are stored at
times present in the, possibly time averaged, calibration
observations.  These irregularly spaced data are then smoothed,
edited, and interpolated to the times in the {\tt AIPS CL} table by
\AIPS\ task {\tt CLCAL}\@.  For single-source files, the {\tt AIPS SN}
data are interpolated to the times of the data being calibrated and
applied.  An example {\tt AIPS SN} table header is shown in
Appendix~\ref{Appe:SNtable} on page~\pageref{Appe:SNtable}.

\begin{center}
\underline{\bf{TABLE 65: Mandatory keywords for {\tt AIPS SN} table
    headers}}\\
\begin{tabular}{lcl}
\noalign{\vspace{2pt}} \label{ta:SNkeys}
\underline{{\bf Keyword}} & \underline{\bf{Value type}} &
    \underline{\bf{Value\vphantom{y}}} \\
\noalign{\vspace{2pt}}
{\tt EXTNAME}   & A & {\tt 'AIPS SN'}  \\
{\tt NO\_IF}    & I & Number of IFs (\nif)\\
{\tt NO\_POL}   & I & Number of polarizations \\
{\tt NO\_ANT}   & I & Maximum antenna number \\
{\tt MGMOD}     & E & Overall scale factor to apply \\
{\tt APPLIED}   & L & Has table been applied to a {\tt CL} table \\
{\tt REVISION}  & I & Table format revision number (10) \\
{\tt NO\_NODES} & I & Number RA and Dec interpolation nodes ($\leq 25$) \\
{\tt RA\_OFF}$i$  & E & RA offset interpolation node, $i=1,${\tt NO\_NODES} \\
{\tt DEC\_OFF}$i$ & E & Dec offset interpolation node, $i=1,${\tt NO\_NODES}
\end{tabular}
\end{center}

{\bf Number of spectral windows.} The value of the {\tt NO\_IF}
keyword shall specify the number of spectral windows (IFs) in the data
set.  In the baseline table, this value controls the dimensions of the
real and imaginary columns.

{\bf Number of polarizations.}  The {\tt AIPS SN} table may contain
information for one or two orthogonal polarizations.  The number of
polarizations shall be given by the {\tt NO\_POL} keyword.   In the
calibration table, the value of this keyword controls whether there is
one set of calibration columns or two.

{\bf Number of antennas.} The value of the {\tt NO\_ANT} keyword shall
specify the maximum antenna number to occur in the {\tt AIPS SN} table.

{\bf Overall gain factor.} The value of the {\tt MGMOD} keyword shall
specify a factor which must be applied to all visibility amplitudes in
addition to the complex gains specified in the table rows.  This is a
quick way to adjust the overall scale, but is independent of spectral
window.

{\bf Table application. } If an {\tt AIPS SN} table has been applied
to an {\tt AIPS CL} the value of the {\tt APPLIED} keyword shall be
true.  Otherwise it will be false.  The table may be applied more than
once, but only with great care, and never applied to a table to which
it has already been applied.

{\bf Interpolation nodes.} The number of interpolation nodes shall be
specified by the value of the keyword {\tt NO\_NODES}\@.  If this
value is greater than 0, additional keywords shall be present and have
values of the right ascension and declination offsets (in degrees) for
each node.  \AIPS\ seems always to use zero nodes, making it hard to
determine the actual purpose of this function.

\begin{center}
\underline{\bf{TABLE 66: Mandatory columns for the {\tt AIPS SN} table}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:SNcols}
\underline{{\bf Title\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\tt TIME}          & {\tt 1D} & days & Central time of interval \\
{\tt TIME INTERVAL} & {\tt 1E} & days & Central time of interval \\
{\tt SOURCE ID}     & {\tt 1J} &      & Source identification number \\
{\tt ANTENNA NO.}   & {\tt 1J} &      & Antenna number \\
{\tt SUBARRAY}      & {\tt 1J} &      & Subarray number \\
{\tt FREQ ID}       & {\tt 1J} &      & Frequency setup ID number \\
{\tt I.FAR.ROT}     & {\tt 1E} & radians m$^{-2}$ & Ionospheric Faraday rotation \\
{\tt NODE NO.}      & {\tt 1J} &      & Interpolation node number \\
{\tt MBDELAY1}      & {\tt 1E} & seconds & Multi-band delay, polarization 1 \\
\Nx{{\tt DISP 1}}   & \Nx{{\tt 1E}} & \Nx{sec m$^{-2}$} & \Nx{Dispersive delay, polarization 1} \\
\Nx{{\tt DDISP 1}}  & \Nx{{\tt 1E}} & \Nx{s/s m$^{-2}$} & \Nx{Rate of change of dispersive delay, polarization 1} \\
{\tt REAL1}         & {\tt E}(\nif) & & Real part of complex gain correction, polarization 1 \\
{\tt IMAG1}         & {\tt E}(\nif) & & Imaginary part of complex gain correction, polarization 1 \\
{\tt DELAY 1}       & {\tt E}(\nif) & seconds & Single-band delay correction, polarization 1 \\
{\tt RATE 1}        & {\tt E}(\nif) & sec/sec & Single-band rate correction, polarization 1 \\
{\tt WEIGHT 1}      & {\tt E}(\nif) & & Solution weight, polarization 1 \\
{\tt REFANT 1}      & {\tt J}(\nif) & & Reference antenna, polarization 1 \\
\hline
{\tt MBDELAY2}      & {\tt 1E} & seconds & Multi-band delay, polarization 2 \\
\Nx{{\tt DISP 2}}   & \Nx{{\tt 1E}} & \Nx{sec m$^{-2}$} & \Nx{Dispersive delay, polarization 2} \\
\Nx{{\tt DDISP 2}}  & \Nx{{\tt 1E}} & \Nx{s/s m$^{-2}$} & \Nx{Rate of change of dispersive delay, polarization 2} \\
{\tt REAL2}         & {\tt E}(\nif) & & Real part of complex gain correction, polarization 2 \\
{\tt IMAG2}         & {\tt E}(\nif) & & Imaginary part of complex gain correction, polarization 2 \\
{\tt RATE 2}        & {\tt E}(\nif) & sec/sec & Single-band rate correction, polarization 2 \\
{\tt DELAY 2}       & {\tt E}(\nif) & seconds & Single-band delay correction, polarization 2 \\
{\tt WEIGHT 2}      & {\tt E}(\nif) & & Solution weight, polarization 2 \\
{\tt REFANT 2}      & {\tt J}(\nif) & & Reference antenna, polarization 2
\end{tabular}
\end{center}

When the {\tt AIPS SN} table is applied to uncalibrated visibilities,
the values in the {\tt REAL}{\it i}, {\tt IMAG}{\it i}, {\tt DELAY\
}{\it i}, and {\tt RATE\ }{\it i} columns are used.  The ionospheric
Faraday rotation correction is applied to the phases of the cross-hand
data.  The {\tt AIPS SN} table does not contain dispersion columns.
Other columns containing corrections (multi-band delay) are ignored.
It is assumed that any complex gain, delay, and rate corrections due
to the multi-band delays have either already been applied to the data
or have been applied to the gain, delay, and rate values in the table.

{\bf Time.}  The {\tt TIME} column shall contain the central time
covered by the current row as the number of days that have elapsed
since 0 hours on the reference date in the time system used for the
array.  The {\tt TIME INTERVAL} column shall contain the length of
time to which this row applies.  Calibrations are normally
interpolated between values of the {\tt TIME} column rather than being
taken as step functions over the interval.

{\bf Source identification number.}  The {\tt SOURCE ID} column shall
contain the source identification number of the source for which the
data apply.

{\bf Antenna.} The identification number of the antenna for which the
row applies is given by the value in the {\tt ANTENNA} column.  All
calibrations in the {\tt AIPS CL} table are antenna based.

{\bf Subarray  and frequency setup numbers.} The {\tt SUBARRAY} column
shall contain the number of the subarray to which the baseline belongs.
The {\tt FREQ ID} column shall contain the frequency setup number of
the frequency setup for which the data apply.

{\bf Ionospheric Faraday rotation.} Corrections to be made to the
visibilities are given in the {\tt I.FAR.ROT} column.  They are
applied to the phases of the cross-hand polarizations.  {\tt CLCAL}
does not currently update this column in the {\tt AIPS CL} from the
values in the {\tt AIPS SN} table.

{\bf Interpolation node number.}  If multiple interpolation nodes are
used, the value of the node used to obtain the gains in the row shall
be contained in the {\tt NODE NO.} column.

{\bf Multi-band delays.} The multi-band delay is a residual delay
common to all IFs.  Any such delay applied to the visibilities or the
single-band delays of polarization 1 shall be recorded in the {\tt
MBDELAY1} column.  If the value of the {\tt NO\_POL} keyword is two,
the {\tt MBDELAY2} column shall contain similar values for the second
polarization.  Note that there is assumption that the multi-band delay
shall have already been applied to the data or shall have been added
to the single-band delays of every IF\@.  {\tt CLCAL} currects the
multi-band delays for rates and then adds the {\tt AIPS SN} table
interpolated values to the comparable columns in the {\tt AIPS CL}
table.

\Nx{{\bf Dispersive delays.}  Any corrections to polarization 1 for
dispersive delays to be made to the data are entered into the {\tt
  DISP 1} column.  The rate of change of this correction is given in
the {\tt DDISP 1} column.  If the value of the {\tt NO\_POL} keyword
is two, the {\tt DISP 2} and {\tt DDISP 2} columns contain similar
values for the second polarization.}

{\bf Complex gains.} The complex gain correction of polarization 1 is
given in the {\tt REAL1} and {\tt IMAG1} columns for the real and
imaginary parts, respectively.  If the value of the {\tt NO\_POL}
keyword is two, the {\tt REAL2} and {\tt IMAG2} columns contain
similar values for the second polarization.  The product of the
complex gain of antenna $i$ with the conjugate of the complex gain of
antenna $j$ is divided into the uncalibrated visibility from baseline
$ij$ to produce the calibrated visibility.  Failed solutions will
appear as IEEE NaNs (not-a-number) in the FITS file.

{\bf Delays.} The data of polarization 1 are also to be corrected for
residual delay error given in the {\tt DELAY 1} column and rate of
change of the residual delay error given in the {\tt RATE 1} column.
If the value of the {\tt NO\_POL} keyword is two, the {\tt DELAY 2}
and {\tt RATE 2} columns contain similar values for the second
polarization.  Failed solutions will appear as IEEE NaNs
(not-a-number) in the FITS file.

{\bf Solution weights.} The relative reliability of the solutions for
complex gain of polarization 1 are indicated by the values contained
in the {\tt WEIGHT 1} column, with values $\leq 0$ indicating failure.
If the value of the {\tt NO\_POL} keyword is two, the {\tt WEIGHT 2}
column contains similar values for the second polarization.

{\bf Reference antenna(s).} The index number of the phase reference
antenna(s) used for the complex gains of polarization 1 are indicated
by the values contained in the {\tt REFANT 1} column.  If the value of
the {\tt NO\_POL} keyword is two, the {\tt REFANT 2} column contains
similar values for the second polarization.

\hicol
\subsection{\Hi{{\tt AIPS TE} Total electron content table}}
\label{s:TE}

The {\tt AIPS TE} table is used the store all of the parameters that
enter into the computation of ionospheric Faraday rotation in task
{\tt TECOR}\@.  The coordinates of the source (as seen by the antenna),
the coordinates of the ionospheric pierce point, the Earth's magnetic
field components in the direction of the source, total electron content
on the vertical and the direction of the source, and the computed
ionospheric Faraday rotation are given.  The table has no intended use
other than to be displayed by task {\tt TEPLT} to confirm the output of
{\tt TECOR}\@.  An example {\tt AIPS TE} table header is shown in
Appendix~\ref{Appe:TEtable} on page~\pageref{Appe:TEtable}.

\begin{center}
\underline{\bf{TABLE 67: Mandatory keywords for {\tt AIPS TE} table
    headers}}\\
\begin{tabular}{lcl}
\noalign{\vspace{2pt}} \label{ta:TEkeys}
\underline{{\bf Keyword}} & \underline{\bf{Value type}} &
    \underline{\bf{Value\vphantom{y}}} \\
\noalign{\vspace{2pt}}
{\tt EXTNAME}   & A & {\tt 'AIPS TE'}  \\
{\tt RDATE}     & D & Reference date\\
{\tt TECRTYPE}  & A & Data source
\end{tabular}
\end{center}

{\bf Reference date.} The value of the {\tt RDATE} parameter will be
the date on which the observations begin and from which time is
measured in this data set.

{\bf Data source.} The source of the IONEX data used by {\tt TECOR}.
Various sources are possible, such as {\tt jplg}, {\tt codg}, {\tt
  emrg}, {\tt esag}, and many others.

\begin{center}
\underline{\bf{TABLE 68: Mandatory columns for the {\tt AIPS TE} table}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:TEcols}
\underline{{\bf Title\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\tt TIME}     & {\tt 1D} & days & Time \\
{\tt SOURCE}   & {\tt 1J} &      & Source number \\
{\tt ANTENNA}  & {\tt 1J} &      & Antenna number \\
{\tt HOUR ANGLE}   & {\tt 1E} & degrees & Source hour angle \\
{\tt AZIMUTH}      & {\tt 1E} & degrees & Source azimuth \\
{\tt ZENITH ANGLE} & {\tt 1E} & degrees & Source zenith angle \\
{\tt AZION}        & {\tt 1E} & degrees & Pierce point azimuth \\
{\tt ZAION}        & {\tt 1E} & degrees & Pierce point zenith angle \\
{\tt DLON}         & {\tt 1E} & degrees & Pierce point offset in longitude \\
{\tt DLAT}         & {\tt 1E} & degrees & Pierce point offset in latitude \\
{\tt BFIELD}       & {\tt 3E} & Gauss   & Earth magnetic field, radial,
                                          East, North \\
{\tt TEPATH}       & {\tt 1E} & $10^{16}$ m$^{-2}$ & Total electron
                                          content to source \\
{\tt PROJECTED B}  & {\tt 1E} & Gauss   & Projected magnetic field \\
{\tt TOTAL TEC}    & {\tt 1E} & $10^{16}$ m$^{-2}$ & Total electron
                                         content vertical \\
{\tt IFR}          & {\tt 1E} & radians m$^{-2}$ & Ionospheric Faraday
                                         rotation \\
{\tt DISP DELAY}   & {\tt 2E} & seconds m$^{-2}$ & Dispersive delay
\end{tabular}
\end{center}

{\bf Time.}  The {\tt TIME} column shall contain the central time
covered by the current row as the number of days that have elapsed
since 0 hours on the reference date in the time system used for the
array.

{\bf Source identification number.}  The {\tt SOURCE} column shall
contain the source identification number of the source for which the
data apply.

{\bf Antenna.} The identification number of the antenna for which the
row applies is given by the value in the {\tt ANTENNA} column.  All
calibrations in the {\tt AIPS CL} table are antenna based.

{\bf Hour angle, azimuth, zenith angle.} The coordinates of the source
as seen by the antenna are specified in degrees.

{\bf Ionospheric azimuth, zenith angle, coordinate offsets.}  The
coordinates of the pierce point in the ionosphere relevant to the
current time, antenna, and source are computed in {\tt TECOR} and
written in the appropriate columns in degrees.

{\bf Earth magnetic field.} The three components of the Earth's magnetic
field in the direction of the source are given in Gauss.  Positive
values are in the direction of the source, to the East, and to the
North.

{\bf Total electron content toward source.} The TEC toward the source is
computed from the vertical TEC with $TEC / \cos(zaion)$.

{\bf Projected B field.} The projected B field is computed from the B
  field and pierce point coordinates with $M = - (B_1 * \cos(zaion) +
  B_2 * \sin(zaion) * \sin(azion) + B_3 * \sin(zaion) * cos(azion))$.

{\bf Total electron content.} The Total electron content in the vertical
direction at the pierce point is found from the data files provided for
the date by the {\tt cddis.nasa.gov} facility.

{\bf Ionospheric Faraday rotation.} The IFR used by {\tt PCAL} and in
providing the final polarization-calibrated data value is computed by
{\tt TECOR} using $IFR = 2.6 10^-17 * M * TEC / \cos(aion)$.

{\bf Dispersive delay.} The dispersive delay is used in calibrating
visibility phase as $c \lambda$ times the difference in dispersive
delay; this is proportional to wavelength while ordinary delay
corrections are proportional to frequency.  The dispersive delay from
{\tt TECOR} is the same for both polarizations and is given by
$delay = 40.28 * TEC / \cos(aion) / c^3$.

\hblack
\vfill\eject

\section{Tables generated by \AIPS\ for imaging}
\label{s:image}

\subsection{{\tt AIPS CC} Clean components table}
\label{s:CC}

The {\tt AIPS CC} table is used to list the components of a source
model.  The model may consist of point sources, Gaussians, convolved
Gaussians, and uniform optically-thin spheres.  There is no
requirement that all components in an {\tt AIPS CC} file be of the
same type or dimension.  However, the gridded modeling routines cannot
handle {\tt AIPS CC} files of mixed type or even of mixed model
component dimensions.  Source models are produced during imaging with
deconvolution (\AIPS\ task {\tt IMAGR}) and by modeling tasks such as
{\tt JMFIT}, {\tt SAD}, {\tt FACES}, and others.  They are used to
compare models with data in self-calibration (\AIPS\ task {\tt CALIB})
and numerous other calibration tasks.  \AIPS\ will accept and use {\tt
AIPS CC} tables attached to $uv$ data files as well as to images.  An
example {\tt AIPS CC} table header is shown in
Appendix~\ref{Appe:CCtable} on page~\pageref{Appe:CCtable}.

The {\tt AIPS CC} table has no required keywords.  The table has
either 3 \Hi{or 4} columns, meaning all components are point sources, or
7 \Hi{or 8} columns allowing for extended components.

\begin{center}
\underline{\bf{TABLE 67: Mandatory \Hi{and optional} columns for the
    {\tt AIPS CC} table}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:CCcols}
\underline{{\bf Title\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\tt FLUX}     & {\tt 1E} & Jy      & Component total flux \\
{\tt DELTAX}   & {\tt 1E} & degrees & $X$ separation \\
{\tt DELTAY}   & {\tt 1E} & degrees & $Y$ separation \\
\hline
\Hi{{\tt DELTAZ}} & \Hi{{\tt 1E}} & \Hi{degrees} & \Hi{$Z$ separation} \\
{\tt MAJOR AX} & {\tt 1E} & degrees & Component major axis \\
{\tt MINOR AX} & {\tt 1E} & degrees & Component minor axis \\
{\tt POSANGLE} & {\tt 1E} & degrees & Component position angle \\
{\tt TYPE OBJ} & \Hi{{\tt 1E}} &         & Component type code
\end{tabular}
\end{center}

{\bf Component flux.}  The total flux density of the model component
is given in Jy in the {\tt FLUX} column.  It may be of either sign.

{\bf Component position.} The position of the source relative to the
reference position in degrees is given in the {\tt DELTAX} and {\tt
  DELTAY} columns for the $x$ and $y$ offset, respectively.  In the
absence of rotation, the offset is given by \Nx{$X - X_0$ in $x$ and
$Y-Y_0$ in $y$ where the component is found at pixel $(X,Y)$ in the
image and the reference pixel is $(X_0,Y_0)$\@.  These may be related
to the celestial coordinates $(\alpha,\delta)$ through the non-linear
projection coordinates appropriate to the image (usually the {\tt
-SIN} projection).}  If there is rotation, the offsets are in the
rotated coordinates.

\Hi{The above coordinates are in the frame of the particular facet
  image.  When the {\tt DELTAZ} column is present, the three offsets
  represent the 3-vector which is multiplied by the $(u,v,w)$ vector
  of the uv data set to give the model phase.  In other words, the
  $(x,y)$ in the facet plane has been rotated to the frame of the
  central facet uv data which causes a $z$ term.  Multiple facet {\tt
    CC} files are converted to a single ``3D'' {\tt CC} file by task
  {\tt MOD3D}.  These {\tt CC} models are only suitable for DFT model
  computation in \AIPS.}

{\bf Component dimension.} The component major axis, minor axis, and
position angle in degrees are specified by the {\tt MAJOR AX}, {\tt
  MINOR AX}, and {\tt POSANGLE} columns, respectively.  For Gaussians,
the widths are full width at half maximum.  For spheres, the widths
are diameters.  The position angle is measured counter-clockwise from
up (north in the absence of rotation).

{\bf Component type.} The component type is point if there are fewer
than 7 columns in the table and is given be the {\tt TYPE OBJ} column
otherwise.  A value of 0 means point, 1, Gaussian, 2, convolved
Gaussian, and 3 uniform optically-thin sphere.  Gridded modeling
routines can handle models of type 0 and 1 if all components in a
given {\tt AIPS CC} table are the same size.  DFT modeling routines
handle types 0, 1, and 3 with mixed sizes within a given table.

\subsection{{\tt AIPS CG} Clean Gaussian parameters table}
\label{s:CG}

In spectral-line imaging, every image plane in the output cube must be
scaled so that its units are Jy/beam using the ``beam'' in the header.
However, there is no reason not to use the fits to the dirty beam in
each channel as the restoring beam for that channel.  Indeed, this is
the only way to insure that the Clean component model and the
residuals are on approximately the same units.  The {\tt AIPS CG}
table is used to record the actual restoring beam as a function of
channel for the data cube.  It is used to let model fitting routines
use the correct restoring beam for each channel and to provide the
convolution task {\tt CONVL} with the information needed to make each
spectral channel the same resolution.  An example {\tt AIPS CG} table
header is shown in Appendix~\ref{Appe:CGtable} on
page~\pageref{Appe:CGtable}.

\begin{center}
\underline{\bf{TABLE 68: Mandatory keywords for {\tt AIPS CG} table
    headers}}\\
\begin{tabular}{lcl}
\noalign{\vspace{2pt}} \label{ta:CGkeys}
\underline{{\bf Keyword}} & \underline{\bf{Value type}} &
    \underline{\bf{Value\vphantom{y}}} \\
\noalign{\vspace{2pt}}
{\tt EXTNAME}   & A & {\tt 'AIPS CG'}  \\
{\tt TABREV}    & I & Table format version number (1)
\end{tabular}
\end{center}

\begin{center}
\underline{\bf{TABLE 69: Mandatory columns for the {\tt AIPS CG} table}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:CGcols}
\underline{{\bf Title\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\tt FREQUENCY} & {\tt 1D} & Hz      & Channel frequency \\
{\tt BMAJ}      & {\tt 1E} & degrees & Restoring beam FWHM major axis \\
{\tt BMIN}      & {\tt 1E} & degrees & Restoring beam FWHM minor axis \\
{\tt BPA}       & {\tt 1E} & degrees & Restoring beam position angle
\end{tabular}
\end{center}

{\bf Channel frequency.} The frequency of the spectral channel to
which the other parameters in the row apply is given in the {\tt
  FREQUENCY} column in Hz.

{\bf Restoring beam.} The full width at half maximum of the Gaussian
restoring beam is specified in the {\tt BMAJ}, {\tt BMIN}, and {\tt
  BPA} columns.  These give the major axis, minor axis, and position
angle of the major axis (East from North), respectively, in degrees.

\subsection{{\tt AIPS MF} model-fit table}
\label{s:MF}

The {\tt AIPS MF} table is used to store the results, uncertainties,
and numerous other parameters used and found by Gaussian-fitting
tasks, especially {\tt SAD}\@.  An example {\tt AIPS MF} table header
is shown in Appendix~\ref{Appe:MFtable} on
page~\pageref{Appe:MFtable}.

\begin{center}
\underline{\bf{TABLE 70: Mandatory keywords for {\tt AIPS MF} table
    headers}}\\
\begin{tabular}{lcl}
\noalign{\vspace{2pt}} \label{ta:MFkeys}
\underline{{\bf Keyword}} & \underline{\bf{Value type}} &
    \underline{\bf{Value\vphantom{y}}} \\
\noalign{\vspace{2pt}}
{\tt EXTNAME}  & A & {\tt 'AIPS MF'}  \\
{\tt REVISION} & I & Table format version number (4) \\
{\tt DEPTH1}   & I & Pixel location on 3rd axis of fit plane \\
{\tt DEPTH2}   & I & Pixel location on 4th axis of fit plane \\
{\tt DEPTH3}   & I & Pixel location on 5th axis of fit plane \\
{\tt DEPTH4}   & I & Pixel location on 6th axis of fit plane \\
{\tt DEPTH5}   & I & Pixel location on 7th axis of fit plane \\
{\tt REALRMS}  & I & RMS of image (ignoring signal regions)
\end{tabular}
\end{center}

{\bf Image plane of fit.} The plane selected from axes 3 through 7 of
the image is given by the values of the {\tt DEPTH1} through {\tt
  DEPTH5} keywords, respectively.

{\bf Image uncertainty.} The ``real'' (robust, ignoring true signal
regions) rms of the image is given by the value of the {\tt REALRMS}
keyword.

Each row of the table shall contain the fit parameters and other
information for a single point or Gaussian model component.  The units
shown in Table~69 are those of a ``standard'' interferometric image
having brightness units of Jy/beam and celestial coordinates for the
first two axes.  In fact, the units in the table shall match the image
planes for which the components are fit.  The peak values shall be in
the brightness units given in the header and the total values will
also be in those units unless they are recognizable as {\tt 'JY/'} or
{\tt 'MAG/'} in which case they become Jy and mag, respectively.  The
$X$ and $Y$ coordinate values will match those of the $X$ and $Y$
axes, which allows them to be velocity, frequency, or others as well
as the standard celestial axes.

\begin{center}
\underline{\bf{TABLE 71: Mandatory columns for the {\tt AIPS MF} table}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:MFcols}
\underline{{\bf Title\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\tt PLANE}    & {\tt 1E} &         & Plane in image cube \\
{\tt PEAK INT} & {\tt 1E} & Jy/beam & Fit peak brightness \\
{\tt I FLUX}   & {\tt 1E} & Jy      & Fit total flux \\
{\tt DELTAX}   & {\tt 1E} & degrees & Fit $X$ position \\
{\tt DELTAY}   & {\tt 1E} & degrees & Fit $Y$ position \\
{\tt MAJOR AX} & {\tt 1D} & degrees & Fit major axis \\
{\tt MINOR AX} & {\tt 1E} & degrees & Fit minor axis \\
{\tt POSANGLE} & {\tt 1E} & degrees & Fit position angle \\
{\tt Q FLUX}   & {\tt 1E} & Jy      & Q polarization flux \\
{\tt U FLUX}   & {\tt 1E} & Jy      & U polarization flux \\
{\tt V FLUX}   & {\tt 1E} & Jy      & V polarization flux \\
{\tt ERR PEAK} & {\tt 1E} & Jy/beam & Uncertainty in peak brightness \\
{\tt ERR FLUX} & {\tt 1E} & Jy      & Uncertainty in total flux \\
{\tt ERR DLTX} & {\tt 1E} & degrees & Uncertainty in $X$ position \\
{\tt ERR DLTY} & {\tt 1E} & degrees & Uncertainty in $Y$ position \\
{\tt ERR MAJA} & {\tt 1E} & degrees & Uncertainty in major axis \\
{\tt ERR MINA} & {\tt 1E} & degrees & Uncertainty in minor axis \\
{\tt ERR PA}   & {\tt 1E} & degrees & Uncertainty in position angle \\
{\tt ERR QFLX} & {\tt 1E} & Jy      & Uncertainty in Q total flux \\
{\tt ERR UFLX} & {\tt 1E} & Jy      & Uncertainty in U total flux \\
{\tt ERR VFLX} & {\tt 1E} & Jy      & Uncertainty in V total flux \\
{\tt TYPE MOD} & {\tt 1E} &         & Model type: 0 point, 1 Gaussian \\
{\tt D0 MAJOR} & {\tt 1E} & degrees & Deconvolved major axis \\
{\tt D0 MINOR} & {\tt 1E} & degrees & Deconvolved minor axis \\
{\tt D0 POSAN} & {\tt 1E} & degrees & Deconvolved position angle \\
{\tt D- MAJOR} & {\tt 1E} & degrees & Deconvolved major axis at minus 1 sigma \\
{\tt D- MINOR} & {\tt 1E} & degrees & Deconvolved minor axis at minus 1 sigma \\
{\tt D- POSAN} & {\tt 1E} & degrees & Deconvolved position angle at minus 1 sigma \\
{\tt D+ MAJOR} & {\tt 1E} & degrees & Deconvolved major axis at plus 1 sigma \\
{\tt D+ MINOR} & {\tt 1E} & degrees & Deconvolved minor axis at plus 1 sigma \\
{\tt D+ POSAN} & {\tt 1E} & degrees & Deconvolved position angle at plus 1 sigma \\
{\tt RES RMS}  & {\tt 1E} & Jy/beam & RMS residual in fit area \\
{\tt RES PEAK} & {\tt 1E} & Jy/beam & Peak residual in fit area \\
{\tt RES FLUX} & {\tt 1E} & Jy      & Total flux in residual in fit area \\
{\tt CENTER X} & {\tt 1E} & pixels  & Fit $X$ position \\
{\tt CENTER Y} & {\tt 1E} & pixels  & Fit $Y$ position \\
{\tt MAX AXIS} & {\tt 1E} & pixels  & Fit major axis \\
{\tt MIN AXIS} & {\tt 1E} & pixels  & Fit minor axis \\
{\tt PIXEL PA} & {\tt 1E} & degrees & Fit position angle in pixel fit \\
{\tt PB FACT}  & {\tt 1E} &         & Factor to correct for primary beam \\
{\tt DLY FACT} & {\tt 1E} &         & Factor to correct for bandwidth smearing
\end{tabular}
\end{center}
\vfill\eject

{\bf Location in cube.} The plane number, counting through all axes 3
through 7, shall be given in the {\tt PLANE} column as a positive
number of integer value.

{\bf Fit Gaussian parameters.} The peak intensity, position, and
Gaussian widths are given in the {\tt PEAK INT}, {\tt DELTAX}, {\tt
  DELTAY}, {\tt MAJOR AX}, {\tt MINOR AX}, and {\tt POSANGLE} columns.
The total flux computed from them is given in the {\tt I FLUX}
column.  The uncertainties in these parameters are given in the
{\tt ERR PEAK}, {\tt ERR FLUX}, {\tt ERR DLTX}, {\tt ERR DLTY},
{\tt ERR MAJA}, {\tt ERR MINA}, {\tt ERR PA}, and {\tt ERR FLUX}
columns, respectively.

{\bf Polarization.} The {\tt Q FLUX}, {\tt U FLUX}, {\tt VFLUX}
columns are reserved for the fit of the component in polarized images,
if any.  The uncertainties in those fits will appear in the {\tt ERR
  QFLX}, {\tt ERR UFLX}, and {\tt ERR VFLX} columns, respectively.

{\bf Model type.} The {\tt TYPE MOD} shall contain the value of the
code representing the type of model fit.  Codes 0.0 for point and 1.0
for Gaussian are recognized.

{\bf Component deconvolution.} The fit Gaussian widths may be
deconvolved with the Clean beam parameters to obtain an estimate of
the true source angular size.  The deconvolution is done using the fit
widths with the result given in the {\tt D0 MAJOR}, {\tt D0 MINOR} and
{\tt D0 POSAN} columns.  The deconvolution is also done over all nine
possible combinations of the three parameters at 0 and $\pm 1
\sigma$.  The {\tt D- MAJOR}. {\tt D- MINOR}, and {\tt D- POSAN}
columns report the smallest values found, while the {\tt D+ MAJOR}.
{\tt D+ MINOR}, and {\tt D+ POSAN} the largest values so found.

{\tt Component fit.} The component fit is initially done in image
pixels and then converted to physical parameters.  The results of the
pixel fit are given in the {\tt CENTER X}, {\tt CENTER Y}, {\tt MAX
  AXIS}, {\tt MIN AXIS}, and {\tt PIXEL PA} columns.

{\tt Correction factors.} If the user has requested correction for the
primary beam, the fit peak and flux values and their uncertainties as
reported in the {\tt AIPS MF} table are corrected by the factor
reported in the {\tt PB FACT} column.  If the user has requested
corrections for bandwidth smearing, the peak value and its uncertainty
as reported in the {\tt AIPS MF} table are corrected by the factor
reported in the {\tt DLY FACT} column.

\excol
\subsection{\Ex{{\tt AIPS RM} Rotation measure fitting table}}
\label{s:RM}

The {\tt AIPS RM} is a large table used by the spectral rotation measure
fitting task {\tt RMFIT}\@  It is designed to allow the user to access
the fitting over multiple sessions until the result appears complete.
At that point, output images of the fit parameters may be generated.  An
example {\tt AIPS RM} table header is shown in
Appendix~\ref{Appe:RMtable} on page~\pageref{Appe:RMtable}.


\begin{center}
\underline{\bf{TABLE 72: Mandatory keywords for {\tt AIPS RM} table
    headers}}\\
\begin{tabular}{lcl}
\noalign{\vspace{2pt}} \label{ta:RMkeys}
\underline{{\bf Keyword}} & \underline{\bf{Value type}} &
    \underline{\bf{Value\vphantom{y}}} \\
\noalign{\vspace{2pt}}
{\tt EXTNAME}  & A & {\tt 'AIPS RM'}  \\
{\tt YBLC}     & \Hi{I} & Image cube blc pixel on 2nd axis  \\
{\tt YTRC}     & I & Image cube trc pixel on 2nd axis \\
{\tt ZBLC}     & I & Image cube blc pixel on 3rd axis \\
{\tt ZTRC}     & I & Image cube trc pixel on 3rd axis \\
{\tt YINC}     & I & Pixel increment on 2nd axis in first pass \\
{\tt ZINC}     & I & Pixel increment on 3rd axis in first pass\\
{\tt ICLIP}    & D & Minimum spectral value in Ipol for fitting \\
{\tt PCLIP}    & D & Minimum spectral value in Ppol for fitting \\
{\tt DOSPIX}   & I & Fitting spectral index or thickness models? \\
{\tt PIX FIT}  & I & Number pixels already fit
\end{tabular}
\end{center}

{\bf Pixels included in table .} Keywords {\tt YBLC}, {\tt YTRC}, {\tt
  ZBLC}, and {\tt ZTRC} specify which pixels from the image cube appear
in the table.  {\tt YINC} and {\tt ZINC} are the increments for {\tt
  RMFIT} to take on those axes while doing the first pass of solutions.

{\bf Which spectra to fit.} Keyword {\tt ICLIP} specifies the minimum
brightness in each spectrum total intensity (I pol.) to allow it to be
fit.  Keyword {\tt PCLIP} specifies the minimum brightness in total
polarization ($\sqrt (Q^2 + U^2)$) to allow it to be fit.  When {\tt
  RMFIT} restarts, the levels may be reduced.

{\tt Spectral index or thickness fitting?.}  The keyword {\tt DOSPIX}
contains code values to describe additional spectral fitting besides the
rotation measure.  Zero means none, 1 means spectral index, 2 means a
thickness model ($\sin(x)/x$), 3 Gaussian thickness model, and 4
exponential thickness mode.

{\tt Number of pixels already fit.} Keyword {\tt PIX FIT} is used to
document the number of pixels which already have Gaussian-fit results.

\begin{center}
\underline{\bf{TABLE 73: Mandatory columns for the {\tt AIPS RM} table}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:RMcols}
\underline{{\bf Title\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\tt PIXEL}    & {\tt 2I} &  & $Y,Z$ pixel position in the cube \\
{\tt NCOMP}    & {\tt 1I} &  & Number components actually fit \\
{\tt IFLUX}    & {\tt 1E} & {\it B\_units} & Peak Ipol spectral value \\
{\tt PFLUX}    & {\tt 1E} & {\it B\_units} & Peak Ppol spectral value \\
{\tt PONE}     & {\tt 4E} & {\it B\_units} & Fit polarization at 1 GHz \\
{\tt THETA}    & {\tt 4E} & degreees & Fit polarization angle at 0 GHz \\
{\tt ROT MEAS} & {\tt 4E} & ${\rm radians}/{m^2}$ & Fit rotation measure \\
{\tt SPECINDX} & {\tt 4E} &   & Fit spectral index \\
{\tt ERR P1}   & {\tt 4E} &{\it B\_units} & Uncertainty in Pone \\
{\tt ERR THET} & {\tt 4E} & degrees & Uncertainty in fit polarization angle \\
{\tt ERR RM}   & {\tt 4E} & ${\rm radians}/{m^2}$ & Uncertainty in fit
                                rotation measure \\
{\tt ERR SPIX} & {\tt 4E} &   & Uncertainty in fit spectral index \\
\hline
{\tt THICKNESS} & {\tt 4E} & ${\rm radians}/{m^2}$  & Fit thickness \\
{\tt ERR THICK} & {\tt 4E} & ${\rm radians}/{m^2}$  & Uncertainty in fit
                             thickness
\end{tabular}
\end{center}

{\bf Table initial values.} The {\tt PIXEL} column contains the $Y,Z$
pixel position from the input cube and the {\tt IPEAK} ans {\tt PPEAK}
columns contain the peak values in the Ipol and Ppol spectra,
respectively, at that pixel.  All other columns are filled with zeros or
magic blanks.

{\bf Fit results.} The remaining columns contain the results of fitting
the rotation measure model to the spectrum at that pixel.  The fit total
polarization (at 1 GHz is spectral index or thickness are computed) is
stored in the {\tt PONE} column in brightness units, the polarization
intrinsic angle is stored in the {\tt THETA} column, the rotation
measure in radians per meter squared is stored in the {\tt ROT MEAS}
column, and the spectral index parameter is stored in the {\tt SPECINDX}
column.  When thickness is fit, the spectral index columns are replaced
with a {\tt THICKNESS} column.  The uncertainties in these parameters
are stored in the corresponding {\tt ERR }{\it xxxx} columns.

The model being fit is
\begin{eqnarray*}
  Q(i) & = & \sum  P_j \cos (2\theta_j + 2 R_j \lambda(i)^2)
              F(\beta_j,, \lambda(i)^2) \\
  U(i) & = & \sum  P_j \sin (2\theta_j + 2 R_j \lambda(i)^2)
              F(\beta_j,, \lambda(i)^2)
\end{eqnarray*}
where $P_j$ is the polarized flux of component $j$, $\theta_j$ is the
polarization angle of component j, $R_j$ is the rotation measure of
component j, $\lambda(i)$ is the wavelength of spectral channel $i$,
$\beta_j$ is a ``thickness'' parameter and $F$ is one of
\begin{eqnarray*}
F(\beta_j,\lambda(i)^2) & = & \left(
    \frac{\lambda_1^2}{\lambda(i)^2}\right) ^ {\frac{\beta_j}{2}} \\
  & = & \frac{\sin (\beta_j \lambda(i)^2)}{\beta_j \lambda(i)^2} \\
  & = & e ^ {-\ln(2)\, \left(\,\frac{\beta_j \lambda(i)^2}{1.8954}\,\right)^2} \\
  & = & e ^ {-\ln(2)\, \frac{\beta_j \lambda(i)^2}{1.8954}}
\end{eqnarray*}
where $\lambda_1$ is the wavelength at the fiducial frequency of 1 GHz
and the thickness models will be referred to by the names spectral
index, slab, Gaussian, and exponential, respectively.  The peculiar
number $1.8954$ was chosen so that the last three models reach the 0.5
point at the same value of $\beta_j$.
\hblack

\subsection{{\tt AIPS ST} stars table}
\label{s:ST}

The {\tt AIPS ST} table is a list of fiducial points in the present
image.  These may represent anything the user wishes, but have been used
to mark stars, model-fit Gaussians, and special points within the
image.  An example {\tt AIPS ST} table header is shown in
Appendix~\ref{Appe:STtable} on page~\pageref{Appe:STtable}.

There are no required keywords in the {\tt AIPS ST} table.  This table
is unusual in that its first two columns are labeled with, and have
the units of, the first two axes of the image.  Each row of the table
contains the parameters of a different ``star.''

\begin{center}
\underline{\bf{TABLE 74: Mandatory columns for the {\tt AIPS ST} table}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:STcols}
\underline{{\bf Title\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\it X\_type}  & {\tt 1D} & {\it X\_units} & Star $X$ location \\
{\it Y\_type}  & {\tt 1D} & {\it Y\_units} & Star $Y$ location \\
{\tt MAJOR AX} & {\tt 1E} & {\it X\_units} & Star major axis \\
{\tt MINOR AX} & {\tt 1E} & {\it Y\_units} & Star minor axis \\
{\tt POSANG}   & {\tt 1E} & degrees & Star position angle \\
{\tt STARTYPE} & {\tt 1E} &         & Type code \\
{\tt LABEL}    & {\tt 24A} &        & String with which to label star
\end{tabular}
\end{center}

{\bf Star location.} The location columns are named with the strings
found in the first two axis types of the image header.  They are
supplied with suitable units which are degrees for celestial axes,
seconds for time, Hz for frequency, m/sec for velocities, and pixels
for blank.

{\bf Star extent.} The star may be considered to have an extent in the
$X$ and $Y$ axes with position angle 0.0 for two unlike axes.  For
celestial axis pairs, the extent becomes a true major axis, minor
axis, and position angle (East from North to the major axis).  These
are given in the {\tt MAJOR AX}, {\tt MINOR AX}, and {\tt POSANG}
columns, respectively.

{\bf Star type.} The type of star may be specified by a code which
shall be a positive integer and specified in the {\tt STARTYPE}
column.  \AIPS\ recognizes values 1.0 through 24.0 and plots each with
a different symbol.  Values $\leq 0.0$ are taken to mean no type and,
hence, to \AIPS\ no plotted symbol.

{\bf Star label.} An arbitrary 24-character string, blank filled after
the last printable character, is included in the {\tt LABEL} column.
\AIPS\ offers the option of plotting the string next to the star
symbol.

\vfill\eject
\excol
\subsection{\Ex{{\tt AIPS XG} Gaussian fitting table}}
\label{s:XG}

The {\tt AIPS XG} is a large table used by the spectral Gaussian fitting
tasks {\tt XGAUS} and {\tt AGAUS}\@  It is designed to allow the user
to access the fitting over multiple sessions until the result appears
complete.  At that point, output images of the fit parameters may be
generated.  An example {\tt AIPS XG} table header is shown in
Appendix~\ref{Appe:XGtable} on page~\pageref{Appe:XGtable}.

\begin{center}
\underline{\bf{TABLE 75: Mandatory keywords for {\tt AIPS XG} table
    headers}}\\
\begin{tabular}{lcl}
\noalign{\vspace{2pt}} \label{ta:XGkeys}
\underline{{\bf Keyword}} & \underline{\bf{Value type}} &
    \underline{\bf{Value\vphantom{y}}} \\
\noalign{\vspace{2pt}}
{\tt EXTNAME}  & A & {\tt 'AIPS XG'}  \\
{\tt YBLC}     & \Hi{I} & Image cube blc pixel on 2nd axis  \\
{\tt YTRC}     & I & Image cube trc pixel on 2nd axis \\
{\tt ZBLC}     & I & Image cube blc pixel on 3rd axis \\
{\tt ZTRC}     & I & Image cube trc pixel on 3rd axis \\
{\tt YINC}     & I & Pixel increment on 2nd axis in first pass \\
{\tt ZINC}     & I & Pixel increment on 3rd axis in first pass\\
{\tt VCLIP}    & D & Minimum spectral value for fitting \\
{\tt VOFF}     & D & Central value on 1st (spectral) axis \\
{\tt REFVALUE} & D & Reference value for spectral axis  \\
{\tt REFPIXEL} & D & Reference pixel for spectral axis  \\
{\tt REFINCR}  & D & Reference increment for spectral axis   \\
{\tt REFTYPE}  & C & Type of spectral axis  \\
{\tt ABSORPTN} & I & 1 -> absorption fit, else emission  \\
{\tt PIX FIT}  & I & Number pixels already fit \\
\Hi{{\tt NGAUSS}} & \Hi{I} & \Hi{Number of Gaussians in this table}
\end{tabular}
\end{center}

{\bf Pixels included in table .} Keywords {\tt YBLC}, {\tt YTRC}, {\tt
  ZBLC}, and {\tt ZTRC} specify which pixels from the image cube appear
in the table.  {\tt YINC} and {\tt ZINC} are the increments for {\tt
  XGAUS} to take on those axes while doing the first pass of solutions.

{\bf Which spectra to fit.} Keyword {\tt VCLIP} specifies the minimum
brightness in each spectrum to allow it to be fit.  When {\tt XGAUS}
restarts, the level may be reduced.

{\bf Old reference value on 1st axis.} Keyword {\tt VOFF} specifies the
spectral (1st) axis reference value when the fitting is commenced.  It
is used to confirm that restarts of the task are meaningful.

{\bf Spectral axis values and type.} Keywords {\tt REFVALUE}, {\tt
  REFPIXEL}, {\tt REFINCR}, and {\tt REFTYPE} are used to define the
coordinate values and type on the spectral axis.

{\bf Absorption versus emission.} The mathematics of fitting emission
Gaussians ({\tt XGAUS}) or absorption Gaussians ({\tt AGAUS}) are
slightly different.  Value 0 implies emission, 1 implies absorption.

{\bf Number of pixels already fit.} Keyword {\tt PIX FIT} is used to
document the number of pixels which already have Gaussian-fit results.

\Hi{{\bf Number Gaussian components} Keyword {\tt NGAUSS} specifies the
maximum number of Gaussian components allowed in the present table.
Values up to 32 are supported.}

{\bf Table initial values.} The {\tt PIXEL} column contains the $Y,Z$
pixel position from the input cube and the {\tt PEAK} column contains
the peak value in the spectrum at that pixel.  \Hi{The {\tt RES RMS}
column contains the rms of the spectrum at that pixel.  It is
initialized at the beginning and is changed whne the pixel is fit.}
All other columns are filled with zeros or magic blanks.

{\bf Fit results.} The remaining columns contain the results of fitting
Gaussians to the spectrum at that pixel.  The baseline and slope, if
fit, are entered in brightness units and brightness units per $X$ pixel.
The fits for up to 8 Gaussians are entered in the {\tt AMPLITUDE}, {\tt
  CENTER}, and {\tt WIDTH} columns and their uncertainties are entered
in the corresponding {\tt ERR} columns.  Units are image brightness
units and pixels.  The number of Gaussians actually fit at the pixel is
entered in the {\tt NGAUS} column.

\vfill\eject
\begin{center}
\underline{\bf{TABLE 76: Mandatory columns for the {\tt AIPS XG} table}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:XGcols}
\underline{{\bf Title\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\tt PIXEL}    & {\tt 2I} &  & $Y,Z$ pixel position in the cube \\
{\tt NGAUS}    & {\tt 1I} &  & Number Gaussians actually fit \\
{\tt PEAK}     & {\tt 1E} & {\it B\_units} & Peak spectral value \\
\Hi{{\tt RES RMS}} & \Hi{{\tt 1E}} & \Hi{RMS of the residual spectrum at
                            this pixel} \\
{\tt BASELINE} & {\tt 2E} & {\it B\_units} & Fit baseline, slope \\
{\tt ERR BASE} & {\tt 2E} & {\it B\_units} & Uncertainty in fit baseline \\
{\tt AMPLITUD} & {\tt 8E} & {\it B\_units} & Fit amplitude \\
{\tt CENTER}   & {\tt 8E} & pixels  & Fit center \\
{\tt WIDTH}    & {\tt 8E} & pixels  & Fit width \\
{\tt ERR AMPL} & {\tt 8E} & {\it B\_units} & Uncertainty in fit amplitude \\
{\tt ERR CENT} & {\tt 8E} & pixels  & Uncertainty in fit center \\
{\tt ERR WIDT} & {\tt 8E} & pixels  & Uncertainty in fit width
\end{tabular}
\end{center}

\subsection{\Ex{{\tt AIPS ZE} Zeeman splitting fitting table}}
\label{s:ZE}

The {\tt AIPS ZE} is a large table used by the spectral Zeeman splitting
fitting tasks {\tt ZEMAN} and {\tt ZAMAN}\@  It is designed to allow the
user to access the fitting over multiple sessions until the result
appears complete.  At that point, output images of the fit parameters
may be generated.  An example {\tt AIPS ZE} table header is shown in
Appendix~\ref{Appe:ZEtable} on page~\pageref{Appe:ZEtable}.

\begin{center}
\underline{\bf{TABLE 77: Mandatory keywords for {\tt AIPS ZE} table
    headers}}\\
\begin{tabular}{lcl}
\noalign{\vspace{2pt}} \label{ta:ZEkeys}
\underline{{\bf Keyword}} & \underline{\bf{Value type}} &
    \underline{\bf{Value\vphantom{y}}} \\
\noalign{\vspace{2pt}}
{\tt EXTNAME}  & A & {\tt 'AIPS ZE'}  \\
{\tt YBLC}     & I & Image cube blc pixel on 2nd axis  \\
{\tt YTRC}     & I & Image cube trc pixel on 2nd axis \\
{\tt ZBLC}     & I & Image cube blc pixel on 3rd axis \\
{\tt ZTRC}     & I & Image cube trc pixel on 3rd axis \\
{\tt DOGAUS}   & I & Type of Zeeman fit \\
{\tt ICLIP}    & D & Minimum spectral value in I pol.~for fitting \\
{\tt REFVALUE} & D & Reference value for spectral axis  \\
{\tt REFPIXEL} & D & Reference pixel for spectral axis  \\
{\tt REFINCR}  & D & Reference increment for spectral axis   \\
{\tt REFTYPE}  & C & Type of spectral axis  \\
{\tt ABSORPTN} & I & 1 -> absorption fit, else emission  \\
{\tt PIX FIT}  & I & Number pixels already fit
\end{tabular}
\end{center}

{\bf Pixels included in table .} Keywords {\tt YBLC}, {\tt YTRC}, {\tt
  ZBLC}, and {\tt ZTRC} specify which pixels from the image cube appear
in the table.

{\bf How fitting is done.} Keyword {\tt DOGAUS} specifies the style of
Zeeman splitting: $-1$ uses a 2-sided derivative method, 0 uses a 1-sided
derivative, and \Hi{ $n > 0$ uses the {\tt DOGAUS}} Gaussians found
previously by {\tt XGAUS}\@.

{\bf Which spectra to fit.} Keyword {\tt ICLIP} specifies the minimum
brightness in each I polarization spectrum to allow it to be fit.  When
{\tt ZEMAN} restarts, the level may be reduced.

{\bf Spectral axis values and type.} Keywords {\tt REFVALUE}, {\tt
  REFPIXEL}, {\tt REFINCR}, and {\tt REFTYPE} are used to define the
coordinate values and type on the spectral axis.

{\tt Absorption versus emission.} The mathematics of fitting emission
Gaussians ({\tt XGAUS}) or absorption Gaussians ({\tt AGAUS}) are
slightly different.  Value 0 implies emission, 1 implies absorption.

{\tt Number of pixels already fit.} Keyword {\tt PIX FIT} is used to
document the number of pixels which already have Gaussian-fit results.

\begin{center}
\underline{\bf{TABLE 78: Mandatory columns for the {\tt AIPS ZE} table}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:ZEcols}
\underline{{\bf Title\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\tt PIXEL}    & {\tt 2I} &  & $Y,Z$ pixel position in the cube \\
{\tt I PEAK}   & {\tt 1E} & {\it B\_units} & Peak Ipol spectral value \\
\Hi{{\tt V RMS}} & \Hi{{\tt 1E}} & \Hi{RMS of the Vpol residual
                          spectrum} \\
{\tt GAIN}     & {\tt 1E} &  & Fit Gain \\
{\tt ERR GAIN} & {\tt 1E} &  & Uncertainty in fit Gain \\
{\tt B FIELD}  & \Hi{{\tt $n$E}} & pixels & Fit line splitting \\
{\tt ERR BFLD} & \Hi{{\tt $n$E}} & pixels & Uncertainty in fit line splitting \\
{\tt NGAUS}    & {\tt 1I} &  & Number Gaussians actually fit \\
{\tt AMPLITUD} & \Hi{{\tt $m$E}} & {\it B\_units} & Fit amplitude \\
{\tt CENTER}   & \Hi{{\tt $m$E}} & pixels  & Fit center \\
{\tt WIDTH}    & \Hi{{\tt $m$E}} & pixels  & Fit width \\
{\tt BASELINE} & {\tt 2E} & {\it B\_units} & Fit baseline, slope
\end{tabular}
\end{center}

{\bf Table initial values.} The {\tt PIXEL} column contains the $Y,Z$
pixel position from the input cube and the {\tt I PEAK} column contains
the peak I polarization value in the spectrum at that pixel.  \Hi{The
  {\tt V RMS} column is filled initially with the rms of the V spectrum.
  As spectra are fit, the rms is updated from the residual V  spectrum.}
The {\tt GAIN} and {\tt B FIELD} columns and their uncertainties are
filled with magic blanks.  If the user has requested the Gaussian method
of Zeeman fitting, the {\tt NGAUS}, {\tt AMPLITUD}, {\tt CENTER}, {\tt
  WIDTH}, and {\tt BASELINE} columns are filled with values taken from
the I polarization {\tt XG} table.  \Hi{The dimensions of the model fit
results are $n$ and $m$ in the above table where $n = 1$ and $m = 0$ for
the non-Gaussian methods of fitting and both equal the value of the {\tt
  NGAUSS} keyword of the {\tt XG} table used in the Gaussian method of
fitting.}

{\bf Fit results.}  The Zeeman model that is fit to the V polarization
is a gain times the I polarization plus a ``B field'' times the slope of
the I polarization with channel.  The results are stored in the {\tt
  GAIN} and {\tt B FIELD} columns with the unceratinties stored in the
{\tt ERR GAIN} and {\tt ERR BFLD} columns.  Note that the ``B field'' is
in $X$ axis pixels; any association of that separation with an actual
magnetic field is up to the user.

\hblack

\hicol
\section{\Hi{Pseudo-tables generated by \AIPS}}
\label{s:pseudo}

\subsection{\Hi{{\tt AIPS PL} Plot file}}
\label{s:PL}

The \AIPS\ {\tt PL} file is a special-purpose structure used to contain
the input parameters to one of the many plot tasks plus the actual
commands to generate the plot.  The file is read by {\tt TVPL} to render
the plot on the ``TV'' display device and {\tt LWPLA} to render the plot
in PostScript for immediate printing or as a file to be included in
documents.  A large number of tasks have been written to display
visibility data, images, and tables in multiple different forms.  They
can create and fill plot files or, alternatively, generate the plot(s)
immediately on the TV display device.  The plot file internal format is
complex with 19 different record types of different lengths.  The
character and grey-scale records have variable lengths depending on the
character string and image row lengths.  Thus, this file cannot be
described as a table in the normal way.  The file format is described
in the file \$DOCTXT/MV2C06PL which has been brought up to date.

We could represent this as a standard table by making the rows contain
only a length and pointer to the ``heap'' which follows the table.  But
plot files can contain many thousands or even millions of records which
would make this representation quite long and require this much less
common table usage.  Since this file is assumed to be useful only within
\AIPS, we have chosen to represent the file as containing rows of 256
integers, completely ignoring the actual content.  Conversion of these
rows to and from FITS-standard integers does not affect their content.
In this way, \AIPS\ users can back up their plot files for later use.
This option was added to {|tt FITTP} and {\tt FITAB} October 10, 2024.
\vfill\eject

\begin{center}
\underline{\bf{TABLE 79: Mandatory keywords for {\tt AIPS PL} table
    headers}}\\
\begin{tabular}{lcl}
\noalign{\vspace{2pt}} \label{ta:PLkeys}
\underline{{\bf Keyword}} & \underline{\bf{Value type}} &
    \underline{\bf{Value\vphantom{y}}} \\
\noalign{\vspace{2pt}}
{\tt EXTNAME}  & A & {\tt 'AIPS PL'}  \\
{\tt EXTVER}   & I & Format version (= 1)
\end{tabular}
\end{center}

\begin{center}
\underline{\bf{TABLE 80: Mandatory columns for the {\tt AIPS PL} table}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:PLcols}
\underline{{\bf Title\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\tt Plot data} & {\tt 256J} &  & 1024-byte file record \\
\end{tabular}
\end{center}

\subsection{\Hi{{\tt AIPS SL} Slice file}}
\label{s:SL}

The \AIPS\ {\tt SL} file is a special-purpose structure used to contain
one dimensional image values computed (by interpolation) by {\tt SLICE}
from image cubes.  It also contains the results of Gaussian fitting to
the slice data as computed by {\tt SLFIT}\@.  The first two records of
the file contain pointer information and the parameters used by {\tt
  SLICE}\@.

We could represent this as a standard table by making the rows contain
only a length and pointer to the ``heap'' which follows the table.
Since this file is assumed to be useful only within \AIPS, we have
chosen to represent the file as containing rows of 256 integers,
completely ignoring the actual content.  Conversion of these rows to and
from FITS-standard integers does not affect their content.  In this way,
\AIPS\ users can back up their slice files for later use back in
\AIPS\@.  This option was added to {\tt FITTP} and {\tt FITAB} February
24, 2025.

\begin{center}
\underline{\bf{TABLE 79: Mandatory keywords for {\tt AIPS SL} table
    headers}}\\
\begin{tabular}{lcl}
\noalign{\vspace{2pt}} \label{ta:SLkeys}
\underline{{\bf Keyword}} & \underline{\bf{Value type}} &
    \underline{\bf{Value\vphantom{y}}} \\
\noalign{\vspace{2pt}}
{\tt EXTNAME}  & A & {\tt 'AIPS SL'}  \\
{\tt EXTVER}   & I & Format version (= 1)
\end{tabular}
\end{center}

\begin{center}
\underline{\bf{TABLE 80: Mandatory columns for the {\tt AIPS SL} table}}\\
\begin{tabular}{lcll}
\noalign{\vspace{2pt}} \label{ta:SLcols}
\underline{{\bf Title\vphantom{y}}} & \underline{\bf{Type}} &
   \underline{{\bf Units\vphantom{y}}} & \underline{\bf{Description}} \\
\noalign{\vspace{2pt}}
{\tt Slice data} & {\tt 256J} &  & 1024-byte file record \\
\end{tabular}
\end{center}

\hblack
\vfill\eject
\section{\Hi{Revision history}}

\begin{center}
\Hi{\underline{\bf{TABLE 79: Substantive revisions}}}\\
\begin{tabular}{lcl}
\noalign{\vspace{6pt}} \label{ta:revisions}
\underline{{\bf Date\vphantom{y}}} & \underline{{\bf Type}} &
   \underline{{\bf Content\vphantom{y}}} \\
   \noalign{\vspace{7pt}}
\Hi{2025-10-01} & \Hi{{\tt XG}} & \Hi{New keyword and column in table
                      for Gaussian fitting of image cubes.} \\
           &          & \Hi{See page \pageref{s:XG}.} \\
\noalign{\vspace{4pt}}
\Hi{2025-10-01} & \Hi{{\tt ZE}} & \Hi{Newly column in table for Zeeman
                      splitting fitting of image cubes.} \\
           &          & \Hi{See page \pageref{s:ZE}.} \\
\Hi{2025-06-24} & \Hi{{\tt SL}} & \Hi{Slice file added to FITS files.} \\
           &          & \Hi{See page \pageref{s:SL}.} \\
\noalign{\vspace{4pt}}
\Hi{2024-11-01} & \Hi{{\tt PL}} & \Hi{Plot file added to FITS files.} \\
           &          & \Hi{See page \pageref{s:PL}.} \\
\noalign{\vspace{4pt}}
\Hi{2024-07-11} & \Hi{{\tt PP}} & \Hi{Time and rms columns, polarization
                                code.} \\
           &          & \Hi{See page \pageref{s:PP}.} \\
\noalign{\vspace{4pt}}
\Hi{2024-07-11} & \Hi{{\tt BD}} & \Hi{Add 4 columns for 2 cross-hand
                      correlations and information about thier origin.}\\
           &          & \Hi{See page \pageref{s:BD}.} \\
           &          & \Hi{Also added a FITS table example. See page
                        \pageref{Appe:BDtable}.} \\
\noalign{\vspace{4pt}}
\Hi{2024-07-11} & \Hi{{\tt SY}} & \Hi{Add {\tt REVISION} keyword} \\
           &          & \Hi{See page \pageref{s:SY}.} \\
\noalign{\vspace{4pt}}
\Hi{2024-07-11} & \Hi{{\tt TE}} & \Hi{Add {\tt TECRTYPE} keyword and
                      {\tt DISP DELAY} column} \\
           &          & \Hi{See page \pageref{s:TE}.} \\
\noalign{\vspace{4pt}}
\Hi{2023-02-01} & \Hi{{\tt TE}} & \Hi{Add new table for total electron
                      content output by {\tt TECOR}} \\
           &          & \Hi{See page \pageref{s:TE}.} \\
\noalign{\vspace{4pt}}
\Hi{2022-07-19} &  & \Hi{Change linear polarization labels
                      from {\tt X} and {\tt Y} to {\tt V} and {\tt H}} \\
           &          & \Hi{See page \pageref{RGregax}.} \\
\noalign{\vspace{4pt}}
\Hi{2020-03-04} & \Hi{{\tt CC}} & \Hi{Add {\tt DELTAZ} optional column,
                      changing meaning of {\tt DELTAX} and {\tt DELTAY}
                      columns} \\
           &          & \Hi{See page \pageref{s:CC}.} \\
\noalign{\vspace{8pt}}
\Ex{2019-10-14} & \Ex{{\tt RM}} & \Ex{Newly documented table for rotation
                      measure fitting of image cubes.} \\
           &          & \Ex{See page \pageref{s:RM}.} \\
\noalign{\vspace{4pt}}
\Ex{2019-10-11} & \Ex{{\tt PP}} & \Ex{New table for right-left phase
                      difference correction spectrum.} \\
           &          & \Ex{See page \pageref{s:PP}.} \\
\noalign{\vspace{4pt}}
\Ex{2019-10-11} & \Ex{{\tt XG}} & \Ex{Newly documented table for Gaussian
                      fitting of image cubes.} \\
           &          & \Ex{See page \pageref{s:XG}.} \\
\noalign{\vspace{4pt}}
\Ex{2019-10-11} & \Ex{{\tt ZE}} & \Ex{Newly documented table for Zeeman
                      splitting fitting of image cubes.} \\
           &          & \Ex{See page \pageref{s:ZE}.} \\
\noalign{\vspace{4pt}}
\Ex{2019-10-11} & \Ex{{\tt PO}} & \Ex{Change keyword {\tt SOURCE ID} to
                      {\tt SOURCE\_ID}.}\\
           &          & \Ex{See page \pageref{s:PO}.} \\
\noalign{\vspace{8pt}}
\Nx{2017-06-19} & \Nx{{\tt CD}} & \Nx{Addition of {\tt SOLCAL1} and
                      {\tt SOLCAL2} columns.}\\
           &          & \Nx{See page \pageref{s:CD}.} \\
\noalign{\vspace{4pt}}
\Nx{2017-06-19} & \Nx{{\tt SY}} & \Nx{Addition of {\tt CAL TYPE}
                      column.}\\
           &          & \Nx{See page \pageref{s:SY}.} \\
\noalign{\vspace{4pt}}
\Nx{2016-02-16} & \Nx{{\tt WX}} & \Nx{Addition of {\tt WIND\_GUST} and
                      {\tt PRECIPITATION} columns.}\\
           &          & \Nx{See page \pageref{s:WX}.} \\
\noalign{\vspace{4pt}}
\Nx{2015-04-24} & \Nx{{\tt SN}} & \Nx{Addition of {\tt DISP} and
                        {\tt DDISP} columns.}\\
           &          & \Nx{See page \pageref{s:SN}.} \\
\end{tabular}
\end{center}
\vfill\eject
\begin{center}
\begin{tabular}{lcl}
\noalign{\vspace{6pt}}
\Nx{2015-04-24} & \Nx{{\tt UV}} & \Nx{Addition of {\tt SUBARRAY},
                  {\tt ANTENNA1}, and {\tt ANTENNA2} alternatives
                  to {\tt BASELINE}.} \\
    &          & \Nx{See page \pageref{RGranpar}--\pageref{TAranpar}.} \\
\noalign{\vspace{4pt}}
\Nx{2014-03-24} & \Nx{{\tt CC}} & \Nx{Description of {\tt DELTAX} and
                        {\tt DELTAY} corrected.} \\
           &          & \Nx{See page \pageref{s:CC}.} \\
\noalign{\vspace{4pt}}
\Me{2012-08-28} & \Me{{\tt SU}} & \Me{Remark about when {\tt SU}
                       required, when normally omitted.} \\
           &          & \Me{See page \pageref{s:SU}.} \\
\noalign{\vspace{4pt}}
\Me{2012-06-28} & \Me{UV-table} & \Me{{\tt SOURCE} and {\tt FREQSEL}
                        columns are mandatory only} \\
           &          & \Me{under certain conditions.} \\
           &          & \Me{See pages \pageref{rev:UVt1} and
                        \pageref{rev:UVt2}.} \\
\noalign{\vspace{4pt}}
\Me{2012-05-30} & \Me{{\tt AN}} & \Me{Add comments about the $x,y$
                       coordinate systems} \\
           &          & \Me{used for the array center and station
                       coordinates.} \\
           &          & \Me{See pages \pageref{rev:AN1} and
                       \pageref{rev:AN2}.} \\
\noalign{\vspace{4pt}}
\Me{2012-05-25} & \Me{{\tt FQ}} & \Me{Add {\tt BANDCODE} column.} \\
           &          & \Me{See pages \pageref{ta:FQcols} and
                       \pageref{rev:FQ}.} \\
\noalign{\vspace{4pt}}
\Me{2012-02-21} & \Me{{\tt SU}} & \Me{Add {\tt RAOBS} and {\tt DECOBS}
                        columns.} \\
           &          & \Me{See pages \pageref{ta:SUcols} and
                       \pageref{rev:SU}.}
\end{tabular}
\end{center}
\hblack

\vfill\eject
\appendix

\section{Summary of the FITS format}
\label{Appen:FITS}

\subsection{Introduction and history}

Astronomy is alone among the sciences in having an international
standard data interchange format that is used by virtually all
scientists and institutions in the field.  This format is named FITS
or Flexible Image Transport System although by now {\it Information}
would be a better word than merely {\it Image}.\footnote{FITS has been
  adopted as the archival format for a project to digitize the entire
  Vatican Library --- 80,000 manuscripts expected to require 45
  petabytes of storage!  It is also used in nuclear medicine among
  other fields.}  FITS is primarily a syntactic rather than semantic
standard allowing the unambiguous interchange of descriptive text and
binary image and tabular data.  The meaning to be associated with the
various fields of the data remains obscure in many cases.  Enormous
effort has gone into defining some of the needed semantics so that, at
least, coordinate information may be transmitted meaningfully along
with the data.  This appendix will begin with an outline of the
history of the development of FITS and will then present a few of the
technical details of the format. If the reader is required to write
software to read and/or write FITS-format data, he or she will need to
consult the latest codification of the FITS format (Pence
\etal~2010~\cite{PCPSS10}) and will probably wish to use the
\keyw{CFITSIO} software package (Pence 1992~\cite{P92},
1999\cite{P99}).  Both of these plus copies of all FITS papers and
much more may be found from the web site maintained at the Goddard
Space Flight Center \keyw{http://fits.gsfc.nasa.gov/}.

In the mid 1970s, programmers from some of the major data producing
centers realized the need to exchange, for example, radio and optical
images of the same field.  They began informal attempts at this
exchange, which remained largely unknown to the rest of the community.
These programmers were reacting to the increasingly burdensome task of
writing format translation programs to convert data from the various
instruments at their institutions to the multiple software packages at
their institutions.  The number of translation programs between
software packages grows as the square of the number of packages while
the probability that these translation routines are up-to-date with
the continually changing internal formats diminishes rapidly.
Inclusion of data from another institution --- a significant
requirement scientifically --- would be almost unsupportable.

With encouragement from the U. S. National Science Foundation, a
representative from the Kitt Peak National Observatory (KPNO, now
National Optical Astronomy Observatory) met with a representative of
the National Radio Astronomy Observatory (NRAO) at the site of the
NRAO Very Large Array Telescope March 27 and 28, 1979.  The meeting
was also attended by a number of NRAO's scientific staff, most
notably Barry Clark.  Remarkably, the basic FITS format was
designed by Don Wells (KPNO) and Eric Greisen (NRAO) and described in
writing in these two days.  In April 1979, the first magnetic tapes to
use the new format were interchanged between the two institutions
using possibly the worst possible combination of software and hardware
environments.  The first FITS files were written by a PL/I program on
an IBM 360 under OS/MFT (32-bit, twos-complement numbers and 8-bit
EBCDIC characters) and were read by a Fortran program executing on a
CDC 6400 under SCOPE (60-bit, ones-complement numbers and 6-bit
``Display Code'' characters).  Despite these obstacles, the images
were transmitted without error on the first try.  Those 30-year old
files remain legitimate FITS files to this day and may still be read
and understood by any conforming FITS reading software.

The FITS format contains its data in what is now known as a
``header-data unit'' (HDU)\@.  An HDU begins with descriptive
information in human-readable form, the header, and is then followed
by the data in binary form.  The initial FITS paper described the
transmission of $n$-dimensional arrays of data (``images''), but
was wise enough to allow ``special records'' of any sort to follow the
described HDU, so long as the logical record length of the special
records was the 2880-bytes required of the image HDU.  In October
1979, Greisen and Ron Harten (Netherlands Foundation for Radio
Astronomy) took advantage of this escape clause to define a similar
HDU more suitable to data from radio astronomical interferometers.
This ``random groups'' HDU described sets of $n$-dimensional
arrays, each accompanied by a number of binary ``random parameters''
describing the array.  A set of small images of the sky, each
accompanied by random parameters describing the coordinates of the
image would be a simple example.  The random-groups format was not
widely used except by radio interferometrists and is now usually
replaced by the binary table format to be discussed below.

The basic FITS agreement was published by Wells, Greisen, and Harten
in 1981~\cite{WGH81} and the Greisen and Harten~\cite{GH81} extension
paper appeared in the same issue of {\it Astronomy \&\ Astrophysics
  Supplement Series}.  By that time, FITS had already become the {\it
  de facto} interchange format for astronomy.  Recognizing this fact,
the Chairman and Co-Chairman of Commission 5 of the IAU, Bernard Hauck
and Gart Westerhout, asked this author to recommend a resolution for
Commission 5 at the 1982 meeting in Patras, Greece.  It was adopted
(IAU, 1982\cite{IAU82}) and a working group to develop further
extensions to FITS was established eventually (IAU 1988~\cite{IAU88})
under the leadership of Preben Grosb\o l.

Numerous FITS extensions, known only to their inventors, followed.  To
provide guidelines for defining {\it conforming} extensions,  Grosb\o
l \etal~negotiated in 1984 and finally published in 1988~\cite{GHGW88}
a general HDU structure with a few new required keywords to be used in
future conforming extensions.  Like the original agreement, this new
agreement allowed any number of conforming extension HDUs to follow
the primary HDU and their association was to be inferred by their
presence in the same tape or disc file.  The authors enunciated a
principle that ``The most important rule for designing new extensions
to FITS is that existing FITS tapes must remain valid.''  This ``once
FITS, always FITS'' principle is one of the reasons for the success of
the whole FITS experience.

Papers describing specific extensions in this new scheme followed.
Harten \etal~(1988)~\cite{HGGW88} described an extension to contain
tabular data fully in printable ASCII character form.  Ponz
\etal~(1994)~\cite{PTM94} then described a conforming extension to
hold an image which might have different dimensionality, coordinates,
and binary type from the primary image (if any).  This allowed
multiple associated images to be contained in a single file in
multiple instances of this ``image'' extension.  Cotton
\etal~(1995)~\cite{CTP95} defined a ``binary-tables extension'' which
was prototyped as early as 1984, negotiated into a general extension
in 1991, and finally published in 1995.  This extension conveys
tabular data in a more efficient binary form and allows each column to
be in its own, most suitable, binary type.  A column may contain an
array of data of any defined size, but each row must be the same
length in bytes.  This extension thereby encompasses all of the
previous data forms with the only differences being in the header
keywords of the HDU\@.

Wells \etal~(1981)~\cite{WGH81} recognized the need for world
coordinate system (WCS) keywords and provided keywords for each axis
of the image to specify coordinate type and a reference point for
which the pixel coordinate, a coordinate value, and an increment were
given.  This description was deliberately kept simple to avoid
controversy and was not universally adopted.  A NASA-sponsored
conference in 1988 recommended the development of a World Coordinate
System standard for use within FITS  (Hanisch \&\ Wells
1988~\cite{HW88}) based on the one already in use (Greisen
1983~\cite{G83}, 1986~\cite{G88}).  The negotiations on this point
have been the most difficult and protracted of any FITS negotiations
and continue to this day.  The GSFC web site contains reference to
many of the intermediate presentations on this matter.  Finally,
Greisen \&\ Calabretta (2002~\cite{GC02}) published paper I of the WCS
agreement describing a general form by which the various coordinate
types would be described.  Paper II describing celestial coordinates
appeared at the same time written by Calabretta \&\ Greisen
(2002~\cite{CG02}).  Paper III on spectral coordinates appeared three
years later (Greisen, Calabretta, Valdes, \&\ Allen,
2005~\cite{GCVA05}).  A paper on time coordinates is well advanced at
this writing, while the paper on corrections for instrumental
distortions appears to be stalled.

The papers described above have had to be written in a style not
entirely suited to a description of a standard.  Because they
presented new ideas, they had to be filled with explanations and
justifications for the various choices made, as well as examples of
the uses of the format and of the coordinates.  To re-write these
papers into a more correct standards definition, a number of panels
have been convened with the support of NASA\@.  The results have been
a number of documents which have been discussed and adopted by the IAU
FITS Working Group.  Version 2.0 of this standard was published
(Hanisch \etal~2001~\cite{HFGPSTTW01}) and version 3.0 (Pence
\etal~2010~\cite{PCPSS10}) has now also been published.  All versions
may be found at the GSFC web site.  It is this document which should
be studied by authors of FITS reading and writing software.

Further discussion of the history of the FITS development may be found
in Wells (2000~\cite{W00}) and Greisen (2003~\cite{G03}
and~\cite{G03b}).
\vfill\eject

\subsection{Basic FITS}

In the modern world, data are kept in files on disc which are simply
byte streams.  However, in the world of 1979, data files were
frequently kept on external magnetic media such as 9-track tapes.  For
such media, the logical and physical record lengths are quite
significant.  FITS adopted a logical record length of 2880 8-bit bytes
for all records in a FITS file.  This curious length happens to be an
integer number of words on all computers ever manufactured,
simplifying the reading and writing of FITS records.  It is long
enough to be reasonably efficient on 9-track tapes and short enough to
avoid strain on the small-memory computers of that day.

All ``conforming'' HDUs in FITS have the same general structure.  The
HDU begins with one or more 2880-byte logical records in ASCII
characters, each structured as 36 80-character ``card images.''  Each
such card image begins with an 8-character upper-case ASCII keyword
usually followed by a blank character and an equals sign.  A value to
be assigned to the keyword follows, optionally followed by a ``/''
character and commentary information.  A modest number of keywords are
required and must come at the beginning of the header in a specified
order.  They identify the nature of the HDU and define the binary
format and dimensions of the data portion.  Other keywords which
describe how to decode the data may also be required, but may come in
any order.  The last keyword in each header is \keyw{END} and the last
logical record in the header is filled with ASCII blanks.

The data portion, if any, of each HDU begins in the first logical
record following the header.  The data are a fully-packed byte stream
broken into 2880-byte logical records with no padding, except that the
last logical record is filled out as needed with binary zeros.
Following the data portion of the HDU is either an end-of-file,
another conforming HDU, or ``special records'' of length 2880-bytes
and no formally defined structure.

The initial HDU defined by Wells, Greisen, \&\ Harten
(1981~\cite{WGH81}) described an n-dimensional, regularly-spaced
array.  The required keywords are shown in the required order in
Table~\ref{tab:data.basickeys}.  The
\begin{table}
\caption{Primary header required keywords}
\label{tab:data.basickeys}
\begin{center}
\begin{tabular}{|lrrl|}
\cline{1-4}
&  & & \\ [\tablerowgapbefore]
{\bf Keyword} & = & {\bf Value} & {\bf Comment} \\ [\tablerowgapafter]
%\cline{1-4} \noalign{\vspace{5pt}}
\keyw{SIMPLE} & = & T     & / Identifies a FITS file \\
\keyw{BITPIX} & = & $ b$  & / Binary data encoding \\
\keyw{NAXIS}  & = & $N$   & / Number axes in array \\
\keyw{NAXIS1} & = & $n_1$ & / Number pixels fastest changing axis \\
\keyw{NAXIS2} & = & $n_2$ & / Number pixels $2^{\rm nd}$ fastest
                             changing axis \\
$\ldots$     &   &       & / \keyw{NAXIS$j$} as needed \\
\keyw{NAXIS$N$} & = & $n_N$ & / Number pixels slowest changing axis \\
$\ldots$     &   &       & other keywords \\
\keyw{END}    &   &       & \\ [\tablerowgapafter] \cline{1-4}
\end{tabular}
\end{center}
\end{table}
\keyw{SIMPLE} keyword has a logical value \keyw{T} and is the
``signature'' of a FITS file.  \keyw{BITPIX} has one of six integer
values whose meanings are listed in Table~\ref{tab:data.bitpix}.
\keyw{NAXIS} has an integer value from 0 to 999 giving the number of
axes in the $N$-dimensional array.  It is followed immediately by
\keyw{NAXIS$j$} keywords giving the number of pixels on each of the
$N$ axes.  Any number of other keywords may follow.  They may be taken
from the standard lists of defined keywords (so long as they are used
for the defined purpose) or may be any undefined keyword of the user's
choosing.  The definition document (Pence \etal~2010~\cite{PCPSS10})
describes the use of the defined keywords for such things as dates,
telescope, source name, history, comment, coordinates, and the like.
The \keyw{END} keyword is followed by ASCII blanks to the end of the
logical record in which it occurs.
\vfill\eject

\begin{table}
\caption{Valid values of keyword \keyw{BITPIX}}
\label{tab:data.bitpix}
\begin{center}
\begin{tabular}{|rl|}
\cline{1-2}
& \\ [\tablerowgapbefore]
{\bf Value} & {\bf Binary data representation} \\ [\tablerowgapafter]
%\cline{1-2} \noalign{\vspace{5pt}}
  8 & Character or unsigned binary integer \\
 16 & 16-bit two's complement binary integer \\
 32 & 32-bit two's complement binary integer \\
 64 & 64-bit two's complement binary integer \\
-32 & IEEE single-precision floating-point \\
-64 & IEEE double-precision floating-point \\
[\tablerowgapafter] \cline{1-2}
\end{tabular}
\end{center}
\end{table}

The binary data begin in the first logical record following the header
and are in the binary format specified by the value of keyword
\keyw{BITPIX}, where, for image data, the value 8 means unsigned,
8-bit binary integers (0 -- 255).  Using the absolute value of
\keyw{BITPIX}, the total number of bits occupied by the binary data is
\begin{equation}
N\sub{bits} = | \keyw{BITPIX} | \times ( \keyw{NAXIS1} \times
  \keyw{NAXIS2} \times \ldots \times \keyw{NAXIS}N ) \, ,
\end{equation}
where $N\sub{bits}$ is non-negative.  The binary numbers are in the
byte order normal for ``big-endian'' computers.  The byte that
contains the sign bit is first and the byte that contains the ones bit
is last.  (Computers based on Intel and AMD cpu chips are ``little
endian,'' meaning that FITS readers and writers on those computers
must swap the byte order between internal and FITS representations of
the binary numbers.)  Following the last byte of the $N\sub{bits}$ of
data, the remainder of the logical record is filled with zeros.

Note that the definitions above allow there to be no data array
whatsoever.  The random-groups extension to the basic image FITS was
the first extension to employ this loophole.  It is an IAU endorsed
format widely used for radio interferometric data.  See Greisen \&\
Harten (1981~\cite{GH81}) or the current FITS Definition (Pence,
\etal~2010) for details.  Since the future use of random groups has
been ``deprecated'' and fully replaced by the binary table extension,
we  will not describe it here.  Nonetheless, many valid FITS data
files are written in which all significant, non-header information is
contained within the extension HDUs.

\subsection{Conforming FITS extensions}

Grosb\o l \etal~(1988~\cite{GHGW88}) defined a standard to be used by
all conforming extensions to FITS.  The required keywords of all
extension headers are shown in Table~\ref{tab:data.extenhead} in the
required order.  The \keyw{XTENSION} keyword gives a character-valued
name for
\begin{table}
\caption{Extension header required keywords}
\label{tab:data.extenhead}
\begin{center}
\begin{tabular}{|lrrl|}
\cline{1-4}
&  & & \\ [\tablerowgapbefore]
{\bf Keyword} & = & {\bf Value} & {\bf Comment} \\ [\tablerowgapafter]
%\cline{1-4} \noalign{\vspace{5pt}}
\keyw{XTENSION} & = & \keyw{'{\it name}'} & / Names extension type \\
\keyw{BITPIX}   & = & $ b$  & / Binary data encoding \\
\keyw{NAXIS}    & = & $N$   & / Number axes in array \\
\keyw{NAXIS1}   & = & $n_1$ & / Number pixels fastest changing axis \\
\keyw{NAXIS2}   & = & $n_2$ & / Number pixels $2^{\rm nd}$ fastest
                             changing axis \\
$\ldots$       &   &       & / \keyw{NAXIS$j$} as needed \\
\keyw{NAXIS$N$} & = & $n_N$ & / Number pixels slowest changing axis \\
\keyw{PCOUNT}   & = & $p$   & / Number parameter values per group \\
\keyw{GCOUNT}   & = & $g$   & / Number data groups \\
$\ldots$       &   &       & other keywords \\
\keyw{END}      &   &       & \\ [\tablerowgapafter] \cline{1-4}
\end{tabular}
\end{center}
\end{table}
the type of extension; values \keyw{TABLE}, \keyw{IMAGE}, and
\keyw{BINTABLE} have since been defined and endorsed by the IAU FITS
Working Group.  The \keyw{PCOUNT} keyword defines the number of extra
data values that accompany each data structure while \keyw{GCOUNT}
defines the number of data structures.  These two keywords are
inherited from the random-groups format and have specific values and
meanings in each of the three extensions so far defined.  The total
number of bits in the binary data of a conforming extension is given
by
\begin{equation}
N\sub{bits} = | \keyw{BITPIX} | \times \keyw{GCOUNT} \times (
  \keyw{PCOUNT} + \keyw{NAXIS1} \times \keyw{NAXIS2} \times \ldots
  \times \keyw{NAXIS}N ) \, ,
\end{equation}
where $N\sub{bits}$ must be non-negative.  The last data record in
the HDU is filled with binary zeros or ASCII blanks in the case of the
\keyw{TABLE} extension.

The first defined extension was described by Harten
\etal~(1988~\cite{HGGW88}).  This \keyw{TABLE} extension transmits
tabular data in the form of columns and rows all represented in ASCII
characters.  For this extension, \keyw{NAXIS} is 2, \keyw{BITPIX} is
8, \keyw{NAXIS1} is the total number of bytes (characters) in a row,
\keyw{NAXIS2} is the number of rows, \keyw{PCOUNT} is zero, and
\keyw{GCOUNT} is one.  New required keywords define the number of
logical columns in the table, the start position in the row for each
logical column, and the format used to encode the value of each
logical column.  Optional reserved keywords may be used to name the
columns and their units, to rescale the values in the columns, to
define the representation of null (not-valid) values in each column,
and to recommend display formats for each column.  This extension is
useful for transmitting tables of data traditionally maintained in
character form such as star catalogues.  The encoding and decoding of
binary data into ASCII is expensive in computer time and normally
causes either a loss in accuracy or a substantial expansion in the
data volume.  Therefore, the binary tables extension, to be discussed
below, is now the table extension of choice.

The next extension was described by Ponz \etal~(1994~\cite{PTM94}) to
allow a collection of associated images to be transmitted in a single
FITS file.  Each \keyw{IMAGE} extension transmits a single
$n$-dimensional array whose format, units, dimensions, coordinates,
etc.~need not match those of the primary image (if there is one) or
those of other \keyw{IMAGE} extensions within the FITS file.  The
\keyw{IMAGE} extension has been used to transmit images from separate
quadrants of a detector device, each of which have different
coordinates and image defects, and to transmit aligned images of
different physical parameters including images of data reliability.
The \keyw{BITPIX}, \keyw{NAXIS}, and \keyw{NAXIS$j$} keywords are used
as in basic FITS images, \keyw{PCOUNT} is zero, and \keyw{GCOUNT} is
one.  No reserved keywords are defined specifically for this
extension.

The binary table extension was proto-typed as early as 1984 and was
finally published in a more general form by Cotton
\etal~(1995~\cite{CTP95}).  This extension allows the transmission of
any form of data that may be viewed in a general way as a collection
of rows and columns.  Each row must have the same length in bytes and
all values within a column must have the same binary format and
dimensionality.  However, each column may have any one of the standard
formats including logical, bit, unsigned byte, \hbox{16-,} \hbox{32-,}
and 64-bit two's complement integer, single- and double-precision
floating-point, single- and double-precision complex, and 32- and
64-bit pointers into an additional data area.  The value contained
within a column may be a scalar or an array.  The required and
important optional keywords reserved by the \keyw{BINTABLE} extension
are listed in Table~\ref{tab:data.bintab}.
\begin{table}
\caption{Binary table extension header required keywords}
\label{tab:data.bintab}
\begin{center}
\begin{tabular}{|lrrl|}
\cline{1-4}
&  & & \\ [\tablerowgapbefore]
{\bf Keyword} & = & {\bf Value} & {\bf Comment} \\ [\tablerowgapafter]
\keyw{XTENSION} & = & \keyw{'BINTABLE'} & / Names extension type \\
\keyw{BITPIX}   & = & 8  & / Binary data encoding \\
\keyw{NAXIS}    & = & 2  & / Number axes in array \\
\keyw{NAXIS1}   & = & $n_1$ & / Number bytes in each row \\
\keyw{NAXIS2}   & = & $n_2$ & / Number rows \\
\keyw{PCOUNT}   & = & $p$   & / Number bytes of heap data \\
\keyw{GCOUNT}   & = & 1     & / Number data groups \\
\keyw{TFIELDS}  & = & $C$   & / number of columns \\
\keyw{TFORM1}   & = & {\tt '$format_1$'} & / column 1 format, count \\
\keyw{TFORM2}   & = & {\tt '$format_2$'} & / column 2 format, count \\
$\ldots$       &   &       & / other \keyw{TFORM$n$} as needed \\
\keyw{TFORM$C$} & = & {\tt $format_C$'} & / column $C$ format, count \\
\keyw{TTYPE$n$} & = & {\tt '$col\_name$'} & / column $n$ name \\
\keyw{TUNIT$n$} & = & {\tt '$col\_unit$'} & / column $n$ units \\
\keyw{TSCAL$n$} & = & $S_n$ & / column $n$ scaling parameter \\
\keyw{TZERO$n$} & = & $Z_n$ & / column $n$ offset parameter \\
\keyw{TDIM$n$}  & = & {\tt '$(i,j,k,l,\ldots)$'} &
                           / column $n$ array dimensions \\
$\ldots$       &   &       & other keywords \\
\keyw{END}      &   &       & \\ [\tablerowgapafter] \cline{1-4}
\end{tabular}
\end{center}
\end{table}
Two special keywords \keyw{TFIELDS} and \keyw{TFORM$n$} for $n = 1,
\keyw{TFIELDS}$ are required, while a number of others are defined and
very useful.  \keyw{PCOUNT} is used to introduce a completely
unstructured data area called the ``heap'' which follows the
well-structured binary table.  This data area is a special concept
that allows the table column to contain two numbers, a length and a
pointer into the heap data area.  The effect is to allow variable
length arrays within one or more columns of the table.  See the FITS
Definition at \keyw{http://fits.gsfc.nasa.gov/} for a detailed
description including some advice regarding the use of the heap or
variable-length array concept.

The IAU FITS Working Group was set up by Commission 5 of the IAU in
1988 and has been chaired very ably by Preben Grosb\o l followed by
Donald Wells and now William Pence.  This Working Group maintains a
registry of conventions that have been layered upon the formally
adopted FITS formats.  See \keyw{http://fits.gsfc.nasa.gov/} for
details.  These include conventions for maintaining a binary checksum
of the FITS file, for associating keyword values in a hierarchical
structure, for continuing keyword values on more than one 80-byte
field, for inheriting primary-header keyword values in a secondary
HDU, and for associating HDUs in a hierarchical structure.  The
conventions also deal with special semantic definitions for
specialized areas of astronomy including optical interferometry,
multi-beam radio telescopes, and radio interferometers, particularly
very long baseline arrays.  This last (Greisen 2011~\cite{G11})
provides a detailed example of the extensive implementation of binary
tables.

\subsection{World coordinates}

Almost all of the format described above is syntactic rather than
semantic.  A fully general FITS reader will correctly interpret all
keywords and binary data sent to it, creating the local equivalent of
image arrays and tables.  But without further agreements on semantics,
the actual meaning of the arrays and table columns will not be
understood.  For data from one telescope to be compared with data from
another --- and that is much of what modern astronomy is about --- the
celestial positions, frequencies, polarizations, times, \etal~of each
data value must be known.  The transmission of this information has
become known as the World Coordinate System (WCS).  The methods used
to describe the WCS keywords in FITS are summarized in the definition
document (Pence \etal~2010~\cite{PCPSS10}) and were initially
published by Greisen \&\ Calabretta (2002~\cite{GC02}), Calabretta \&\
Greisen (2002~\cite{CG02}), and Greisen \etal~(2005~\cite{GCVA05}) to
describe, respectively, the fundamental methods for handling WCS and
then apply them to celestial and spectral coordinates.

The simplest method to convey the coordinate values for each value of
the data would be to transmit a complete array of coordinates with
each value.  This would be rather expensive (\eg~five double-precision
numbers for each single-precision value) and would not recognize the
connections between the coordinates of each value.  For example, each
two-dimensional image might well have been recorded at a single
frequency, polarization, and time with a well-established geometric
connection between the celestial coordinates of each pixel.  The FITS
WCS conventions thus provide for methods to describe the relationship
of physical coordinates to pixel position within the data array.  For
the few remaining pathological cases, a table look-up method has also
been defined (see Section~\ref{sec:data.LOGTAB}).  The most obvious
case requiring table look-up would be a collection of images taken at
the same physical coordinates at a set of times determined by the
vagaries of weather and time allotment committees.

\begin{figure}
\begin{center}
\resizebox{!}{3.5in}{\putfig{01}}
\caption{Schematic process for computing world coordinates from pixel
  coordinates.}
\label{fig:data.basicwcs}
\end{center}
\end{figure}

In the basic view, pixels ($p_j$) are numbered from 1 to
\keyw{NAXIS$j$} along axis $j$.  A linear matrix transformation
($m_{ij}$ = \keyw{PC$i$\_$j$}) is applied to the pixel numbers after
they have been shifted by a reference pixel ($r_j$ = \keyw{CRPIX$j$}).
In one of the two allowed representations, the ``intermediate pixel
coordinates'' are then scaled to ``intermediate world coordinates''
($s_i$ = \keyw{CDELT$i$}) in physical units (degrees, Hz, etc.), while
the other representation combines the scaling into the matrix
multiplication.  This scheme is illustrated in
Fig.~\ref{fig:data.basicwcs} and is expressed as
\begin{equation}
   x_i = \sum_j s_i m_{ij} (p_j - r_j) \, .
\label{eq:data.IWCoord}
\end{equation}
The intermediate world coordinates are described as having a value in
world coordinates at the reference pixel (\keyw{CRVAL$i$}) and a type
(\keyw{CTYPE$i$})\@.  The 8-character type string takes the form
\keyw{ABCD-XYZ} where the \keyw{ABCD} gives the name of the physical
coordinate (\eg~\keyw{FREQ}, \keyw{TIME}, \keyw{RA--}, \keyw{GLAT})
while the \keyw{XYZ} gives a label for the possibly non-linear
algorithm required to go from intermediate to actual world
coordinates.  The allowed values for \keyw{ABCD} and \keyw{XYZ} must
be established by agreement as must any additional parameters
(\keyw{PV$i$\_$m$} and \keyw{PS$i$\_$m$}) required by the particular
algorithm.  Coordinate types not in ``4-3'' form are taken to be
linear.  In that case, the world coordinate is the sum of the
intermediate world coordinate and the reference value.

Three subtleties should be mentioned at this point, before discussing
the details of the prescriptions for particular kinds of coordinates.
First, the initial FITS paper by Wells \etal~(1981) contained an
example in which a two-dimensional image was described with \keyw{NAXIS
  = 4} in order to attach four physical coordinates to the image.
With \keyw{NAXIS3 = 1} and \keyw{NAXIS4 = 1} this was a reasonable way
to describe the image.  However, some software systems were reluctant
to accept data with ``four'' axes, so a new keyword \keyw{WCSAXES} was
invented (Greisen \&\ Calabretta, 2002~\cite{GC02}).  This
allows, for example, \keyw{NAXIS = 2} and \keyw{WCSAXES = 4} to satisfy
both the need for four coordinate types with the desire to count only
``real'' axes.  Second, for some data sets, particularly spectroscopic
ones, it may be desirable to provide more than one coordinate
description.  The letter $a$ trailing the keywords shown in
Fig.~\ref{fig:data.basicwcs} is a single character appended to the
normal keyword to specify an alternate description.  The primary
description uses a blank or null character, while secondary
descriptions may use any of the letters \keyw{A} through \keyw{Z}.
Note that all coordinate keywords must be specified for an alternate
description even if they do not differ from those of the primary
description.  Third, the keywords needed to provide coordinate
descriptions for data in tables are defined to be very similar to
those appearing in primary and image HDUs.  However, since table
keywords must contain additional parameters (column number) and cannot
be longer than eight characters, the spellings of these keywords are
somewhat different.  See all of the fundamental WCS papers for
discussions of table coordinate keywords and their use.

There are several packages of subroutines to assist you in programming
with World Coordinates.  The most widely used of these is \keyw{wcslib}
by Mark Calabretta and all of them may be obtained following links
from the main FITS web site (\keyw{http://fits.gsfc.nasa.gov/}).

\subsubsection{Celestial coordinates}

The intermediate world coordinates, $(x,y)$, of an image of the sky
need to be converted to longitude and latitude in some celestial
system so that images taken by one telescope may be compared with
those taken with a different telescope.  There are a wide variety of
projections of the celestial sphere onto a plane, some of which may be
seen as literal optical projections with various locations for the
light source while others are cylindrical or conic projections and
still others are mathematical constructs allowing the full celestial
sphere to be imaged.  Many have special properties, such as equal
area, which suggest their use for particular imaging problems.
Calabretta \&\ Greisen (2002~\cite{CG02}) describe 26 of these
projections in mathematical detail while Calabretta \&\ Roukema
(2007~\cite{CR07}) have added the HEALpix projection used to aid
analysis of data over the full sphere.  The intermediate world
coordinates (or projection-plane coordinates) are first converted to
``native spherical coordinates'', $(\phi,\theta)$, on a coordinate
system determined by the type of the projection (the \keyw{XYZ} part
of the \keyw{CTYPE$i$ = 'ABCD-XYZ'}).  The reference point of the
projection, $(x,y) = (0,0)$, is either the north pole of the native
spherical coordinates (zenithal projections), the zero point,
$(\phi,\theta) = (0,0)$ (cylindrical and global projections), or the
mid-point in conic projections.  The zenithal polynomial (\keyw{ZPN})
has special requirements.

The mathematical details of these projections and their history and
reasons for their use are too extensive to describe here; see the
above references.  Fig.~\ref{fig:data.Zenproj} illustrates the
geometry of zenithal projections.  The projection plane is tangential
to the sphere at the reference point and the projection source is at
some distance $\mu$ along a vertical from that point.  The reference
point is the north pole of the native spherical system.  Three common
geometries are illustrated, with the native spherical system
\keyw{TAN}, used as a good approximation to optical telescopes, shown
on the right.  Cylindrical projections are made by wrapping the image
plane into a cylinder surrounding the celestial sphere and then
projecting the coordinates of the sphere in various ways, not all of
which are geometric (Fig.~\ref{fig:data.Cylproj}).  The ``linear''
projection \keyw{CAR} is illustrated and appears to be a serious source
of confusion.  Images that are ``linear'' over a fairly large area are
frequently, in fact, in a modified cylindrical projection called
Sanson-Flamsteed (\keyw{SFL}).  In that projection, $x = \phi \cos
\theta = \phi \cos y$, rather than simply $x = \phi$ of \keyw{CAR}\@.

\begin{figure}
\begin{center}
\resizebox{4.25in}{!}{\putfig{02a}\putfig{02b}}
\caption{Zenithal projections: (left) geometry showing the three
  important special cases: gnomic (\keyw{TAN}) typical of optical
  telescope systems, stereographic (\keyw{STG}), and orthographic
  (\keyw{SIN}) used by radio interferometers; (right) Gnomic
  (\keyw{TAN}) projection native coordinates, diverges at $\theta =
  0$.}
\label{fig:data.Zenproj}
\end{center}
\end{figure}

\begin{figure}
\begin{center}
\resizebox{4.25in}{!}{\putfig{03a}\putfig{03b}}
\caption{Cylindrical projections: (left) geometry; (right) the plate
  carr\'{e}e (\keyw{CAR}) projection native coordinates, no limits.}
\label{fig:data.Cylproj}
\end{center}
\end{figure}

In conic projections, the image plane is wrapped around the sphere in
a conical fashion after which the coordinates are projected and the
cone unwrapped (Fig.~\ref{fig:data.Conproj}).  The native coordinate
system is chosen so that its pole is parallel to the axis of the cone;
the reference point is taken to be at the midpoint $(\phi,\theta) =
(0, \theta\sub{avg})$.  The zenithal and cylindrical projections are
actually special cases of conic, but treating them separately avoids
the mathematical difficulties associated with treating them as conics.

\begin{figure}
\begin{center}
\resizebox{4.25in}{!}{\putfig{04a}\putfig{04b}}
\caption{Conic projections: (left) geometry; (right) the conic
  perspective (\keyw{COP}) projection native coordinates, with
  $\theta_1 = 20\degr$, $\theta_2 = 70\degr$, diverges at
  $\theta = -45\degr$.}
\label{fig:data.Conproj}
\end{center}
\end{figure}

Images of the entire celestial sphere suffer inevitably from a variety
of distortions.  The \keyw{SFL} projection, mentioned above, was
developed from cylindrical projections to make the lengths of
parallels of latitude be true.  The Hammer-Aitoff (\keyw{AIT})
projection shown in Fig.~\ref{fig:data.Globalproj} is similar but
reduces the geometric distortion in polar regions by making the angle
between lines of native longitude and latitude more nearly
perpendicular.  Some of the distortion is then moved to the equator
which is no longer evenly divided by the meridians of native
longitude.  Displaying the whole sphere as six cube faces has been
used for analysis of microwave background observations by satellites.
The \keyw{QSC} projection shown is more mathematically correct (and
difficult) than that used by the Cobe satellite.  The HEALpix
projection (Calabretta \&\ Roukema~2007~\cite{CR07}) is now the
preferred pixelization of cosmic microwave background studies since
its organization of the data optimizes spherical harmonic and other
analysis methods on the full sphere.

\begin{figure}
\begin{center}
\resizebox{4.25in}{!}{\putfig{05a}\putfig{05b}}
\caption{Global projections: (left) Hammer-Aitoff (\keyw{AIT})
  projection native coordinates; (right) Quadrilateralized spherical
  cube (\keyw{QSC}) projection native coordinates.}
\label{fig:data.Globalproj}
\end{center}
\end{figure}

Finally, the native celestial coordinates must be converted to the
desired celestial coordinates through a coordinate rotation.  The type
of celestial coordinate is given by \keyw{ABCD} above from a short list
of known coordinates including \keyw{RA--} and \keyw{DEC-} for right
ascension and declination, \keyw{GLON} and \keyw{GLAT} for Galactic
longitude and latitude, and so forth.  The values of the celestial
coordinates at the reference pixel are given by the values of the
corresponding \keyw{CRVAL$ia$} and are associated with the native
coordinates of that point.  The coordinate rotation requires one more
angle which is taken to be \keyw{LONPOLE$a$}, the native longitude of
the celestial pole.  In a few cases, \keyw{LATPOLE$a$},
the native latitude of the celestial pole, must also be given to
eliminate multiple solutions of the equations.  See Calabretta \&\
Greisen (2002~\cite{GC02}) for the details of the computation.

Fig.~\ref{fig:data.Obliqueproj} illustrates the effects of different
values of the reference coordinates (\keyw{CRVAL$ia$} or
$(\alpha_0,\delta_0)$) and \keyw{LONPOLE} ($\phi\sub{p}$).  The first
graticule, A, when compared to the non-oblique native coordinate
graticule presented earlier (Fig.~\ref{fig:data.Globalproj}),
illustrates the effect of changing $\delta\sub{p}$ (and hence
$\delta_0$).  Comparison of graticules A and B shows that changing
$\alpha\sub{p}$ (and hence $\alpha_0$) results in a simple change in
origin of longitude.  Graticules A, C, and D show the more interesting
effect of varying $\phi\sub{p}$.  For the zenithal projections the
result is indistinguishable from a bulk rotation of the image plane,
but this is not the case for any other class of projection.

\begin{figure}
\begin{center}
\resizebox{4.25in}{!}{\putfig{06}}
\caption{Celestial longitude and latitude plots for the Hammer-Aitoff
  (\keyw{AIT}) projection with parameters
 (A) $\alpha\sub{p} =   0$,
     $\delta\sub{p} =  30\degr$,
     $\phi\sub{p}   = 180\degr$;
 (B) $\alpha\sub{p} =  45\degr$,
     $\delta\sub{p} =  30\degr$,
     $\phi\sub{p}   = 180\degr$;
 (C) $\alpha\sub{p} =  0$,
     $\delta\sub{p} =  30\degr$,
     $\phi\sub{p}   = 150\degr$;
 (D) $\alpha\sub{p} =  0$,
     $\delta\sub{p} =  30\degr$,
     $\phi\sub{p}   =  75\degr$.}
\label{fig:data.Obliqueproj}
\end{center}
\end{figure}

Additional FITS keywords needed to define celestial coordinates fully
include \keyw{RADESYS$a$} to specify the reference system for equatorial
or ecliptic coordinates and \keyw{EQUINOX$a$} to specify the epoch of
the mean equator and equinox in years.  The former keyword has allowed
values \keyw{'ICRS'}, \keyw{'FK5'}, and \keyw{'GAPPT'}, plus \keyw{'FK4'}
and \keyw{FK4-NO-E'} which refer to older reference systems whose use
is deprecated.

\subsubsection{Spectroscopic coordinates}
\label{sect:data.specoord}

Spectroscopic coordinates have an undeserved reputation for
difficulty.  Unlike projective celestial coordinates discussed above,
there is only one fundamental equation, namely wavelength times
frequency equals the speed of light, or $\lambda \nu = c$.  All
spectroscopic coordinates are simply proportional to $\lambda$, $\nu$,
or the apparent radial velocity ($\vv$), with the exception of the
wavelength in air.  These three quantities are related by
\begin{eqnarray}
\nu     & = & \frac{c}{\lambda} \\
\nu     & = & \nu_0 \: \frac{c - \vv}{\sqrt{c^2 - \vv^2}} \\
\lambda & = & \frac{c}{\nu} \\
\lambda & = & \lambda_0 \: \frac{c + \vv}{\sqrt{c^2 - \vv^2}} \\
\vv     & = & c \: \frac{\nu_0^2 - \nu^2}{\nu_0^2 + \nu^2} \\
\vv     & = & c \: \frac{\lambda^2-\lambda_0^2} {\lambda^2+\lambda_0^2}
\end{eqnarray}
The real difficulties in spectroscopy arise in part from the
difficulty of building linear spectrometers at optical and infra-red
wavelengths.  Non-linear algorithms which approximate real, if
somewhat idealized, optical dispersers are described in Greisen
\etal~(2005~\cite{GCVA05}) which is the fundamental reference for
spectroscopic WCS in FITS\@.  The other significant complication in
spectroscopy is the definition of the coordinate frames used to
convert observed frequency into the conventional or apparent velocity
of the astronomical object.  The FITS keywords used to address these
issues will be listed below, but discussions of the reference frames
and other difficulties related to velocity are to be found in the
above reference.

\begin{table}
\caption{Spectral coordinate type codes, (characters 1--4 of
    \keyw{CTYPE$ia$}).}
\label{tab:data.speclist}
\begin{center}
\begin{tabular}{|llccll|}
\cline{1-6}
&  & & & & \\ [\tablerowgapbefore]
{\bf Code} & {\bf Name} & {\bf Sym} & {\bf Avar} & {\bf Units}
    & {\bf Formula} \\ [\tablerowgapafter]
\keyw{FREQ} & Frequency
            & $\nu$
            & \keyw{F}
            & Hz
            &   \\
\keyw{ENER} & Energy
            & $E$
            & \keyw{F}
            & J
            & $h \nu$ \\
\keyw{WAVN} & Wavenumber
            & $\kappa$
            & \keyw{F}
            & m$^{-1}$
            & $\nu / c$ \\
\keyw{VRAD} & Radio velocity
            & $V$
            & \keyw{F}
            & m\,\,s$^{-1}$
            & $c (\nu_0 - \nu) / \nu_0$ \\
\keyw{WAVE} & Vacuum wavelength
            & $\lambda$
            & \keyw{W}
            & m
            & \\
\keyw{VOPT} & Optical velocity
            & $Z$
            & \keyw{W}
            & m\,\,s$^{-1}$
            & $ c (\lambda - \lambda_0) / \lambda_0$ \\
\keyw{ZOPT} & Redshift
            & $z$
            & \keyw{W}
            & --
            & $(\lambda - \lambda_0) / \lambda_0$ \\
\keyw{AWAV} & Air wavelength
            & $\lambda\sub{a}$
            & \keyw{A}
            & m
            &  \\
\keyw{VELO} & App.~radial velocity
            & $\vv$
            & \keyw{V}
            & m\,\,s$^{-1}$
            &  \\
\keyw{BETA} & Beta factor
            & $\beta$
            & \keyw{V}
            & --
            & $\vv / c$ \\ [\tablerowgapafter] \cline{1-6}
\end{tabular}
\end{center}
\end{table}

The list of spectroscopic coordinates used in FITS --- the first part
of the value of \keyw{CTYPE$ia$ = 'ABCD-XYZ'} --- is shown in
Table~\ref{tab:data.speclist}.  The non-linear algorithm codes used to
relate these coordinates have a fixed pattern in which the first
character specifies the physical parameter type in which the data are
regularly sampled from the list of ``associate variables'' wavelength
(\keyw{W}), frequency (\keyw{F}), apparent radial velocity (\keyw{V}),
and wavelength in air (\keyw{A})\@.  The second character is \keyw{2}
and the third character specifies the physical parameter type from
the list of associate variables in which the coordinate is expressed.
Thus, algorithm code \keyw{F2V} is used for data regularly sampled in
frequency but with keywords \keyw{CUNIT$ia$}, \keyw{CRVAL$ia$}, and
\keyw{CDELT$ia$} or \keyw{CD$i$\_$ja$} expressed in apparent radial
velocity (\keyw{VELO} or \keyw{BETA}) values and units.

Note that velocities require the presence of a reference spectral line
to provide the parameter $\nu_0$ or $\lambda_0$.  These parameters are
given in the FITS header with keywords \keyw{RESTFRQ$a$} (in Hz) and
\keyw{RESTWAV$a$} (in m), respectively.  Keyword \keyw{RESTFREQ} has
been widely used for the primary WCS ($a$ null).  Note that the
presence of multiple spectral lines within a single observation is one
of the reasons to use alternate WCS descriptions with different values
of $a$.

Velocities are more interesting scientifically if they are corrected
at least for the diurnal and annual motions of the observer and
perhaps also for the motion of Solar System barycentre and even of the
Galaxy.  Corrections from one velocity reference frame to another are
made from the scalar product of the celestial direction vector and the
relative velocity vector of the two reference frames.  The FITS
keyword \keyw{SPECSYS$a$} gives a character string to specify the
reference frame in which velocities are expressed in the HDU header.
Since the dot product in the velocity correction makes most velocities
a function of celestial coordinate, it is also necessary to specify
the velocity reference frame in which velocities are not dependent on
coordinate.  This keyword, \keyw{SSYSOBS$a$}, has the obvious default
value of \keyw{'TOPOCENT''} or topocentric.  Other allowed values of
these keywords include \keyw{GEOCENTR'}, \keyw{'BARYCENT'},
\keyw{'LSRK'} (kinematic local standard of rest), \keyw{'LSRD'}
(dynamic local standard of rest), \keyw{'GALACTOC'},
\keyw{'LOCALGRP'}, \keyw{'CMBDIPOL'} (cosmic microwave background
dipole), and \keyw{'SOURCE'}\@.  The last choice allows velocities
within an object to be expressed relative to each other, but requires
that the source velocity \keyw{ZSOURCE$a$} be given with respect to
some other standard of rest specified with \keyw{SSYSSRC$a$}\@.

In order for software to compute the corrections from topocentric
observations to position-dependent velocities with respect to some
other standard of rest, it is necessary to provide the date of the
mid-point of the observation (\keyw{MJD-AVG} or \keyw{DATE-AVG}) and the
location of the observatory.  Rather than depend on one of the very
numerous geodetic datums, FITS requests the position in a
right-handed, geocentric, Cartesian form using keywords \keyw{OBSGEO-X},
\keyw{OBSGEO-Y}, and \keyw{OBSGEO-Z}\@.  To aid in this computation, the
FITS writer is encouraged to provide the relative velocity between the
observer and the selected standard of rest in the direction of the
celestial reference coordinate using keyword \keyw{VELOSYS$a$}\@.

\subsubsection{Conventional coordinates}

The coordinates discussed in the previous two sections have values
which are continuous, at least over some defined range.  Wells
\etal~(1981~\cite{WGH81}) introduced an additional concept of
``conventional''  coordinates.  These are coordinates whose values can
only be integer and hence cannot be interpolated.  The reference pixel
value \keyw{CRVAL$ia$} and coordinate increment \keyw{CDELT$ia$} must
be integers and no other kind of coordinate may be rotated into a
conventional coordinate through the \keyw{PC$i$\_$ja$} coordinate
rotation matrix.  Furthermore, the association of values to these
coordinates is solely by convention.

The simplest such coordinate is named \keyw{COMPLEX} and has values 1,
2, and 3 for the real part, imaginary part, and weight of a complex
number.  This axis is widely used for radio interferometric fringe
visibility data which are fundamentally complex numbers with an
associated weight ($\sigma^{-2}$).  Another conventional axis, also
widely used for radio interferometric data, is the \keyw{STOKES} or
polarization axis.  Conventional values 1 through 4 are used for the
standard Stokes I, Q, U, and V polarizations, respectively.  Values
$-1$ through $-4$ are used for the polarization cross products RR, LL,
RL, and LR, respectively, from an interferometer observing in circular
polarization.  For a linearly-polarized instrument, polarization
products \Hi{VV, HH, VH, HV}\footnote{\Hi{previously called XX, YY,
XY, and YX}} are assigned values $-5$ through $-8$, respectively.

\subsubsection{\keyw{LOG} and \keyw{TAB} projections}
\label{sec:data.LOGTAB}

Two very general non-linear ``projections'' were first specified by
Greisen \etal~(2005~\cite{GCVA05}).  Since they appeared in the
spectroscopic WCS paper and have well-known applications to
spectroscopy, they have been widely assumed to be relevant only to
spectroscopic axes.  This is not true; both may be used for any type
of coordinate whatsoever.

The first of these is the \keyw{LOG} or logarithm, non-linear
projection.  If $x_i$ is given by Eq.~\ref{eq:data.IWCoord}, then
the physical coordinate $S_i$ on logarithmic axis $i$ is given by
\begin{equation}
    S_i = S_{ri} e^{x_i/S_{ri}}   \, ,
\end{equation}
where $S_{ri}$ is the reference pixel value (\keyw{CRVAL$ia$}) on that
axis.  This form of the logarithm has two desirable attributes.
First, the coordinate is roughly linear ($S_i \approx S_{ri} + x_i$)
near the reference pixel and, second, the coordinate specifications
for \keyw{CRVAL$ia$}, \keyw{CDELT$ia$}, and \keyw{CD$i$\_$ja$} are all in
sensible physical units such as \keyw{Hz} or \keyw{m} as specified in
\keyw{CUNIT$ia$}\@.

The second of these non-linear algorithms is a ``when all else fails''
table look-up to obtain the coordinate values.  The definition of this
algorithm has an implementation --- and perhaps even philosophical ---
difficulty.  The coordinates of the data in one HDU depend, in this
algorithm, on the contents of other HDUs, one for each \keyw{TAB} type
axis.  Despite this difficulty, there is almost no other way to
describe, for example, an arbitrary list of the times at which each
plane of the image was recorded.  One could avoid a \keyw{TAB} axis in
this case by writing each separate image in a different FITS file or
FITS \keyw{IMAGE} extension.  However, this would remove the display
and analysis advantages of having all the data available in a single
``cube.''  Many modern instruments are capable of nearly arbitrary
placement of their simultaneous recordings along one or more axes such
as celestial coordinate and/or frequency or wavelength.  Combining the
simultaneously recorded data in $n$-dimensional arrays having table
look-up axes may well achieve added value and simplicity during
calibration, editing, display, and analysis stages of the subsequent
data processing.

\begin{figure}
  \centerline{
    \resizebox{9cm}{!}{ \Large
      \begin{pspicture}(440pt,417pt)
        \psset{xunit=1pt,yunit=1pt,runit=1pt}
        \psset{linewidth=2.5}
        \psframe(0,228)(400,418)
        \psframe(-20,0)(420,220)
        \psset{linewidth=1.4}
        \rput(200,402){{\LARGE \keyw{TAB} without an indexing vector}}
        \rput(200,363){\psframebox{$\psi_m = \keyw{CRVAL}i\, +\,
            \sum\limits_{j=1}^{N}
            \keyw{CD}i{\tt \_}j\, (p_j - \keyw{CRPIX}j)$}}
        \qline(200,341)(200,326)
        \rput(200,316){single-row table \keyw{PS$i$\_0}}
        \qline(200,308)(200,298)
        \rput(200,288){$\psi_m$ is a direct index into table cell
              coordinate array}
        \psline(200,279)(200,269)(180,269)(180,259)
        \psline(176,263)(180,259)(184,263)
        \rput(242,266){\keyw{PS$i$\_1}}
        \rput(200,248){\psframebox{$C_1\, C_2\, C_3\, C_4\, C_5\,
              C_6\, C_7\, \ldots\, \, C_K$}}
%
        \rput(200,204){{\LARGE \keyw{TAB} with an indexing vector}}
        \rput(200,165){\psframebox{$\psi_m = \keyw{CRVAL}i\, +\,
           \keyw{CDELT}i \,\,   \sum\limits_{j=1}^{N}
           \keyw{PC}i{\tt \_}j\, (p_j - \keyw{CRPIX}j)$}}
        \qline(200,143)(200,128)
        \rput(200,120){single-row table \keyw{PS$i$\_0}}
        \qline(200,113)(200,103)
        \rput(200,95){Find index $\Upsilon_m$ by interpolating
            $\psi_m$ in table cell indexing vector $\Psi_k$}
        \psline(200,87)(200,78)(113,78)(113,68)
        \psline(109,72)(113,68)(117,72)
        \rput(60,76){\keyw{PS$i$\_2}}
        \rput(340,76){\keyw{PS$i$\_1}}
        \rput(108,57){\psframebox{$\Psi_1\, \Psi_2\, \Psi_3\,
            \Psi_4\, \Psi_5\, \Psi_6\, \Psi_7\, \ldots\, \, \Psi_K$}}
        \rput(292,57){\psframebox{$C_1\, C_2\, C_3\, C_4\, C_5\,
            C_6\, C_7\, \ldots\, \, C_K$}}
        \psline(113,48)(113,22)(128,22)
        \psline(124,26)(128,22)(124,18)
        \rput(207,29){$\Upsilon_m$ selects point in table}
        \rput(207,15){cell coordinate array $C_{\Upsilon_m}$}
        \psline(284,22)(299,22)(299,46)
        \psline(295,42)(299,46)(303,42)
      \end{pspicture}
      }
   }
\caption{Logic flow in the \keyw{TAB} algorithm with and without an
  index vector.  The coordinate array subscript $m$ associated with
  intermediate world coordinate axis $i$ is specified with keyword
  \keyw{PV$i$\_3}.  In the case of an independent \keyw{TAB} axis, it
  would have value 1.  Note that $\psi_m$ is $x_i$ computed with
  Eq.~\ref{eq:data.IWCoord}.}
\label{fig:data.TABbasic}
\end{figure}

The basic concept of the \keyw{TAB} algorithm is rather simple.  The
intermediate world coordinate $x_i$ is found with
Eq.~\ref{eq:data.IWCoord}.  A vector of index values is then
searched to locate the two index values surrounding $x_i$, where the
index vector values must be monotonically increasing or decreasing.
The linearly interpolated index value is then used as a pointer into
an array of coordinate values, where, for example, an index pointer of
7.3 would require a suitable interpolation between the seventh and
eighth value in the coordinate array.  This basic concept is
illustrated symbolically in Fig.~\ref{fig:data.TABbasic}.  All of the
complexities in the description of the \keyw{TAB} algorithm in Greisen
\etal~(2005~\cite{GCVA05}) come from the extension of this
straightforward concept to $M$ related and inseparable axes.  Even the
subscript $m$ in Fig.~\ref{fig:data.TABbasic} arises because axis $i$
is associated  with the $m^{\rm th}$ axis of the coordinate array.
Here we will ignore this and other practical difficulties; they are
addressed fully in Greisen \etal~(2005~\cite{GCVA05}).

\begin{figure}
  \centerline{
    \resizebox{9cm}{!}{ \Large
      \begin{pspicture}(420pt,322pt)
        \psset{xunit=1pt,yunit=1pt,runit=1pt}
        \psset{linewidth=2.5}
        \rput(200,310){\LARGE multiple spectral channels}
        \rput(200,290){\LARGE at each of multiple base frequencies}
        \psframe(0,203)(400,275)
        \psframe(-10,0)(410,165)
        \psset{linewidth=1.4}
        \rput(180,260){\LARGE frequency}
        \qline(217,260)(240,260)
        \psline(235,265)(240,260)(235,255)
        \qline( 40,250)(40,240)
        \qline( 45,250)(45,240)
        \qline( 50,250)(50,240)
        \qline( 55,250)(55,240)
        \qline( 60,250)(60,240)
        \qline( 65,250)(65,240)
        \qline( 70,250)(70,240)
        \qline(100,250)(100,240)
        \qline(105,250)(105,240)
        \qline(110,250)(110,240)
        \qline(115,250)(115,240)
        \qline(180,250)(180,240)
        \qline(188,250)(188,240)
        \qline(196,250)(196,240)
        \qline(204,250)(204,240)
        \qline(212,250)(212,240)
        \qline(220,250)(220,240)
        \qline(228,250)(228,240)
        \qline(280,250)(280,240)
        \qline(288,250)(288,240)
        \qline(296,250)(296,240)
        \qline(304,250)(304,240)
        \qline(312,250)(312,240)
        \qline(320,250)(320,240)
        \qline(328,250)(328,240)
        \qline(347,250)(347,240)
        \qline(351,250)(351,240)
        \qline(355,250)(355,240)
        \qline(359,250)(359,240)
        \qline(363,250)(363,240)
        \rput(20,229){\#}
        \rput(20,215){$\nu$}
        \rput(40,229){1}
        \rput(40,215){$\nu_1$}
        \rput(70,229){7}
        \rput(100,229){8}
        \rput(100,215){$\nu_2$}
        \rput(115,229){11}
        \rput(180,229){12}
        \rput(180,215){$\nu_3$}
        \rput(228,229){18}
        \rput(280,229){19}
        \rput(280,215){$\nu_4$}
        \rput(328,229){25}
        \rput(347,229){26}
        \rput(347,215){$\nu_5$}
        \rput(363,229){30}
        \rput(200,178){\LARGE\keyw{TAB} parameters and values}
        \rput(200,150){\keyw{CRVAL$i$}\ \eq\ \keyw{CRPIX$i$}\ \eq\
            \keyw{CDELT$i$}\ \eq\ \keyw{PC$i$\_$i$}\ \eq\ 1}
        \rput(200,130){single-row table \keyw{PS$i$\_0}}
        \rput(200,110){values in the cell of the indexing vector
             \keyw{PS$i$\_2}\ \eq}
        \rput(200,85){\psframebox{$1 ,\, 7 ,\, 8 ,\, 11 ,\, 12 ,\,
              18 ,\, 19 ,\, 25 ,\, 26 ,\, 30$}}
        \rput(200,55){corresponding values}
        \rput(200,42){in the cell of the coordinate array
             \keyw{PS$i$\_1}\ \eq}
        \rput(200,20){\psframebox{$\nu_1,\, \nu_1+6\delta_1,\,
             \nu_2,\, \nu_2+3\delta_2,\, \nu_3,\, \nu_3+6\delta_3,\,
             \nu_4,\, \nu_4+6\delta_4,\, \nu_5,\, \nu_5+4\delta_5$}}
      \end{pspicture}
    }
  }
\caption[]{Example taken from radio interferometry using \keyw{TAB}
  with an indexing vector.  The FITS keywords shown are suitable for
  the random groups format.  The observation is made at a number of
  frequencies, with a number $N_\ell$ of regularly spaced (by
  $\delta_\ell$) spectral channels beginning from each of a number of
  arbitrary base frequencies $\nu_\ell$.  The use of an indexing
  vector reduces the number of values in the table from one array of
  30 to two arrays of 10 each.  In a real case the number of spectral
  channels would be significantly larger, making the space savings
  significant.  In this example, pixel $p_j = 6$ produces $\psi_m =
  6$.  This lies at $\Upsilon_m = 1\frac{5}{6}$.  The resulting
  coordinate is then $\frac{1}{6}\nu_1 + \frac{5}{6}\left( \nu_1 +
  6\delta_1 \right)$ which, as one would expect, equals $\nu_1 +
  5\delta_1$.  Note that this example involves only a single
  independent \keyw{TAB} axis, so that \keyw{PV$i$\_3} $= m \equiv 1$.}
\label{fig:data.Tabexample}
\end{figure}

The index vector(s) and coordinate array are columns in a
\keyw{BINTABLE} HDU in the same FITS file as the HDU that references
them.  This table has only one data row.  The \keyw{TAB} algorithm
requires a number of character-valued parameters.  \keyw{PS$i$\_0$a$}
is used to specify the \keyw{EXTNAME} of this coordinate HDU, while
\keyw{PS$i$\_1$a$} specifies the column name (\keyw{TTYPE$n_1$}) of
the coordinate array and \keyw{PS$i$\_2$a$} specifies the column name
(\keyw{TTYPE$n_2$}) of the index array.  If the index array column is
omitted, the index values are taken to be 1 through $K$, the number of
values in the coordinate array.  Note that the dimensions of the index
vector(s) and coordinate arrays are specified in the header of the
coordinate \keyw{BINTABLE} and do not need to be specified in the HDU
which is to use the coordinate table.

Let us end this section with a simple numerical example.  The Expanded
Very Large Array has a new correlator which will allow up to 64 groups
of spectral channels to be placed at more-or-less independent
frequencies and independent channel separations within the very wide
bands of the front-end receivers.  The number of channels involved are
in the thousands, but let us take much smaller numbers for simplicity.
Fig.~\ref{fig:data.Tabexample} shows 5 frequency bands with
frequencies $\nu_\ell$ which may be in any order, but are plotted for
simplicity as if they were monotonically increasing.  Each band has a
number of spectral channels separated by $\delta_\ell$.  The index
vector is monotonic, as is required, and increasing.  The intermediate
world coordinates $x_i$ have values from 1 through $N$, the total
number of spectral channels.  An example of the computation is carried
out in the figure caption.

\vfill\eject

\section{Example FITS file headers}
\label{Appen:examples}

The sample FITS header-data-units (HDUs) listed below come from a
variety of data files chosen more or less at random.  The only changes
made were to omit most {\tt HISTORY} and commentary card images and
drop multiple versions of tables, keeping only the first.

In image format, all of the image data are in binary records recorded
immediately after the primary HDU\@.  In the random groups format, all
of the visibility data are in binary records recorded after the
primary HDU and before any of the tables.  In the table form, the
small tables follow primary HDU and the the $uv$-data table HDU and
data come last.

\subsection{Primary HDU of Image File}
\label{Appe:HDUimage}
\small
\begin{alltt}
SIMPLE  =                    T /
BITPIX  =                  -32 /
NAXIS   =                    4 /
NAXIS1  =                  512 /
NAXIS2  =                  512 /
NAXIS3  =                    1 /
NAXIS4  =                    1 /
EXTEND  =                    T /Tables following main image
BLOCKED =                    T /Tape may be blocked
OBJECT  = 'NGC6503 '           /Source name
TELESCOP= 'VLA     '           /
INSTRUME= 'VLA     '           /
OBSERVER= 'AM510   '           /
DATE-OBS= '1996-02-27'         /Obs start date YYYY-MM-DD
DATE-MAP= '2011-10-25'         /Last processing date YYYY-MM-DD
BSCALE  =    1.00000000000E+00 /REAL = TAPE * BSCALE + BZERO
BZERO   =    0.00000000000E+00 /
BUNIT   = 'JY/BEAM '           /Units of flux
EQUINOX =      2.000000000E+03 /Epoch of RA DEC
VELREF  =                    2 />256 RADIO, 1 LSR 2 HEL 3 OBS
ALTRVAL =    2.60000000000E+04 /Altenate FREQ/VEL ref value
ALTRPIX =      9.609375000E-01 /Altenate FREQ/VEL ref pixel
OBSRA   =    2.67250000000E+02 /Antenna pointing RA
OBSDEC  =    7.01166666667E+01 /Antenna pointing DEC
RESTFREQ=    1.42040575200E+09 /Rest frequency
DATAMAX =      3.677410185E-01 /Maximum pixel value
DATAMIN =     -1.565772691E-03 /Minimum pixel value
CTYPE1  = 'RA---SIN'           /
CRVAL1  =    2.67250000000E+02 /
CDELT1  =     -8.333333535E-04 /
CRPIX1  =      2.560000000E+02 /
CROTA1  =      0.000000000E+00 /
CTYPE2  = 'DEC--SIN'           /
CRVAL2  =    7.01166666667E+01 /
CDELT2  =      8.333333535E-04 /
CRPIX2  =      2.570000000E+02 /
CROTA2  =      0.000000000E+00 /
CTYPE3  = 'FREQ    '           /
CRVAL3  =    1.42033693682E+09 /
CDELT3  =      2.441406250E+04 /
CRPIX3  =      1.000000000E+00 /
CROTA3  =      0.000000000E+00 /
CTYPE4  = 'STOKES  '           /
CRVAL4  =    1.00000000000E+00 /
CDELT4  =      1.000000000E+00 /
CRPIX4  =      1.000000000E+00 /
CROTA4  =      0.000000000E+00 /
HISTORY AIPS HEADER2  WTNOISE  =  1.192631721E+00 /AIPS Catalog Header Keyword
HISTORY AIPS HEADER2  SUMWTIN  =  2.456301500E+06 /AIPS Catalog Header Keyword
HISTORY AIPS HEADER2  CCFLUX   =  5.948930383E-01 /AIPS Catalog Header Keyword
HISTORY AIPS HEADER2  CCTOTAL  =  5.948930383E-01 /AIPS Catalog Header Keyword
ORIGIN  = 'AIPSprimate      COAOARN              31DEC12'    /
DATE    = '2012-01-18'   / File written on Greenwich yyyy-mm-dd
HISTORY AIPS   IMNAME='NGC6503 full' IMCLASS='ICL001' IMSEQ=   1     /
HISTORY AIPS   USERNO=   36            /
COMMENT   FITS (Flexible Image Transport System) format is defined in 'Astronomy
COMMENT   and Astrophysics', volume 376, page 359; bibcode: 2001A&A...376..359H
HISTORY AIPS   CLEAN BMAJ=  3.8286E-03 BMIN=  3.6046E-03 BPA= -82.27
HISTORY AIPS   CLEAN NITER=     1267 PRODUCT=1   / NORMAL
HISTORY AIPS   IMAGE ITYPE=2 XPOFF=  0.00000000E+00 YPOFF=  0.00000000E+00
END
\end{alltt}

\subsection{Primary HDU of Random Groups}
\label{Appe:HDUrangrp}
\small
\begin{alltt}
SIMPLE  =                    T /
BITPIX  =                  -32 /
NAXIS   =                    7 /
NAXIS1  =                    0 /No standard image just group
NAXIS2  =                    3 /
NAXIS3  =                    4 /
NAXIS4  =                   64 /
NAXIS5  =                    2 /
NAXIS6  =                    1 /
NAXIS7  =                    1 /
EXTEND  =                    T /This is the antenna file
BLOCKED =                    T /Tape may be blocked
OBJECT  = 'MULTI   '           /Source name
TELESCOP= 'EVLA    '           /
INSTRUME= 'EVLA    '           /
OBSERVER= 'TOSR0001'           /
DATE-OBS= '2010-03-08'         /Obs start date YYYY-MM-DD
DATE-MAP= '2010-03-08'         /Last processing date YYYY-MM-DD
BSCALE  =    1.00000000000E+00 /REAL = TAPE * BSCALE + BZERO
BZERO   =    0.00000000000E+00 /
BUNIT   = 'UNCALIB '           /Units of flux
EQUINOX =      2.000000000E+03 /Epoch of RA DEC
ALTRPIX =      3.300000000E+01 /Altenate FREQ/VEL ref pixel
CTYPE2  = 'COMPLEX '           /1=real,2=imag,3=weight
CRVAL2  =    1.00000000000E+00 /
CDELT2  =      1.000000000E+00 /
CRPIX2  =      1.000000000E+00 /
CROTA2  =      0.000000000E+00 /
CTYPE3  = 'STOKES  '           /-1=RR, -2=LL, -3=RL, -4=LR
CRVAL3  =   -1.00000000000E+00 /
CDELT3  =     -1.000000000E+00 /
CRPIX3  =      1.000000000E+00 /
CROTA3  =      0.000000000E+00 /
CTYPE4  = 'FREQ    '           /Frequency in Hz.
CRVAL4  =    4.89600000000E+09 /
CDELT4  =      2.000000000E+06 /
CRPIX4  =      3.300000000E+01 /
CROTA4  =      0.000000000E+00 /
CTYPE5  = 'IF      '           /Freq. group no. in CH table
CRVAL5  =    1.00000000000E+00 /
CDELT5  =      1.000000000E+00 /
CRPIX5  =      1.000000000E+00 /
CROTA5  =      0.000000000E+00 /
CTYPE6  = 'RA      '           /Right Ascension in deg.
CRVAL6  =    0.00000000000E+00 /
CDELT6  =      1.000000000E+00 /
CRPIX6  =      1.000000000E+00 /
CROTA6  =      0.000000000E+00 /
CTYPE7  = 'DEC     '           /Declination in deg.
CRVAL7  =    0.00000000000E+00 /
CDELT7  =      1.000000000E+00 /
CRPIX7  =      1.000000000E+00 /
CROTA7  =      0.000000000E+00 /
GROUPS  =                    T /
GCOUNT  =               609900 /
PCOUNT  =                    9 /
PTYPE1  = 'UU--    '
PSCAL1  =    2.04248366013E-10 /
PZERO1  =    0.00000000000E+00 /
PTYPE2  = 'VV--    '
PSCAL2  =    2.04248366013E-10 /
PZERO2  =    0.00000000000E+00 /
PTYPE3  = 'WW--    '
PSCAL3  =    2.04248366013E-10 /
PZERO3  =    0.00000000000E+00 /
PTYPE4  = 'DATE    '
PSCAL4  =    1.00000000000E+00 /
PZERO4  =    2.45526350000E+06 /
PTYPE5  = 'DATE    '
PSCAL5  =    1.00000000000E+00 /
PZERO5  =    0.00000000000E+00 /
PTYPE6  = 'BASELINE'
PSCAL6  =    1.00000000000E+00 /
PZERO6  =    0.00000000000E+00 /
PTYPE7  = 'FREQSEL '
PSCAL7  =    1.00000000000E+00 /
PZERO7  =    0.00000000000E+00 /
PTYPE8  = 'SOURCE  '
PSCAL8  =    1.00000000000E+00 /
PZERO8  =    0.00000000000E+00 /
PTYPE9  = 'INTTIM  '
PSCAL9  =    1.00000000000E+00 /
PZERO9  =    0.00000000000E+00 /
         / Where baseline = 256*ant1 + ant2 + (array#-1)/100
HISTORY FITTP DATAOUT = 'MYFITS:FITTP.117' / data written to disk file
ORIGIN  = 'AIPSprimate      COAOARN              31DEC12'    /
DATE    = '2012-01-05'   / File written on Greenwich yyyy-mm-dd
HISTORY AIPS   IMNAME='Empty field ' IMCLASS='UVDATA' IMSEQ=   1     /
HISTORY AIPS   USERNO= 2010            /
COMMENT   FITS (Flexible Image Transport System) format is defined in 'Astronomy
COMMENT   and Astrophysics', volume 376, page 359; bibcode: 2001A&A...376..359H
HISTORY AIPS   SORT ORDER = 'TB'
              / Where T means TIME (IAT)
              / Where B means BASELINE NUM
HISTORY AIPS WTSCAL =  1.00000000000E+00 / CMPLX WTS=WTSCAL*(TAPE*BSCALE+BZERO)
END
\end{alltt}
\vfill\eject

\subsection{Primary HDU of $uv$ table form}
\label{Appe:HDUtable}
\small
\begin{alltt}
SIMPLE  =                    T / Standard FITS file
BITPIX  =                    8 /
NAXIS   =                    2 /
NAXIS1  =            777777701 / Signature code for UV data in table
NAXIS2  =                    0 / No data in primary array
EXTEND  =                    T / All data in tables
BLOCKED =                    T / Tape may be blocked
HISTORY FITAB DATAOUT = 'MYFITS:FITAB.117' / data written to disk file
ORIGIN  = 'AIPSprimate      COAOARN              31DEC12'    /
DATE    = '2012-01-05'   / File written on Greenwich yyyy-mm-dd
HISTORY AIPS   IMNAME='Empty field ' IMCLASS='UVDATA' IMSEQ=   1     /
HISTORY AIPS   USERNO= 2010            /
COMMENT   FITS (Flexible Image Transport System) format is defined in 'Astronomy
COMMENT   and Astrophysics', volume 376, page 359; bibcode: 2001A&A...376..359H
         / Where baseline = 256*ant1 + ant2 + (array#-1)/100
HISTORY AIPS   SORT ORDER = 'TB'
              / Where T means TIME (IAT)
              / Where B means BASELINE NUM
HISTORY AIPS   IPIECE= 1 NPIECE= 1     / piece number
HISTORY AIPS   FIRSTVIS=           1     / first vis #
HISTORY AIPS   LASTVIS =      609900     / last vis #
END
\end{alltt}

\subsection{Table HDUs initially input to \AIPS}

\subsubsection{{\tt AIPS AN} tables}
\label{Appe:ANtable}
\begin{alltt}
XTENSION= 'BINTABLE'           / Extension type
BITPIX  =                    8 / Binary data
NAXIS   =                    2 / Table is a matrix
NAXIS1  =                   66 / Width of table in bytes
NAXIS2  =                   25 / Number of entries in table
PCOUNT  =                    0 / Random parameter count
GCOUNT  =                    1 / Group count
TFIELDS =                   14 / Number of fields in each row
EXTNAME = 'AIPS AN '           / AIPS table file
EXTVER  =                    1 / Version number of table
TFORM1  = '8A      '           / FORTRAN format of field  1
TTYPE1  = 'ANNAME          '   / Type (heading) of field  1
TUNIT1  = '        '           / Physical units of field  1
TFORM2  = '3D      '           / FORTRAN format of field  2
TTYPE2  = 'STABXYZ         '   / Type (heading) of field  2
TUNIT2  = 'METERS  '           / Physical units of field  2
TFORM3  = '0D      '           / FORTRAN format of field  3
TTYPE3  = 'ORBPARM         '   / Type (heading) of field  3
TUNIT3  = '        '           / Physical units of field  3
TFORM4  = '1J      '           / FORTRAN format of field  4
TTYPE4  = 'NOSTA           '   / Type (heading) of field  4
TUNIT4  = '        '           / Physical units of field  4
TFORM5  = '1J      '           / FORTRAN format of field  5
TTYPE5  = 'MNTSTA          '   / Type (heading) of field  5
TUNIT5  = '        '           / Physical units of field  5
TFORM6  = '1E      '           / FORTRAN format of field  6
TTYPE6  = 'STAXOF          '   / Type (heading) of field  6
TUNIT6  = 'METERS  '           / Physical units of field  6
TFORM7  = '1E      '           / FORTRAN format of field  7
TTYPE7  = 'DIAMETER        '   / Type (heading) of field  7
TUNIT7  = 'METERS  '           / Physical units of field  7
TFORM8  = '2E      '           / FORTRAN format of field  8
TTYPE8  = 'BEAMFWHM        '   / Type (heading) of field  8
TUNIT8  = 'DEGR/M  '           / Physical units of field  8
TFORM9  = '1A      '           / FORTRAN format of field  9
TTYPE9  = 'POLTYA          '   / Type (heading) of field  9
TUNIT9  = '        '           / Physical units of field  9
TFORM10 = '1E      '           / FORTRAN format of field 10
TTYPE10 = 'POLAA           '   / Type (heading) of field 10
TUNIT10 = 'DEGREES '           / physical units of field 10
TFORM11 = '0E      '           / FORTRAN format of field 11
TTYPE11 = 'POLCALA         '   / Type (heading) of field 11
TUNIT11 = '        '           / physical units of field 11
TFORM12 = '1A      '           / FORTRAN format of field 12
TTYPE12 = 'POLTYB          '   / Type (heading) of field 12
TUNIT12 = '        '           / physical units of field 12
TFORM13 = '1E      '           / FORTRAN format of field 13
TTYPE13 = 'POLAB           '   / Type (heading) of field 13
TUNIT13 = 'DEGREES '           / physical units of field 13
TFORM14 = '0E      '           / FORTRAN format of field 14
TTYPE14 = 'POLCALB         '   / Type (heading) of field 14
TUNIT14 = '        '           / physical units of field 14
ARRAYX  =   0.00000000000000000E+00
ARRAYY  =   0.00000000000000000E+00
ARRAYZ  =   0.00000000000000000E+00
GSTIA0  =   0.16559053797569999E+03
DEGPDY  =   0.36098564385930001E+03
FREQ    =   0.48960000000000000E+10
RDATE   = '2010-03-08'
POLARX  =  -0.44948905706405640E-01
POLARY  =   0.26670348644256592E+00
UT1UTC  =   0.43832778930664062E-01
DATUTC  =   0.00000000000000000E+00
TIMSYS  = 'UTC     '
ARRNAM  = 'EVLA    '
XYZHAND = 'RIGHT   '
FRAME   = 'ITRF    '
NUMORB  =            0
NOPCAL  =            0
NO_IF   =            2
FREQID  =         -999
IATUTC  =   0.34000000000000000E+02
POLTYPE = '        '
END
\end{alltt}

\subsubsection{{\tt AIPS CD} tables}
\label{Appe:CDtable}
\begin{alltt}\Nx{
XTENSION= 'BINTABLE'           / Extension type
BITPIX  =                    8 / Binary data
NAXIS   =                    2 / Table is a matrix
NAXIS1  =                  268 / Width of table in bytes
NAXIS2  =                   28 / Number of entries in table
PCOUNT  =                    0 / Random parameter count
GCOUNT  =                    1 / Group count
TFIELDS =                    7 / Number of fields in each row
EXTNAME = 'AIPS CD '           / AIPS table file
EXTVER  =                    1 / Version number of table
TFORM1  = '1J      '           / FORTRAN format of field  1
TTYPE1  = 'ANTENNA NO.     '   / Type (heading) of field  1
TUNIT1  = '        '           / Physical units of field  1
TFORM2  = '1J      '           / FORTRAN format of field  2
TTYPE2  = 'SUBARRAY        '   / Type (heading) of field  2
TUNIT2  = '        '           / Physical units of field  2
TFORM3  = '1J      '           / FORTRAN format of field  3
TTYPE3  = 'FREQ ID         '   / Type (heading) of field  3
TUNIT3  = '        '           / Physical units of field  3
TFORM4  = '16E     '           / FORTRAN format of field  4
TTYPE4  = 'TCAL1           '   / Type (heading) of field  4
TUNIT4  = 'KELVIN  '           / Physical units of field  4
TFORM5  = '16E     '           / FORTRAN format of field  5
TTYPE5  = 'SOLCAL1         '   / Type (heading) of field  5
TUNIT5  = 'KELVIN  '           / Physical units of field  5
TFORM6  = '16E     '           / FORTRAN format of field  6
TTYPE6  = 'TCAL2           '   / Type (heading) of field  6
TUNIT6  = 'KELVIN  '           / Physical units of field  6
TFORM7  = '16E     '           / FORTRAN format of field  7
TTYPE7  = 'SOLCAL2         '   / Type (heading) of field  7
TUNIT7  = 'KELVIN  '           / Physical units of field  7
NO_IF   =           16
NO_POL  =            2
NO_ANT  =           28
REVISION=            1
RDATE   = '2017-05-11'
END}
\end{alltt}

\subsubsection{{\tt AIPS CQ} tables}
\label{Appe:CQtable}
\begin{alltt}
XTENSION= 'BINTABLE'           / Extension type
BITPIX  =                    8 / Binary data
NAXIS   =                    2 / Table is a matrix
NAXIS1  =                   68 / Width of table in bytes
NAXIS2  =                    1 / Number of entries in table
PCOUNT  =                    0 / Random parameter count
GCOUNT  =                    1 / Group count
TFIELDS =                   14 / Number of fields in each row
EXTNAME = 'AIPS CQ '           / AIPS table file
EXTVER  =                    1 / Version number of table
TFORM1  = '1J      '           / FORTRAN format of field  1
TTYPE1  = 'FRQSEL          '   / Type (heading) of field  1
TUNIT1  = '        '           / Physical units of field  1
TFORM2  = '1J      '           / FORTRAN format of field  2
TTYPE2  = 'SUBARRAY        '   / Type (heading) of field  2
TUNIT2  = '        '           / Physical units of field  2
TFORM3  = '1J      '           / FORTRAN format of field  3
TTYPE3  = 'FFT_SIZE        '   / Type (heading) of field  3
TUNIT3  = '        '           / Physical units of field  3
TFORM4  = '1J      '           / FORTRAN format of field  4
TTYPE4  = 'NO_CHAN         '   / Type (heading) of field  4
TUNIT4  = '        '           / Physical units of field  4
TFORM5  = '1J      '           / FORTRAN format of field  5
TTYPE5  = 'SPEC_AVG        '   / Type (heading) of field  5
TUNIT5  = '        '           / Physical units of field  5
TFORM6  = '1D      '           / FORTRAN format of field  6
TTYPE6  = 'EDGE_FRQ        '   / Type (heading) of field  6
TUNIT6  = 'HZ      '           / Physical units of field  6
TFORM7  = '1D      '           / FORTRAN format of field  7
TTYPE7  = 'CHAN_BW         '   / Type (heading) of field  7
TUNIT7  = 'HZ      '           / Physical units of field  7
TFORM8  = '8A      '           / FORTRAN format of field  8
TTYPE8  = 'TAPER_FN        '   / Type (heading) of field  8
TUNIT8  = '        '           / Physical units of field  8
TFORM9  = '1J      '           / FORTRAN format of field  9
TTYPE9  = 'OVR_SAMP        '   / Type (heading) of field  9
TUNIT9  = '        '           / Physical units of field  9
TFORM10 = '1J      '           / FORTRAN format of field 10
TTYPE10 = 'ZERO_PAD        '   / Type (heading) of field 10
TUNIT10 = '        '           / physical units of field 10
TFORM11 = '1J      '           / FORTRAN format of field 11
TTYPE11 = 'FILTER          '   / Type (heading) of field 11
TUNIT11 = '        '           / physical units of field 11
TFORM12 = '1E      '           / FORTRAN format of field 12
TTYPE12 = 'TIME_AVG        '   / Type (heading) of field 12
TUNIT12 = 'SECONDS '           / physical units of field 12
TFORM13 = '1J      '           / FORTRAN format of field 13
TTYPE13 = 'NO_BITS         '   / Type (heading) of field 13
TUNIT13 = '        '           / physical units of field 13
TFORM14 = '1J      '           / FORTRAN format of field 14
TTYPE14 = 'FFT_OVLP        '   / Type (heading) of field 14
TUNIT14 = '        '           / physical units of field 14
NO_IF   =            1
TABREV  =            1
END
\end{alltt}

\subsubsection{{\tt AIPS CT} tables}
\label{Appe:CTtable}
\begin{alltt}
XTENSION= 'BINTABLE'           / Extension type
BITPIX  =                    8 / Binary data
NAXIS   =                    2 / Table is a matrix
NAXIS1  =                   98 / Width of table in bytes
NAXIS2  =                   55 / Number of entries in table
PCOUNT  =                    0 / Random parameter count
GCOUNT  =                    1 / Group count
TFIELDS =                   12 / Number of fields in each row
EXTNAME = 'AIPS CT '           / AIPS table file
EXTVER  =                    1 / Version number of table
TFORM1  = '1D      '           / FORTRAN format of field  1
TTYPE1  = 'TIME            '   / Type (heading) of field  1
TUNIT1  = 'DAYS    '           / Physical units of field  1
TFORM2  = '1D      '           / FORTRAN format of field  2
TTYPE2  = 'UT1-UTC         '   / Type (heading) of field  2
TUNIT2  = 'SECONDS '           / Physical units of field  2
TFORM3  = '1D      '           / FORTRAN format of field  3
TTYPE3  = 'IAT-UTC         '   / Type (heading) of field  3
TUNIT3  = 'SECONDS '           / Physical units of field  3
TFORM4  = '1D      '           / FORTRAN format of field  4
TTYPE4  = 'A1-IAT          '   / Type (heading) of field  4
TUNIT4  = 'SECONDS '           / Physical units of field  4
TFORM5  = '1A      '           / FORTRAN format of field  5
TTYPE5  = 'UT1 TYPE        '   / Type (heading) of field  5
TUNIT5  = '        '           / Physical units of field  5
TFORM6  = '2D      '           / FORTRAN format of field  6
TTYPE6  = 'WOBXY           '   / Type (heading) of field  6
TUNIT6  = 'ARCSEC  '           / Physical units of field  6
TFORM7  = '1A      '           / FORTRAN format of field  7
TTYPE7  = 'WOB TYPE        '   / Type (heading) of field  7
TUNIT7  = '        '           / Physical units of field  7
TFORM8  = '1D      '           / FORTRAN format of field  8
TTYPE8  = 'DPSI            '   / Type (heading) of field  8
TUNIT8  = 'RADIANS '           / Physical units of field  8
TFORM9  = '1D      '           / FORTRAN format of field  9
TTYPE9  = 'DDPSI           '   / Type (heading) of field  9
TUNIT9  = 'RAD/SEC '           / Physical units of field  9
TFORM10 = '1D      '           / FORTRAN format of field 10
TTYPE10 = 'DEPS            '   / Type (heading) of field 10
TUNIT10 = 'RADIANS '           / physical units of field 10
TFORM11 = '1D      '           / FORTRAN format of field 11
TTYPE11 = 'DDEPS           '   / Type (heading) of field 11
TUNIT11 = 'RAD/SEC '           / physical units of field 11
TFORM12 = '2D      '           / FORTRAN format of field 12
TTYPE12 = 'TIME INT        '   / Type (heading) of field 12
TUNIT12 = 'DAYS    '           / physical units of field 12
OBSCODE = 'BR129   '
RDATE   = '2008-04-24'
NO_STKD =            2
STK_1   =           -1
NO_BAND =            1
NO_CHAN =          256
REF_FREQ=   0.12174250000000000E+11
CHAN_BW =   0.15625000000000000E+05
REF_PIXL=   0.10000000000000000E+01
TABREV  =            3
C_SRVR  = 'kepler  '
C_VERSN = '9.1     '
A_VERSN = '2.2     '
I_VERSN = '0.0     '
E_VERSN = '9.1     '
ACCELGRV=   0.97803184600000002E+01
E-FLAT  =   0.33528099999999999E-02
EARTHRAD=   0.63781370000000000E+07
MMSEMS  =   0.12300020000000000E-01
EPHEPOC =         2000
ETIDELAG=   0.00000000000000000E+00
GAUSS   =   0.17202098950000001E-01
GMMOON  =   0.49027975000000000E+13
GMSUN   =   0.13271243799999993E+21
LOVE_H  =   0.60967000000000005E+00
LOVE_L  =   0.85199999999999984E-01
PRE_DATA=   0.50290965999999999E+04
REL_DATA=   0.10000000000000000E+01
TIDALUT1=            0
TSECAU  =   0.49900478199999998E+03
U-GRV-CN=   0.66720000000000016E-10
VLIGHT  =   0.29979245800000000E+09
END
\end{alltt}

\vfill\eject
\subsubsection{{\tt AIPS FG} tables}
\label{Appe:FGtable}
\begin{alltt}
XTENSION= 'BINTABLE'           / Extension type
BITPIX  =                    8 / Binary data
NAXIS   =                    2 / Table is a matrix
NAXIS1  =                   69 / Width of table in bytes
NAXIS2  =                 5575 / Number of entries in table
PCOUNT  =                    0 / Random parameter count
GCOUNT  =                    1 / Group count
TFIELDS =                    9 / Number of fields in each row
EXTNAME = 'AIPS FG '           / AIPS table file
EXTVER  =                    1 / Version number of table
TFORM1  = '1J      '           / FORTRAN format of field  1
TTYPE1  = 'SOURCE          '   / Type (heading) of field  1
TUNIT1  = '        '           / Physical units of field  1
TFORM2  = '1J      '           / FORTRAN format of field  2
TTYPE2  = 'SUBARRAY        '   / Type (heading) of field  2
TUNIT2  = '        '           / Physical units of field  2
TFORM3  = '1J      '           / FORTRAN format of field  3
TTYPE3  = 'FREQ ID         '   / Type (heading) of field  3
TUNIT3  = '        '           / Physical units of field  3
TFORM4  = '2J      '           / FORTRAN format of field  4
TTYPE4  = 'ANTS            '   / Type (heading) of field  4
TUNIT4  = '        '           / Physical units of field  4
TFORM5  = '2E      '           / FORTRAN format of field  5
TTYPE5  = 'TIME RANGE      '   / Type (heading) of field  5
TUNIT5  = 'DAYS    '           / Physical units of field  5
TFORM6  = '2J      '           / FORTRAN format of field  6
TTYPE6  = 'IFS             '   / Type (heading) of field  6
TUNIT6  = '        '           / Physical units of field  6
TFORM7  = '2J      '           / FORTRAN format of field  7
TTYPE7  = 'CHANS           '   / Type (heading) of field  7
TUNIT7  = '        '           / Physical units of field  7
TFORM8  = '4X      '           / FORTRAN format of field  8
TTYPE8  = 'PFLAGS          '   / Type (heading) of field  8
TUNIT8  = '        '           / Physical units of field  8
TFORM9  = '24A     '           / FORTRAN format of field  9
TTYPE9  = 'REASON          '   / Type (heading) of field  9
TUNIT9  = '        '           / Physical units of field  9
ISORTORD=                   5
END
\end{alltt}

\subsubsection{{\tt AIPS FO} tables}
\label{Appe:FOtable}
\begin{alltt}
XTENSION= 'BINTABLE'           / Extension type
BITPIX  =                    8 / Binary data
NAXIS   =                    2 / Table is a matrix
NAXIS1  =                   36 / Width of table in bytes
NAXIS2  =                 1450 / Number of entries in table
PCOUNT  =                    0 / Random parameter count
GCOUNT  =                    1 / Group count
TFIELDS =                    7 / Number of fields in each row
EXTNAME = 'AIPS FO '           / AIPS table file
EXTVER  =                    1 / Version number of table
TFORM1  = '1D      '           / FORTRAN format of field  1
TTYPE1  = 'TIME            '   / Type (heading) of field  1
TUNIT1  = 'DAYS    '           / Physical units of field  1
TFORM2  = '1E      '           / FORTRAN format of field  2
TTYPE2  = 'TIME INTERVAL   '   / Type (heading) of field  2
TUNIT2  = 'DAYS    '           / Physical units of field  2
TFORM3  = '1J      '           / FORTRAN format of field  3
TTYPE3  = 'SOURCE ID       '   / Type (heading) of field  3
TUNIT3  = '        '           / Physical units of field  3
TFORM4  = '1J      '           / FORTRAN format of field  4
TTYPE4  = 'ANTENNA NO.     '   / Type (heading) of field  4
TUNIT4  = '        '           / Physical units of field  4
TFORM5  = '1J      '           / FORTRAN format of field  5
TTYPE5  = 'SUBARRAY        '   / Type (heading) of field  5
TUNIT5  = '        '           / Physical units of field  5
TFORM6  = '1J      '           / FORTRAN format of field  6
TTYPE6  = 'FREQ ID         '   / Type (heading) of field  6
TUNIT6  = '        '           / Physical units of field  6
TFORM7  = '2E      '           / FORTRAN format of field  7
TTYPE7  = 'DOPPOFF         '   / Type (heading) of field  7
TUNIT7  = 'HZ      '           / Physical units of field  7
NO_ANT  =           29
NO_IF   =            2
REVISION=            0
END
\end{alltt}

\subsubsection{{\tt AIPS FQ} tables}
\label{Appe:FQtable}
\small
\begin{alltt}
XTENSION= 'BINTABLE'           / Extension type
BITPIX  =                    8 / Binary data
NAXIS   =                    2 / Table is a matrix
NAXIS1  =                   44 / Width of table in bytes
NAXIS2  =                    1 / Number of entries in table
PCOUNT  =                    0 / Random parameter count
GCOUNT  =                    1 / Group count
TFIELDS =                    5 / Number of fields in each row
EXTNAME = 'AIPS FQ '           / AIPS table file
EXTVER  =                    1 / Version number of table
TFORM1  = '1J      '           / FORTRAN format of field  1
TTYPE1  = 'FRQSEL          '   / Type (heading) of field  1
TUNIT1  = '        '           / Physical units of field  1
TFORM2  = '2D      '           / FORTRAN format of field  2
TTYPE2  = 'IF FREQ         '   / Type (heading) of field  2
TUNIT2  = 'HZ      '           / Physical units of field  2
TFORM3  = '2E      '           / FORTRAN format of field  3
TTYPE3  = 'CH WIDTH        '   / Type (heading) of field  3
TUNIT3  = 'HZ      '           / Physical units of field  3
TFORM4  = '2E      '           / FORTRAN format of field  4
TTYPE4  = 'TOTAL BANDWIDTH '   / Type (heading) of field  4
TUNIT4  = 'HZ      '           / Physical units of field  4
TFORM5  = '2J      '           / FORTRAN format of field  5
TTYPE5  = 'SIDEBAND        '   / Type (heading) of field  5
TUNIT5  = '        '           / Physical units of field  5
NO_IF   =            2
END
\end{alltt}

\vfill\eject
\subsubsection{{\tt AIPS IM} tables}
\label{Appe:IMtable}
\begin{alltt}
XTENSION= 'BINTABLE'           / Extension type
BITPIX  =                    8 / Binary data
NAXIS   =                    2 / Table is a matrix
NAXIS1  =                  436 / Width of table in bytes
NAXIS2  =                 1337 / Number of entries in table
PCOUNT  =                    0 / Random parameter count
GCOUNT  =                    1 / Group count
TFIELDS =                   20 / Number of fields in each row
EXTNAME = 'AIPS IM '           / AIPS table file
EXTVER  =                    1 / Version number of table
TFORM1  = '1D      '           / FORTRAN format of field  1
TTYPE1  = 'TIME            '   / Type (heading) of field  1
TUNIT1  = 'DAYS    '           / Physical units of field  1
TFORM2  = '1E      '           / FORTRAN format of field  2
TTYPE2  = 'TIME_INTERVAL   '   / Type (heading) of field  2
TUNIT2  = 'DAYS    '           / Physical units of field  2
TFORM3  = '1J      '           / FORTRAN format of field  3
TTYPE3  = 'SOURCE_ID       '   / Type (heading) of field  3
TUNIT3  = '        '           / Physical units of field  3
TFORM4  = '1J      '           / FORTRAN format of field  4
TTYPE4  = 'ANTENNA_NO      '   / Type (heading) of field  4
TUNIT4  = '        '           / Physical units of field  4
TFORM5  = '1J      '           / FORTRAN format of field  5
TTYPE5  = 'ARRAY           '   / Type (heading) of field  5
TUNIT5  = '        '           / Physical units of field  5
TFORM6  = '1J      '           / FORTRAN format of field  6
TTYPE6  = 'FREQID          '   / Type (heading) of field  6
TUNIT6  = '        '           / Physical units of field  6
TFORM7  = '1E      '           / FORTRAN format of field  7
TTYPE7  = 'I.FAR.ROT       '   / Type (heading) of field  7
TUNIT7  = 'RAD/M**2'           / Physical units of field  7
TFORM8  = '1E      '           / FORTRAN format of field  8
TTYPE8  = 'FREQ.VAR        '   / Type (heading) of field  8
TUNIT8  = 'HZ      '           / Physical units of field  8
TFORM9  = '6D      '           / FORTRAN format of field  9
TTYPE9  = 'PDELAY_1        '   / Type (heading) of field  9
TUNIT9  = 'SECONDS '           / Physical units of field  9
TFORM10 = '6D      '           / FORTRAN format of field 10
TTYPE10 = 'GDELAY_1        '   / Type (heading) of field 10
TUNIT10 = 'SECONDS '           / physical units of field 10
TFORM11 = '6D      '           / FORTRAN format of field 11
TTYPE11 = 'PRATE_1         '   / Type (heading) of field 11
TUNIT11 = 'HZ      '           / physical units of field 11
TFORM12 = '6D      '           / FORTRAN format of field 12
TTYPE12 = 'GRATE_1         '   / Type (heading) of field 12
TUNIT12 = 'SEC/SEC '           / physical units of field 12
TFORM13 = '1E      '           / FORTRAN format of field 13
TTYPE13 = 'DISP_1          '   / Type (heading) of field 13
TUNIT13 = 'SECONDS '           / physical units of field 13
TFORM14 = '1E      '           / FORTRAN format of field 14
TTYPE14 = 'DDISP_1         '   / Type (heading) of field 14
TUNIT14 = 'SEC/SEC '           / physical units of field 14
TFORM15 = '6D      '           / FORTRAN format of field 15
TTYPE15 = 'PDELAY_2        '   / Type (heading) of field 15
TUNIT15 = 'SECONDS '           / physical units of field 15
TFORM16 = '6D      '           / FORTRAN format of field 16
TTYPE16 = 'GDELAY_2        '   / Type (heading) of field 16
TUNIT16 = 'SECONDS '           / physical units of field 16
TFORM17 = '6D      '           / FORTRAN format of field 17
TTYPE17 = 'PRATE_2         '   / Type (heading) of field 17
TUNIT17 = 'HZ      '           / physical units of field 17
TFORM18 = '6D      '           / FORTRAN format of field 18
TTYPE18 = 'GRATE_2         '   / Type (heading) of field 18
TUNIT18 = 'SEC/SEC '           / physical units of field 18
TFORM19 = '1E      '           / FORTRAN format of field 19
TTYPE19 = 'DISP_2          '   / Type (heading) of field 19
TUNIT19 = 'SECONDS '           / physical units of field 19
TFORM20 = '1E      '           / FORTRAN format of field 20
TTYPE20 = 'DDISP_2         '   / Type (heading) of field 20
TUNIT20 = 'SEC/SEC '           / physical units of field 20
RDATE   = '2008-04-24'
OBSCODE = 'BR129   '
NO_STKD =            2
STK_1   =           -1
NO_BAND =            1
NO_CHAN =          256
REF_FREQ=   0.12174250000000000E+11
CHAN_BW =   0.15625000000000000E+05
REF_PIXL=   0.10000000000000000E+01
NO_POL  =            2
NPOLY   =            6
REVISION=   0.10000000000000000E+01
TABREV  =            2
END
\end{alltt}

\subsubsection{{\tt AIPS MC} tables}
\label{Appe:MCtable}
\begin{alltt}
XTENSION= 'BINTABLE'           / Extension type
BITPIX  =                    8 / Binary data
NAXIS   =                    2 / Table is a matrix
NAXIS1  =                  120 / Width of table in bytes
NAXIS2  =                 3534 / Number of entries in table
PCOUNT  =                    0 / Random parameter count
GCOUNT  =                    1 / Group count
TFIELDS =                   21 / Number of fields in each row
EXTNAME = 'AIPS MC '           / AIPS table file
EXTVER  =                    1 / Version number of table
TFORM1  = '1D      '           / FORTRAN format of field  1
TTYPE1  = 'TIME            '   / Type (heading) of field  1
TUNIT1  = 'DAYS    '           / Physical units of field  1
TFORM2  = '1J      '           / FORTRAN format of field  2
TTYPE2  = 'SOURCE_ID       '   / Type (heading) of field  2
TUNIT2  = '        '           / Physical units of field  2
TFORM3  = '1J      '           / FORTRAN format of field  3
TTYPE3  = 'ANTENNA_NO      '   / Type (heading) of field  3
TUNIT3  = '        '           / Physical units of field  3
TFORM4  = '1J      '           / FORTRAN format of field  4
TTYPE4  = 'ARRAY           '   / Type (heading) of field  4
TUNIT4  = '        '           / Physical units of field  4
TFORM5  = '1J      '           / FORTRAN format of field  5
TTYPE5  = 'FREQID          '   / Type (heading) of field  5
TUNIT5  = '        '           / Physical units of field  5
TFORM6  = '1D      '           / FORTRAN format of field  6
TTYPE6  = 'ATMOS           '   / Type (heading) of field  6
TUNIT6  = 'SECONDS '           / Physical units of field  6
TFORM7  = '1D      '           / FORTRAN format of field  7
TTYPE7  = 'DATMOS          '   / Type (heading) of field  7
TUNIT7  = 'SEC/SEC '           / Physical units of field  7
TFORM8  = '1D      '           / FORTRAN format of field  8
TTYPE8  = 'GDELAY          '   / Type (heading) of field  8
TUNIT8  = 'SECONDS '           / Physical units of field  8
TFORM9  = '1D      '           / FORTRAN format of field  9
TTYPE9  = 'GRATE           '   / Type (heading) of field  9
TUNIT9  = 'SEC/SEC '           / Physical units of field  9
TFORM10 = '1D      '           / FORTRAN format of field 10
TTYPE10 = 'CLOCK_1         '   / Type (heading) of field 10
TUNIT10 = 'SECONDS '           / physical units of field 10
TFORM11 = '1D      '           / FORTRAN format of field 11
TTYPE11 = 'DCLOCK_1        '   / Type (heading) of field 11
TUNIT11 = 'SEC/SEC '           / physical units of field 11
TFORM12 = '1E      '           / FORTRAN format of field 12
TTYPE12 = 'LO_OFFSET_1     '   / Type (heading) of field 12
TUNIT12 = 'HZ      '           / physical units of field 12
TFORM13 = '1E      '           / FORTRAN format of field 13
TTYPE13 = 'DLO_OFFSET_1    '   / Type (heading) of field 13
TUNIT13 = 'HZ/SEC  '           / physical units of field 13
TFORM14 = '1E      '           / FORTRAN format of field 14
TTYPE14 = 'DISP_1          '   / Type (heading) of field 14
TUNIT14 = 'SECONDS '           / physical units of field 14
TFORM15 = '1E      '           / FORTRAN format of field 15
TTYPE15 = 'DDISP_1         '   / Type (heading) of field 15
TUNIT15 = 'SEC/SEC '           / physical units of field 15
TFORM16 = '1D      '           / FORTRAN format of field 16
TTYPE16 = 'CLOCK_2         '   / Type (heading) of field 16
TUNIT16 = 'SECONDS '           / physical units of field 16
TFORM17 = '1D      '           / FORTRAN format of field 17
TTYPE17 = 'DCLOCK_2        '   / Type (heading) of field 17
TUNIT17 = 'SEC/SEC '           / physical units of field 17
TFORM18 = '1E      '           / FORTRAN format of field 18
TTYPE18 = 'LO_OFFSET_2     '   / Type (heading) of field 18
TUNIT18 = 'HZ      '           / physical units of field 18
TFORM19 = '1E      '           / FORTRAN format of field 19
TTYPE19 = 'DLO_OFFSET_2    '   / Type (heading) of field 19
TUNIT19 = 'HZ/SEC  '           / physical units of field 19
TFORM20 = '1E      '           / FORTRAN format of field 20
TTYPE20 = 'DISP_2          '   / Type (heading) of field 20
TUNIT20 = 'SECONDS '           / physical units of field 20
TFORM21 = '1E      '           / FORTRAN format of field 21
TTYPE21 = 'DDISP_2         '   / Type (heading) of field 21
TUNIT21 = 'SEC/SEC '           / physical units of field 21
OBSCODE = 'BR129   '
RDATE   = '2008-04-24'
NO_STKD =            2
STK_1   =           -1
NO_BAND =            1
NO_CHAN =          256
REF_FREQ=   0.12174250000000000E+11
CHAN_BW =   0.15625000000000000E+05
REF_PIXL=   0.10000000000000000E+01
NO_POL  =            2
FFT_SIZE=          512
OVERSAMP=            0
ZERO_PAD=            0
TAPER_FN= 'UNIFORM '
TABREV  =            1
END
\end{alltt}

\subsubsection{{\tt AIPS NX} tables}
\label{Appe:NXtable}
\begin{alltt}
XTENSION= 'BINTABLE'           / Extension type
BITPIX  =                    8 / Binary data
NAXIS   =                    2 / Table is a matrix
NAXIS1  =                   28 / Width of table in bytes
NAXIS2  =                   15 / Number of entries in table
PCOUNT  =                    0 / Random parameter count
GCOUNT  =                    1 / Group count
TFIELDS =                    7 / Number of fields in each row
EXTNAME = 'AIPS NX '           / AIPS table file
EXTVER  =                    1 / Version number of table
TFORM1  = '1E      '           / FORTRAN format of field  1
TTYPE1  = 'TIME            '   / Type (heading) of field  1
TUNIT1  = 'DAYS    '           / Physical units of field  1
TFORM2  = '1E      '           / FORTRAN format of field  2
TTYPE2  = 'TIME INTERVAL   '   / Type (heading) of field  2
TUNIT2  = 'DAYS    '           / Physical units of field  2
TFORM3  = '1J      '           / FORTRAN format of field  3
TTYPE3  = 'SOURCE ID       '   / Type (heading) of field  3
TUNIT3  = '        '           / Physical units of field  3
TFORM4  = '1J      '           / FORTRAN format of field  4
TTYPE4  = 'SUBARRAY        '   / Type (heading) of field  4
TUNIT4  = '        '           / Physical units of field  4
TFORM5  = '1J      '           / FORTRAN format of field  5
TTYPE5  = 'START VIS       '   / Type (heading) of field  5
TUNIT5  = '        '           / Physical units of field  5
TFORM6  = '1J      '           / FORTRAN format of field  6
TTYPE6  = 'END VIS         '   / Type (heading) of field  6
TUNIT6  = '        '           / Physical units of field  6
TFORM7  = '1J      '           / FORTRAN format of field  7
TTYPE7  = 'FREQ ID         '   / Type (heading) of field  7
TUNIT7  = '        '           / Physical units of field  7
ISORTORD=                   1
END
\end{alltt}

\subsubsection{{\tt AIPS OT} tables}
\label{Appe:OTtable}
\begin{alltt}
XTENSION= 'BINTABLE'           / Extension type
BITPIX  =                    8 / Binary data
NAXIS   =                    2 / Table is a matrix
NAXIS1  =                   17 / Width of table in bytes
NAXIS2  =                20196 / Number of entries in table
PCOUNT  =                    0 / Random parameter count
GCOUNT  =                    1 / Group count
TFIELDS =                    5 / Number of fields in each row
EXTNAME = 'AIPS OT '           / AIPS table file
EXTVER  =                    1 / Version number of table
TFORM1  = '1E      '           / FORTRAN format of field  1
TTYPE1  = 'TIME            '   / Type (heading) of field  1
TUNIT1  = 'DAYS    '           / Physical units of field  1
TFORM2  = '1E      '           / FORTRAN format of field  2
TTYPE2  = 'TIME INTERVAL   '   / Type (heading) of field  2
TUNIT2  = 'DAYS    '           / Physical units of field  2
TFORM3  = '1J      '           / FORTRAN format of field  3
TTYPE3  = 'SOURCE ID       '   / Type (heading) of field  3
TUNIT3  = '        '           / Physical units of field  3
TFORM4  = '1J      '           / FORTRAN format of field  4
TTYPE4  = 'ANTENNA         '   / Type (heading) of field  4
TUNIT4  = '        '           / Physical units of field  4
TFORM5  = '1L      '           / FORTRAN format of field  5
TTYPE5  = 'OVER TOP        '   / Type (heading) of field  5
TUNIT5  = '        '           / Physical units of field  5
REVISION=            1
END
\end{alltt}

\subsubsection{{\tt AIPS PO} tables}
\label{Appe:POtable}
\begin{alltt}
XTENSION= 'BINTABLE'           / Extension type
BITPIX  =                    8 / Binary data
NAXIS   =                    2 / Table is a matrix
NAXIS1  =                   36 / Width of table in bytes
NAXIS2  =                 2051 / Number of entries in table
PCOUNT  =                    0 / Random parameter count
GCOUNT  =                    1 / Group count
TFIELDS =                    5 / Number of fields in each row
EXTNAME = 'AIPS PO '           / AIPS table file
EXTVER  =                    1 / Version number of table
TFORM1  = '1D      '           / FORTRAN format of field  1
TTYPE1  = 'TIME            '   / Type (heading) of field  1
TUNIT1  = 'DAYS    '           / Physical units of field  1
TFORM2  = '1J      '           / FORTRAN format of field  2
TTYPE2  = 'SOURCE ID       '   / Type (heading) of field  2
TUNIT2  = '        '           / Physical units of field  2
TFORM3  = '1D      '           / FORTRAN format of field  3
TTYPE3  = 'SOURCE RA       '   / Type (heading) of field  3
TUNIT3  = 'DEGREES '           / Physical units of field  3
TFORM4  = '1D      '           / FORTRAN format of field  4
TTYPE4  = 'SOURCE DEC      '   / Type (heading) of field  4
TUNIT4  = 'DEGREES '           / Physical units of field  4
TFORM5  = '1D      '           / FORTRAN format of field  5
TTYPE5  = 'SOURCE DISTANCE '   / Type (heading) of field  5
TUNIT5  = 'AU      '           / Physical units of field  5
TABREV  =            1
RDATE   = '2006-05-07'
END
\end{alltt}

\subsubsection{{\tt AIPS SU} tables}
\label{Appe:SUtable}
\begin{alltt}
XTENSION= 'BINTABLE'           / Extension type
BITPIX  =                    8 / Binary data
NAXIS   =                    2 / Table is a matrix
NAXIS1  =                  172 / Width of table in bytes
NAXIS2  =                    2 / Number of entries in table
PCOUNT  =                    0 / Random parameter count
GCOUNT  =                    1 / Group count
TFIELDS =                   19 / Number of fields in each row
EXTNAME = 'AIPS SU '           / AIPS table file
EXTVER  =                    1 / Version number of table
TFORM1  = '1J      '           / FORTRAN format of field  1
TTYPE1  = 'ID. NO.         '   / Type (heading) of field  1
TUNIT1  = '        '           / Physical units of field  1
TFORM2  = '16A     '           / FORTRAN format of field  2
TTYPE2  = 'SOURCE          '   / Type (heading) of field  2
TUNIT2  = '        '           / Physical units of field  2
TFORM3  = '1J      '           / FORTRAN format of field  3
TTYPE3  = 'QUAL            '   / Type (heading) of field  3
TUNIT3  = '        '           / Physical units of field  3
TFORM4  = '4A      '           / FORTRAN format of field  4
TTYPE4  = 'CALCODE         '   / Type (heading) of field  4
TUNIT4  = '        '           / Physical units of field  4
TFORM5  = '2E      '           / FORTRAN format of field  5
TTYPE5  = 'IFLUX           '   / Type (heading) of field  5
TUNIT5  = 'JY      '           / Physical units of field  5
TFORM6  = '2E      '           / FORTRAN format of field  6
TTYPE6  = 'QFLUX           '   / Type (heading) of field  6
TUNIT6  = 'JY      '           / Physical units of field  6
TFORM7  = '2E      '           / FORTRAN format of field  7
TTYPE7  = 'UFLUX           '   / Type (heading) of field  7
TUNIT7  = 'JY      '           / Physical units of field  7
TFORM8  = '2E      '           / FORTRAN format of field  8
TTYPE8  = 'VFLUX           '   / Type (heading) of field  8
TUNIT8  = 'JY      '           / Physical units of field  8
TFORM9  = '2D      '           / FORTRAN format of field  9
TTYPE9  = 'FREQOFF         '   / Type (heading) of field  9
TUNIT9  = 'HZ      '           / Physical units of field  9
TFORM10 = '1D      '           / FORTRAN format of field 10
TTYPE10 = 'BANDWIDTH       '   / Type (heading) of field 10
TUNIT10 = 'HZ      '           / physical units of field 10
TFORM11 = '1D      '           / FORTRAN format of field 11
TTYPE11 = 'RAEPO           '   / Type (heading) of field 11
TUNIT11 = 'DEGREES '           / physical units of field 11
TFORM12 = '1D      '           / FORTRAN format of field 12
TTYPE12 = 'DECEPO          '   / Type (heading) of field 12
TUNIT12 = 'DEGREES '           / physical units of field 12
TFORM13 = '1D      '           / FORTRAN format of field 13
TTYPE13 = 'EPOCH           '   / Type (heading) of field 13
TUNIT13 = 'YEARS   '           / physical units of field 13
TFORM14 = '1D      '           / FORTRAN format of field 14
TTYPE14 = 'RAAPP           '   / Type (heading) of field 14
TUNIT14 = 'DEGREES '           / physical units of field 14
TFORM15 = '1D      '           / FORTRAN format of field 15
TTYPE15 = 'DECAPP          '   / Type (heading) of field 15
TUNIT15 = 'DEGREES '           / physical units of field 15
TFORM16 = '2D      '           / FORTRAN format of field 16
TTYPE16 = 'LSRVEL          '   / Type (heading) of field 16
TUNIT16 = 'M/SEC   '           / physical units of field 16
TFORM17 = '2D      '           / FORTRAN format of field 17
TTYPE17 = 'RESTFREQ        '   / Type (heading) of field 17
TUNIT17 = 'HZ      '           / physical units of field 17
TFORM18 = '1D      '           / FORTRAN format of field 18
TTYPE18 = 'PMRA            '   / Type (heading) of field 18
TUNIT18 = 'DEG/DAY '           / physical units of field 18
TFORM19 = '1D      '           / FORTRAN format of field 19
TTYPE19 = 'PMDEC           '   / Type (heading) of field 19
TUNIT19 = 'DEG/DAY '           / physical units of field 19
NO_IF   =            2
FREQID  =            1
VELDEF  = '        '
VELTYP  = '        '
END
\end{alltt}

\subsubsection{{\tt AIPS SY} tables}
\label{Appe:SYtable}
\begin{alltt}
XTENSION= 'BINTABLE'           / Extension type
BITPIX  =                    8 / Binary data
NAXIS   =                    2 / Table is a matrix
NAXIS1  =                 \Nx{416} / Width of table in bytes
NAXIS2  =                92406 / Number of entries in table
PCOUNT  =                    0 / Random parameter count
GCOUNT  =                    1 / Group count
TFIELDS =                   12 / Number of fields in each row
EXTNAME = 'AIPS SY '           / AIPS table file
EXTVER  =                    1 / Version number of table
TFORM1  = '1D      '           / FORTRAN format of field  1
TTYPE1  = 'TIME            '   / Type (heading) of field  1
TUNIT1  = 'DAYS    '           / Physical units of field  1
TFORM2  = '1E      '           / FORTRAN format of field  2
TTYPE2  = 'TIME INTERVAL   '   / Type (heading) of field  2
TUNIT2  = 'DAYS    '           / Physical units of field  2
\Nx{TFORM3  = '1J      '           / FORTRAN format of field  3
TTYPE3  = 'CAL TYPE        '   / Type (heading) of field  3
TUNIT3  = '        '           / Physical units of field  3}
TFORM4  = '1J      '           / FORTRAN format of field  4
TTYPE4  = 'SOURCE ID       '   / Type (heading) of field  4
TUNIT4  = '        '           / Physical units of field  4
TFORM5  = '1J      '           / FORTRAN format of field  5
TTYPE5  = 'ANTENNA NO.     '   / Type (heading) of field  5
TUNIT5  = '        '           / Physical units of field  5
TFORM6  = '1J      '           / FORTRAN format of field  6
TTYPE6  = 'SUBARRAY        '   / Type (heading) of field  6
TUNIT6  = '        '           / Physical units of field  6
TFORM7  = '1J      '           / FORTRAN format of field  7
TTYPE7  = 'FREQ ID         '   / Type (heading) of field  7
TUNIT7  = '        '           / Physical units of field  7
TFORM8  = '16E     '           / FORTRAN format of field  8
TTYPE8  = 'POWER DIF1      '   / Type (heading) of field  8
TUNIT8  = 'COUNTS  '           / Physical units of field  8
TFORM9  = '16E     '           / FORTRAN format of field  9
TTYPE9  = 'POWER SUM1      '   / Type (heading) of field  9
TUNIT9  = 'COUNTS  '           / Physical units of field  9
TFORM10 = '16E     '           / FORTRAN format of field 10
TTYPE10 = 'POST GAIN1      '   / Type (heading) of field 10
TUNIT11 = '        '           / Physical units of field 10
TFORM11 = '16E     '           / FORTRAN format of field 11
TTYPE11 = 'POWER DIF2      '   / Type (heading) of field 11
TUNIT11 = 'COUNTS  '           / physical units of field 11
TFORM12 = '16E     '           / FORTRAN format of field 12
TTYPE12 = 'POWER SUM2      '   / Type (heading) of field 12
TUNIT12 = 'COUNTS  '           / physical units of field 12
TFORM13 = '16E     '           / FORTRAN format of field 13
TTYPE13 = 'POST GAIN2      '   / Type (heading) of field 13
TUNIT13 = '        '           / physical units of field 13
NO_ANT  =           28
NO_POL  =            2
NO_IF   =           16
\Hi{REVISION=            1}
END
\end{alltt}

\subsubsection{{\tt AIPS TY} tables}
\label{Appe:TYtable}
\begin{alltt}
XTENSION= 'BINTABLE'           / Extension type
BITPIX  =                    8 / Binary data
NAXIS   =                    2 / Table is a matrix
NAXIS1  =                   40 / Width of table in bytes
NAXIS2  =                 1072 / Number of entries in table
PCOUNT  =                    0 / Random parameter count
GCOUNT  =                    1 / Group count
TFIELDS =                   10 / Number of fields in each row
EXTNAME = 'AIPS TY '           / AIPS table file
EXTVER  =                    1 / Version number of table
TFORM1  = '1E      '           / FORTRAN format of field  1
TTYPE1  = 'TIME            '   / Type (heading) of field  1
TUNIT1  = 'DAYS    '           / Physical units of field  1
TFORM2  = '1E      '           / FORTRAN format of field  2
TTYPE2  = 'TIME INTERVAL   '   / Type (heading) of field  2
TUNIT2  = 'DAYS    '           / Physical units of field  2
TFORM3  = '1J      '           / FORTRAN format of field  3
TTYPE3  = 'SOURCE ID       '   / Type (heading) of field  3
TUNIT3  = '        '           / Physical units of field  3
TFORM4  = '1J      '           / FORTRAN format of field  4
TTYPE4  = 'ANTENNA NO.     '   / Type (heading) of field  4
TUNIT4  = '        '           / Physical units of field  4
TFORM5  = '1J      '           / FORTRAN format of field  5
TTYPE5  = 'SUBARRAY        '   / Type (heading) of field  5
TUNIT5  = '        '           / Physical units of field  5
TFORM6  = '1J      '           / FORTRAN format of field  6
TTYPE6  = 'FREQ ID         '   / Type (heading) of field  6
TUNIT6  = '        '           / Physical units of field  6
TFORM7  = '1E      '           / FORTRAN format of field  7
TTYPE7  = 'TSYS 1          '   / Type (heading) of field  7
TUNIT7  = 'KELVINS '           / Physical units of field  7
TFORM8  = '1E      '           / FORTRAN format of field  8
TTYPE8  = 'TANT 1          '   / Type (heading) of field  8
TUNIT8  = 'KELVINS '           / Physical units of field  8
TFORM9  = '1E      '           / FORTRAN format of field  9
TTYPE9  = 'TSYS 2          '   / Type (heading) of field  9
TUNIT9  = 'KELVINS '           / Physical units of field  9
TFORM10 = '1E      '           / FORTRAN format of field 10
TTYPE10 = 'TANT 2          '   / Type (heading) of field 10
TUNIT10 = 'KELVINS '           / physical units of field 10
NO_POL  =            2
NO_IF   =            1
REVISION=           10
END
\end{alltt}

\subsubsection{{\tt AIPS WX} tables}
\label{Appe:WXtable}
\begin{alltt}
XTENSION= 'BINTABLE'           / Extension type
BITPIX  =                    8 / Binary data
NAXIS   =                    2 / Table is a matrix
\Nx{NAXIS1  =                   56 / Width of table in bytes}
NAXIS2  =                  602 / Number of entries in table
PCOUNT  =                    0 / Random parameter count
GCOUNT  =                    1 / Group count
TFIELDS =                   13 / Number of fields in each row
EXTNAME = 'AIPS WX '           / AIPS table file
EXTVER  =                    1 / Version number of table
TFORM1  = '1D      '           / FORTRAN format of field  1
TTYPE1  = 'TIME            '   / Type (heading) of field  1
TUNIT1  = 'DAYS    '           / Physical units of field  1
TFORM2  = '1E      '           / FORTRAN format of field  2
TTYPE2  = 'TIME_INTERVAL   '   / Type (heading) of field  2
TUNIT2  = 'DAYS    '           / Physical units of field  2
TFORM3  = '1J      '           / FORTRAN format of field  3
TTYPE3  = 'ANTENNA_NO      '   / Type (heading) of field  3
TUNIT3  = '        '           / Physical units of field  3
TFORM4  = '1J      '           / FORTRAN format of field  4
TTYPE4  = 'SUBARRAY        '   / Type (heading) of field  4
TUNIT4  = '        '           / Physical units of field  4
TFORM5  = '1E      '           / FORTRAN format of field  5
TTYPE5  = 'TEMPERATURE     '   / Type (heading) of field  5
TUNIT5  = 'CENTIGRA'           / Physical units of field  5
TFORM6  = '1E      '           / FORTRAN format of field  6
TTYPE6  = 'PRESSURE        '   / Type (heading) of field  6
TUNIT6  = 'MILLIBAR'           / Physical units of field  6
TFORM7  = '1E      '           / FORTRAN format of field  7
TTYPE7  = 'DEWPOINT        '   / Type (heading) of field  7
TUNIT7  = 'CENTIGRA'           / Physical units of field  7
TFORM8  = '1E      '           / FORTRAN format of field  8
TTYPE8  = 'WIND_VELOCITY   '   / Type (heading) of field  8
TUNIT8  = 'M/SEC   '           / Physical units of field  8
TFORM9  = '1E      '           / FORTRAN format of field  9
TTYPE9  = 'WIND_DIRECTION  '   / Type (heading) of field  9
TUNIT9  = 'DEGREES '           / Physical units of field  9
\Nx{TFORM10 = '1E      '           / FORTRAN format of field 10}
\Nx{TTYPE10 = 'WIND_GUST       '   / Type (heading) of field 10}
\Nx{TUNIT10 = 'M/SEC   '           / physical units of field 10}
\Nx{TFORM12 = '1E      '           / FORTRAN format of field 11}
\Nx{TTYPE12 = 'Preciptation    '   / Type (heading) of field 11}
\Nx{TUNIT12 = 'CM      '           / physical units of field 11}
TFORM12 = '1E      '           / FORTRAN format of field 12
TTYPE12 = 'WVR_H2O         '   / Type (heading) of field 12
\Nx{TUNIT12 = '/M/M    '           / physical units of field 12}
TFORM13 = '1E      '           / FORTRAN format of field 13
TTYPE13 = 'IONOS_ELECTRON  '   / Type (heading) of field 13
\Nx{TUNIT13 = '/M/M    '           / physical units of field 13}
OBSCODE = 'AA000   '
RDATE   = '2011-09-26'
TABREV  =            3
END
\end{alltt}

\vfill\eject
\subsection{\AIPS\ calibration tables}

\hicol
\subsubsection{{\tt AIPS BD} tables}
\label{Appe:BDtable}
\begin{alltt}
XTENSION= 'BINTABLE'           / Extension type
BITPIX  =                    8 / Binary data
NAXIS   =                    2 / Table is a matrix
NAXIS1  =                 2072 / Width of table in bytes
NAXIS2  =                  351 / Number of entries in table
PCOUNT  =                    0 / Random parameter count
GCOUNT  =                    1 / Group count
TFIELDS =                   14 / Number of fields in each row
EXTNAME = 'AIPS BD '           / AIPS table file
EXTVER  =                    3 / Version number of table
TFORM1  = '1E      '           / FORTRAN format of field  1
TTYPE1  = 'TIME            '   / Type (heading) of field  1
TUNIT1  = 'DAYS    '           / Physical units of field  1
TFORM2  = '1J      '           / FORTRAN format of field  2
TTYPE2  = 'SOURCE ID       '   / Type (heading) of field  2
TUNIT2  = '        '           / Physical units of field  2
TFORM3  = '1J      '           / FORTRAN format of field  3
TTYPE3  = 'SUBARRAY        '   / Type (heading) of field  3
TUNIT3  = '        '           / Physical units of field  3
TFORM4  = '1J      '           / FORTRAN format of field  4
TTYPE4  = 'ANTENNA1        '   / Type (heading) of field  4
TUNIT4  = '        '           / Physical units of field  4
TFORM5  = '1J      '           / FORTRAN format of field  5
TTYPE5  = 'ANTENNA2        '   / Type (heading) of field  5
TUNIT5  = '        '           / Physical units of field  5
TFORM6  = '1J      '           / FORTRAN format of field  6
TTYPE6  = 'FREQ ID         '   / Type (heading) of field  6
TUNIT6  = '        '           / Physical units of field  6
TFORM7  = '64E     '           / FORTRAN format of field  7
TTYPE7  = 'REAL 1          '   / Type (heading) of field  7
TUNIT7  = '        '           / Physical units of field  7
TFORM8  = '64E     '           / FORTRAN format of field  8
TTYPE8  = 'IMAG 1          '   / Type (heading) of field  8
TUNIT8  = '        '           / Physical units of field  8
TFORM9  = '64E     '           / FORTRAN format of field  9
TTYPE9  = 'REAL 2          '   / Type (heading) of field  9
TUNIT9  = '        '           / Physical units of field  9
TFORM10 = '64E     '           / FORTRAN format of field 10
TTYPE10 = 'IMAG 2          '   / Type (heading) of field 10
TUNIT10 = '        '           / physical units of field 10
TFORM11 = '64E     '           / FORTRAN format of field 11
TTYPE11 = 'REAL 3          '   / Type (heading) of field 11
TUNIT11 = '        '           / physical units of field 11
TFORM12 = '64E     '           / FORTRAN format of field 12
TTYPE12 = 'IMAG 3          '   / Type (heading) of field 12
TUNIT12 = '        '           / physical units of field 12
TFORM13 = '64E     '           / FORTRAN format of field 13
TTYPE13 = 'REAL 4          '   / Type (heading) of field 13
TUNIT13 = '        '           / physical units of field 13
TFORM14 = '64E     '           / FORTRAN format of field 14
TTYPE14 = 'IMAG 4          '   / Type (heading) of field 14
TUNIT14 = '        '           / physical units of field 14
NO_ANT  =           27
NO_POL  =            4
NO_IF   =            1
NO_CHAN =           64
END
\end{alltt}
\hblack

\subsubsection{{\tt AIPS BL} tables}
\label{Appe:BLtable}
\begin{alltt}
XTENSION= 'BINTABLE'           / Extension type
BITPIX  =                    8 / Binary data
NAXIS   =                    2 / Table is a matrix
NAXIS1  =                   56 / Width of table in bytes
NAXIS2  =                  378 / Number of entries in table
PCOUNT  =                    0 / Random parameter count
GCOUNT  =                    1 / Group count
TFIELDS =                   14 / Number of fields in each row
EXTNAME = 'AIPS BL '           / AIPS table file
EXTVER  =                    1 / Version number of table
TFORM1  = '1E      '           / FORTRAN format of field  1
TTYPE1  = 'TIME            '   / Type (heading) of field  1
TUNIT1  = 'DAYS    '           / Physical units of field  1
TFORM2  = '1J      '           / FORTRAN format of field  2
TTYPE2  = 'SOURCE ID       '   / Type (heading) of field  2
TUNIT2  = '        '           / Physical units of field  2
TFORM3  = '1J      '           / FORTRAN format of field  3
TTYPE3  = 'SUBARRAY        '   / Type (heading) of field  3
TUNIT3  = '        '           / Physical units of field  3
TFORM4  = '1J      '           / FORTRAN format of field  4
TTYPE4  = 'ANTENNA1        '   / Type (heading) of field  4
TUNIT4  = '        '           / Physical units of field  4
TFORM5  = '1J      '           / FORTRAN format of field  5
TTYPE5  = 'ANTENNA2        '   / Type (heading) of field  5
TUNIT5  = '        '           / Physical units of field  5
TFORM6  = '1J      '           / FORTRAN format of field  6
TTYPE6  = 'FREQ ID         '   / Type (heading) of field  6
TUNIT6  = '        '           / Physical units of field  6
TFORM7  = '1E      '           / FORTRAN format of field  7
TTYPE7  = 'REAL M1         '   / Type (heading) of field  7
TUNIT7  = '        '           / Physical units of field  7
TFORM8  = '1E      '           / FORTRAN format of field  8
TTYPE8  = 'IMAG M1         '   / Type (heading) of field  8
TUNIT8  = '        '           / Physical units of field  8
TFORM9  = '1E      '           / FORTRAN format of field  9
TTYPE9  = 'REAL A1         '   / Type (heading) of field  9
TUNIT9  = '        '           / Physical units of field  9
TFORM10 = '1E      '           / FORTRAN format of field 10
TTYPE10 = 'IMAG A1         '   / Type (heading) of field 10
TUNIT10 = '        '           / physical units of field 10
TFORM11 = '1E      '           / FORTRAN format of field 11
TTYPE11 = 'REAL M2         '   / Type (heading) of field 11
TUNIT11 = '        '           / physical units of field 11
TFORM12 = '1E      '           / FORTRAN format of field 12
TTYPE12 = 'IMAG M2         '   / Type (heading) of field 12
TUNIT12 = '        '           / physical units of field 12
TFORM13 = '1E      '           / FORTRAN format of field 13
TTYPE13 = 'REAL A2         '   / Type (heading) of field 13
TUNIT13 = '        '           / physical units of field 13
TFORM14 = '1E      '           / FORTRAN format of field 14
TTYPE14 = 'IMAG A2         '   / Type (heading) of field 14
TUNIT14 = '        '           / physical units of field 14
NO_ANT  =           28
NO_POL  =            2
NO_IF   =            1
END
\end{alltt}

\subsubsection{{\tt AIPS BP} tables}
\label{Appe:BPtable}
\begin{alltt}
XTENSION= 'BINTABLE'           / Extension type
BITPIX  =                    8 / Binary data
NAXIS   =                    2 / Table is a matrix
NAXIS1  =                 2120 / Width of table in bytes
NAXIS2  =                  224 / Number of entries in table
PCOUNT  =                    0 / Random parameter count
GCOUNT  =                    1 / Group count
TFIELDS =                   16 / Number of fields in each row
EXTNAME = 'AIPS BP '           / AIPS table file
EXTVER  =                    1 / Version number of table
TFORM1  = '1D      '           / FORTRAN format of field  1
TTYPE1  = 'TIME            '   / Type (heading) of field  1
TUNIT1  = 'DAYS    '           / Physical units of field  1
TFORM2  = '1E      '           / FORTRAN format of field  2
TTYPE2  = 'INTERVAL        '   / Type (heading) of field  2
TUNIT2  = 'DAYS    '           / Physical units of field  2
TFORM3  = '1J      '           / FORTRAN format of field  3
TTYPE3  = 'SOURCE ID       '   / Type (heading) of field  3
TUNIT3  = '        '           / Physical units of field  3
TFORM4  = '1J      '           / FORTRAN format of field  4
TTYPE4  = 'SUBARRAY        '   / Type (heading) of field  4
TUNIT4  = '        '           / Physical units of field  4
TFORM5  = '1J      '           / FORTRAN format of field  5
TTYPE5  = 'ANTENNA         '   / Type (heading) of field  5
TUNIT5  = '        '           / Physical units of field  5
TFORM6  = '1E      '           / FORTRAN format of field  6
TTYPE6  = 'BANDWIDTH       '   / Type (heading) of field  6
TUNIT6  = 'HZ      '           / Physical units of field  6
TFORM7  = '2D      '           / FORTRAN format of field  7
TTYPE7  = 'CHN_SHIFT       '   / Type (heading) of field  7
TUNIT7  = '        '           / Physical units of field  7
TFORM8  = '1J      '           / FORTRAN format of field  8
TTYPE8  = 'FREQ ID         '   / Type (heading) of field  8
TUNIT8  = '        '           / Physical units of field  8
TFORM9  = '1J      '           / FORTRAN format of field  9
TTYPE9  = 'REFANT 1        '   / Type (heading) of field  9
TUNIT9  = '        '           / Physical units of field  9
TFORM10 = '2E      '           / FORTRAN format of field 10
TTYPE10 = 'WEIGHT 1        '   / Type (heading) of field 10
TUNIT10 = '        '           / physical units of field 10
TFORM11 = '128E    '           / FORTRAN format of field 11
TTYPE11 = 'REAL 1          '   / Type (heading) of field 11
TUNIT11 = '        '           / physical units of field 11
TFORM12 = '128E    '           / FORTRAN format of field 12
TTYPE12 = 'IMAG 1          '   / Type (heading) of field 12
TUNIT12 = '        '           / physical units of field 12
TFORM13 = '1J      '           / FORTRAN format of field 13
TTYPE13 = 'REFANT 2        '   / Type (heading) of field 13
TUNIT13 = '        '           / physical units of field 13
TFORM14 = '2E      '           / FORTRAN format of field 14
TTYPE14 = 'WEIGHT 2        '   / Type (heading) of field 14
TUNIT14 = '        '           / physical units of field 14
TFORM15 = '128E    '           / FORTRAN format of field 15
TTYPE15 = 'REAL 2          '   / Type (heading) of field 15
TUNIT15 = '        '           / physical units of field 15
TFORM16 = '128E    '           / FORTRAN format of field 16
TTYPE16 = 'IMAG 2          '   / Type (heading) of field 16
TUNIT16 = '        '           / physical units of field 16
NO_ANT  =           28
NO_POL  =            2
NO_IF   =            2
NO_CHAN =           64
STRT_CHN=            1
NO_SHFTS=            1
LOW_SHFT=   0.00000000000000000E+00
SHFT_INC=   0.00000000000000000E+00
BP_TYPE = '        '
ISORTORD=                   5
END
\end{alltt}

\subsubsection{{\tt AIPS CL} tables}
\label{Appe:CLtable}
\begin{alltt}
XTENSION= 'BINTABLE'           / Extension type
BITPIX  =                    8 / Binary data
NAXIS   =                    2 / Table is a matrix
NAXIS1  =                  192 / Width of table in bytes
NAXIS2  =                 1225 / Number of entries in table
PCOUNT  =                    0 / Random parameter count
GCOUNT  =                    1 / Group count
TFIELDS =                   33 / Number of fields in each row
EXTNAME = 'AIPS CL '           / AIPS table file
EXTVER  =                    1 / Version number of table
TFORM1  = '1D      '           / FORTRAN format of field  1
TTYPE1  = 'TIME            '   / Type (heading) of field  1
TUNIT1  = 'DAYS    '           / Physical units of field  1
TFORM2  = '1E      '           / FORTRAN format of field  2
TTYPE2  = 'TIME INTERVAL   '   / Type (heading) of field  2
TUNIT2  = 'DAYS    '           / Physical units of field  2
TFORM3  = '1J      '           / FORTRAN format of field  3
TTYPE3  = 'SOURCE ID       '   / Type (heading) of field  3
TUNIT3  = '        '           / Physical units of field  3
TFORM4  = '1J      '           / FORTRAN format of field  4
TTYPE4  = 'ANTENNA NO.     '   / Type (heading) of field  4
TUNIT4  = '        '           / Physical units of field  4
TFORM5  = '1J      '           / FORTRAN format of field  5
TTYPE5  = 'SUBARRAY        '   / Type (heading) of field  5
TUNIT5  = '        '           / Physical units of field  5
TFORM6  = '1J      '           / FORTRAN format of field  6
TTYPE6  = 'FREQ ID         '   / Type (heading) of field  6
TUNIT6  = '        '           / Physical units of field  6
TFORM7  = '1E      '           / FORTRAN format of field  7
TTYPE7  = 'I.FAR.ROT       '   / Type (heading) of field  7
TUNIT7  = 'RAD/M**2'           / Physical units of field  7
TFORM8  = '1D      '           / FORTRAN format of field  8
TTYPE8  = 'GEODELAY        '   / Type (heading) of field  8
TUNIT8  = 'SECONDS '           / Physical units of field  8
TFORM9  = '2E      '           / FORTRAN format of field  9
TTYPE9  = 'DOPPOFF         '   / Type (heading) of field  9
TUNIT9  = 'HZ      '           / Physical units of field  9
TFORM10 = '1E      '           / FORTRAN format of field 10
TTYPE10 = 'ATMOS           '   / Type (heading) of field 10
TUNIT10 = 'SECONDS '           / physical units of field 10
TFORM11 = '1E      '           / FORTRAN format of field 11
TTYPE11 = 'DATMOS          '   / Type (heading) of field 11
TUNIT11 = 'SEC/SEC '           / physical units of field 11
TFORM12 = '1E      '           / FORTRAN format of field 12
TTYPE12 = 'MBDELAY1        '   / Type (heading) of field 12
TUNIT12 = 'SECONDS '           / physical units of field 12
TFORM13 = '1E      '           / FORTRAN format of field 13
TTYPE13 = 'CLOCK 1         '   / Type (heading) of field 13
TUNIT13 = 'SECONDS '           / physical units of field 13
TFORM14 = '1E      '           / FORTRAN format of field 14
TTYPE14 = 'DCLOCK 1        '   / Type (heading) of field 14
TUNIT14 = 'SEC/SEC '           / physical units of field 14
TFORM15 = '1E      '           / FORTRAN format of field 15
TTYPE15 = 'DISP 1          '   / Type (heading) of field 15
TUNIT15 = 'SEC/M**2'           / physical units of field 15
TFORM16 = '1E      '           / FORTRAN format of field 16
TTYPE16 = 'DDISP 1         '   / Type (heading) of field 16
TUNIT16 = 'S/S/M**2'           / physical units of field 16
TFORM17 = '2E      '           / FORTRAN format of field 17
TTYPE17 = 'REAL1           '   / Type (heading) of field 17
TUNIT17 = '        '           / physical units of field 17
TFORM18 = '2E      '           / FORTRAN format of field 18
TTYPE18 = 'IMAG1           '   / Type (heading) of field 18
TUNIT18 = '        '           / physical units of field 18
TFORM19 = '2E      '           / FORTRAN format of field 19
TTYPE19 = 'RATE 1          '   / Type (heading) of field 19
TUNIT19 = 'SEC/SEC '           / physical units of field 19
TFORM20 = '2E      '           / FORTRAN format of field 20
TTYPE20 = 'DELAY 1         '   / Type (heading) of field 20
TUNIT20 = 'SECONDS '           / physical units of field 20
TFORM21 = '2E      '           / FORTRAN format of field 21
TTYPE21 = 'WEIGHT 1        '   / Type (heading) of field 21
TUNIT21 = '        '           / physical units of field 21
TFORM22 = '2J      '           / FORTRAN format of field 22
TTYPE22 = 'REFANT 1        '   / Type (heading) of field 22
TUNIT22 = '        '           / physical units of field 22
TFORM23 = '1E      '           / FORTRAN format of field 23
TTYPE23 = 'MBDELAY2        '   / Type (heading) of field 23
TUNIT23 = 'SECONDS '           / physical units of field 23
TFORM24 = '1E      '           / FORTRAN format of field 24
TTYPE24 = 'CLOCK 2         '   / Type (heading) of field 24
TUNIT24 = 'SECONDS '           / physical units of field 24
TFORM25 = '1E      '           / FORTRAN format of field 25
TTYPE25 = 'DCLOCK 2        '   / Type (heading) of field 25
TUNIT25 = 'SEC/SEC '           / physical units of field 25
TFORM26 = '1E      '           / FORTRAN format of field 26
TTYPE26 = 'DISP 2          '   / Type (heading) of field 26
TUNIT26 = 'SEC/M**2'           / physical units of field 26
TFORM27 = '1E      '           / FORTRAN format of field 27
TTYPE27 = 'DDISP 2         '   / Type (heading) of field 27
TUNIT27 = 'S/S/M**2'           / physical units of field 27
TFORM28 = '2E      '           / FORTRAN format of field 28
TTYPE28 = 'REAL2           '   / Type (heading) of field 28
TUNIT28 = '        '           / physical units of field 28
TFORM29 = '2E      '           / FORTRAN format of field 29
TTYPE29 = 'IMAG2           '   / Type (heading) of field 29
TUNIT29 = '        '           / physical units of field 29
TFORM30 = '2E      '           / FORTRAN format of field 30
TTYPE30 = 'RATE 2          '   / Type (heading) of field 30
TUNIT30 = 'SEC/SEC '           / physical units of field 30
TFORM31 = '2E      '           / FORTRAN format of field 31
TTYPE31 = 'DELAY 2         '   / Type (heading) of field 31
TUNIT31 = 'SECONDS '           / physical units of field 31
TFORM32 = '2E      '           / FORTRAN format of field 32
TTYPE32 = 'WEIGHT 2        '   / Type (heading) of field 32
TUNIT32 = '        '           / physical units of field 32
TFORM33 = '2J      '           / FORTRAN format of field 33
TTYPE33 = 'REFANT 2        '   / Type (heading) of field 33
TUNIT33 = '        '           / physical units of field 33
NO_ANT  =           28
NO_POL  =            2
NO_IF   =            2
NO_TERM =            1
MGMOD   =   0.10000000000000000E+01
REVISION=           10
ISORTORD=                   4
END
\end{alltt}

\subsubsection{{\tt AIPS CP} tables}
\label{Appe:CPtable}
\begin{alltt}
XTENSION= 'BINTABLE'           / Extension type
BITPIX  =                    8 / Binary data
NAXIS   =                    2 / Table is a matrix
NAXIS1  =                16404 / Width of table in bytes
NAXIS2  =                    1 / Number of entries in table
PCOUNT  =                    0 / Random parameter count
GCOUNT  =                    1 / Group count
TFIELDS =                    6 / Number of fields in each row
EXTNAME = 'AIPS CP '           / AIPS table file
EXTVER  =                    1 / Version number of table
TFORM1  = '16A     '           / FORTRAN format of field  1
TTYPE1  = 'SOURCE          '   / Type (heading) of field  1
TUNIT1  = '        '           / Physical units of field  1
TFORM2  = '1J      '           / FORTRAN format of field  2
TTYPE2  = 'SOURCE ID       '   / Type (heading) of field  2
TUNIT2  = '        '           / Physical units of field  2
TFORM3  = '1024E   '           / FORTRAN format of field  3
TTYPE3  = 'I               '   / Type (heading) of field  3
TUNIT3  = 'Jy      '           / Physical units of field  3
TFORM4  = '1024E   '           / FORTRAN format of field  4
TTYPE4  = 'Q               '   / Type (heading) of field  4
TUNIT4  = 'Jy      '           / Physical units of field  4
TFORM5  = '1024E   '           / FORTRAN format of field  5
TTYPE5  = 'U               '   / Type (heading) of field  5
TUNIT5  = 'Jy      '           / Physical units of field  5
TFORM6  = '1024E   '           / FORTRAN format of field  6
TTYPE6  = 'V               '   / Type (heading) of field  6
TUNIT6  = 'Jy      '           / Physical units of field  6
NO_IF   =           16
NO_CHAN =           64
FREQID  =            1
END
\end{alltt}

\subsubsection{{\tt AIPS PD} tables}
\label{Appe:PDtable}
\begin{alltt}
XTENSION= 'BINTABLE'           / Extension type
BITPIX  =                    8 / Binary data
NAXIS   =                    2 / Table is a matrix
NAXIS1  =                16400 / Width of table in bytes
NAXIS2  =                   28 / Number of entries in table
PCOUNT  =                    0 / Random parameter count
GCOUNT  =                    1 / Group count
TFIELDS =                    9 / Number of fields in each row
EXTNAME = 'AIPS PD '           / AIPS table file
EXTVER  =                    1 / Version number of table
TFORM1  = '1J      '           / FORTRAN format of field  1
TTYPE1  = 'ANTENNA         '   / Type (heading) of field  1
TUNIT1  = '        '           / Physical units of field  1
TFORM2  = '1J      '           / FORTRAN format of field  2
TTYPE2  = 'SUBARRAY        '   / Type (heading) of field  2
TUNIT2  = '        '           / Physical units of field  2
TFORM3  = '1J      '           / FORTRAN format of field  3
TTYPE3  = 'FREQ ID         '   / Type (heading) of field  3
TUNIT3  = '        '           / Physical units of field  3
TFORM4  = '1J      '           / FORTRAN format of field  4
TTYPE4  = 'REFANT          '   / Type (heading) of field  4
TUNIT4  = '        '           / Physical units of field  4
TFORM5  = '0E      '           / FORTRAN format of field  5
TTYPE5  = 'P_DIFF          '   / Type (heading) of field  5
TUNIT5  = '        '           / Physical units of field  5
TFORM6  = '1024E   '           / FORTRAN format of field  6
TTYPE6  = 'REAL 1          '   / Type (heading) of field  6
TUNIT6  = '        '           / Physical units of field  6
TFORM7  = '1024E   '           / FORTRAN format of field  7
TTYPE7  = 'IMAG 1          '   / Type (heading) of field  7
TUNIT7  = '        '           / Physical units of field  7
TFORM8  = '1024E   '           / FORTRAN format of field  8
TTYPE8  = 'REAL 2          '   / Type (heading) of field  8
TUNIT8  = '        '           / Physical units of field  8
TFORM9  = '1024E   '           / FORTRAN format of field  9
TTYPE9  = 'IMAG 2          '   / Type (heading) of field  9
TUNIT9  = '        '           / Physical units of field  9
NO_ANT  =           28
NO_POL  =            2
NO_IF   =           16
NO_CHAN =           64
POLTYPE = 'APPROX  '
END
\end{alltt}

\hicol
\subsubsection{\Ex{{\tt AIPS PP} tables}}
\label{Appe:PPtable}
\begin{alltt}
XTENSION= 'BINTABLE'           / Extension type
BITPIX  =                    8 / Binary data
NAXIS   =                    2 / Table is a matrix
NAXIS1  =                 4108 / Width of table in bytes
NAXIS2  =                   10 / Number of entries in table
PCOUNT  =                    0 / Random parameter count
GCOUNT  =                    1 / Group count
TFIELDS =                    5 / Number of fields in each row
EXTNAME = 'AIPS PP '           / AIPS table file
EXTVER  =                    3 / Version number of table
TFORM1  = '1E      '           / FORTRAN format of field  1
TTYPE1  = 'TIME            '   / Type (heading) of field  1
TUNIT1  = 'DAYS            '   / Physical units of field  1
TFORM2  = '1J      '           / FORTRAN format of field  2
TTYPE2  = 'SUBARRAY        '   / Type (heading) of field  2
TUNIT2  = '        '           / Physical units of field  2
TFORM3  = '1J      '           / FORTRAN format of field  3
TTYPE3  = 'FREQ ID         '   / Type (heading) of field  4
TUNIT3  = '        '           / Physical units of field  3
TFORM4  = '512E    '           / FORTRAN format of field  4
TTYPE4  = 'PHASE DIFF      '   / Type (heading) of field  4
TUNIT4  = 'DEGREES '           / Physical units of field  4
TFORM5  = '512E    '           / FORTRAN format of field  5
TTYPE5  = 'PHASE RMS       '   / Type (heading) of field  5
TUNIT5  = 'DEGREES '           / Physical units of field  5
NO_IF   =            1
NO_CHAN =          127
BIF     =            1
BCHAN   =            1
PP POL  =            2
END
\end{alltt}
\hblack

\subsubsection{{\tt AIPS SN} tables}
\label{Appe:SNtable}
\begin{alltt}
XTENSION= 'BINTABLE'           / Extension type
BITPIX  =                    8 / Binary data
NAXIS   =                    2 / Table is a matrix
NAXIS1  =                  140 / Width of table in bytes
NAXIS2  =                   24 / Number of entries in table
PCOUNT  =                    0 / Random parameter count
GCOUNT  =                    1 / Group count
TFIELDS =                   22 / Number of fields in each row
EXTNAME = 'AIPS SN '           / AIPS table file
EXTVER  =                    1 / Version number of table
TFORM1  = '1D      '           / FORTRAN format of field  1
TTYPE1  = 'TIME            '   / Type (heading) of field  1
TUNIT1  = 'DAYS    '           / Physical units of field  1
TFORM2  = '1E      '           / FORTRAN format of field  2
TTYPE2  = 'TIME INTERVAL   '   / Type (heading) of field  2
TUNIT2  = 'DAYS    '           / Physical units of field  2
TFORM3  = '1J      '           / FORTRAN format of field  3
TTYPE3  = 'SOURCE ID       '   / Type (heading) of field  3
TUNIT3  = '        '           / Physical units of field  3
TFORM4  = '1J      '           / FORTRAN format of field  4
TTYPE4  = 'ANTENNA NO.     '   / Type (heading) of field  4
TUNIT4  = '        '           / Physical units of field  4
TFORM5  = '1J      '           / FORTRAN format of field  5
TTYPE5  = 'SUBARRAY        '   / Type (heading) of field  5
TUNIT5  = '        '           / Physical units of field  5
TFORM6  = '1J      '           / FORTRAN format of field  6
TTYPE6  = 'FREQ ID         '   / Type (heading) of field  6
TUNIT6  = '        '           / Physical units of field  6
TFORM7  = '1E      '           / FORTRAN format of field  7
TTYPE7  = 'I.FAR.ROT       '   / Type (heading) of field  7
TUNIT7  = 'RAD/M**2'           / Physical units of field  7
TFORM8  = '1J      '           / FORTRAN format of field  8
TTYPE8  = 'NODE NO.        '   / Type (heading) of field  8
TUNIT8  = '        '           / Physical units of field  8
TFORM9  = '1E      '           / FORTRAN format of field  9
TTYPE9  = 'MBDELAY1        '   / Type (heading) of field  9
TUNIT9  = 'SECONDS '           / Physical units of field  9
TFORM10 = '2E      '           / FORTRAN format of field 10
TTYPE10 = 'REAL1           '   / Type (heading) of field 10
TUNIT10 = '        '           / physical units of field 10
TFORM11 = '2E      '           / FORTRAN format of field 11
TTYPE11 = 'IMAG1           '   / Type (heading) of field 11
TUNIT11 = '        '           / physical units of field 11
TFORM12 = '2E      '           / FORTRAN format of field 12
TTYPE12 = 'DELAY 1         '   / Type (heading) of field 12
TUNIT12 = 'SECONDS '           / physical units of field 12
TFORM13 = '2E      '           / FORTRAN format of field 13
TTYPE13 = 'RATE 1          '   / Type (heading) of field 13
TUNIT13 = 'SEC/SEC '           / physical units of field 13
TFORM14 = '2E      '           / FORTRAN format of field 14
TTYPE14 = 'WEIGHT 1        '   / Type (heading) of field 14
TUNIT14 = '        '           / physical units of field 14
TFORM15 = '2J      '           / FORTRAN format of field 15
TTYPE15 = 'REFANT 1        '   / Type (heading) of field 15
TUNIT15 = '        '           / physical units of field 15
TFORM16 = '1E      '           / FORTRAN format of field 16
TTYPE16 = 'MBDELAY2        '   / Type (heading) of field 16
TUNIT16 = 'SECONDS '           / physical units of field 16
TFORM17 = '2E      '           / FORTRAN format of field 17
TTYPE17 = 'REAL2           '   / Type (heading) of field 17
TUNIT17 = '        '           / physical units of field 17
TFORM18 = '2E      '           / FORTRAN format of field 18
TTYPE18 = 'IMAG2           '   / Type (heading) of field 18
TUNIT18 = '        '           / physical units of field 18
TFORM19 = '2E      '           / FORTRAN format of field 19
TTYPE19 = 'DELAY 2         '   / Type (heading) of field 19
TUNIT19 = 'SECONDS '           / physical units of field 19
TFORM20 = '2E      '           / FORTRAN format of field 20
TTYPE20 = 'RATE 2          '   / Type (heading) of field 20
TUNIT20 = 'SEC/SEC '           / physical units of field 20
TFORM21 = '2E      '           / FORTRAN format of field 21
TTYPE21 = 'WEIGHT 2        '   / Type (heading) of field 21
TUNIT21 = '        '           / physical units of field 21
TFORM22 = '2J      '           / FORTRAN format of field 22
TTYPE22 = 'REFANT 2        '   / Type (heading) of field 22
TUNIT22 = '        '           / physical units of field 22
NO_ANT  =           28
NO_POL  =            2
NO_IF   =            2
NO_NODES=            0
MGMOD   =   0.10000000000000000E+01
APPLIED =                    T
REVISION=           10
SNORIGIN=            0
ISORTORD=                   1
END
\end{alltt}

\vfill\eject
\hicol
\subsubsection{\Hi{{\tt AIPS TE} tables}}
\label{Appe:TEtable}
\begin{alltt}
XTENSION= 'BINTABLE'           / Extension type
BITPIX  =                    8 / Binary data
NAXIS   =                    2 / Table is a matrix
NAXIS1  =                   80 / Width of table in bytes
NAXIS2  =                34020 / Number of entries in table
PCOUNT  =                    0 / Random parameter count
GCOUNT  =                    1 / Group count
TFIELDS =                   16 / Number of fields in each row
EXTNAME = 'AIPS TE '           / AIPS table file
EXTVER  =                    1 / Version number of table
TFORM1  = '1D      '           / FORTRAN format of field  1
TTYPE1  = 'TIME            '   / Type (heading) of field  1
TUNIT1  = 'DAYS    '           / Physical units of field  1
TFORM2  = '1J      '           / FORTRAN format of field  2
TTYPE2  = 'SOURCE          '   / Type (heading) of field  2
TUNIT2  = '        '           / Physical units of field  2
TFORM3  = '1J      '           / FORTRAN format of field  3
TTYPE3  = 'ANTENNA         '   / Type (heading) of field  3
TUNIT3  = '        '           / Physical units of field  3
TFORM4  = '1E      '           / FORTRAN format of field  4
TTYPE4  = 'HOUR ANGLE      '   / Type (heading) of field  4
TUNIT4  = 'DEGREES '           / Physical units of field  4
TFORM5  = '1E      '           / FORTRAN format of field  5
TTYPE5  = 'AZIMUTH         '   / Type (heading) of field  5
TUNIT5  = 'DEGREES '           / Physical units of field  5
TFORM6  = '1E      '           / FORTRAN format of field  6
TTYPE6  = 'ZENITH ANGLE    '   / Type (heading) of field  6
TUNIT6  = 'DEGREES '           / Physical units of field  6
TFORM7  = '1E      '           / FORTRAN format of field  7
TTYPE7  = 'AZION           '   / Type (heading) of field  7
TUNIT7  = 'DEGREES '           / Physical units of field  7
TFORM8  = '1E      '           / FORTRAN format of field  8
TTYPE8  = 'ZAION           '   / Type (heading) of field  8
TUNIT8  = 'DEGREES '           / Physical units of field  8
TFORM9  = '1E      '           / FORTRAN format of field  9
TTYPE9  = 'DLON            '   / Type (heading) of field  9
TUNIT9  = 'DEGREES '           / Physical units of field  9
TFORM10 = '1E      '           / FORTRAN format of field 10
TTYPE10 = 'DLAT            '   / Type (heading) of field 10
TUNIT10 = 'DEGREES '           / physical units of field 10
TFORM11 = '3E      '           / FORTRAN format of field 11
TTYPE11 = 'BFIELD          '   / Type (heading) of field 11
TUNIT11 = 'GAUSS   '           / physical units of field 11
TFORM12 = '1E      '           / FORTRAN format of field 12
TTYPE12 = 'TEPATH          '   / Type (heading) of field 12
TUNIT12 = '^16 /M^2'           / physical units of field 12
TFORM13 = '1E      '           / FORTRAN format of field 13
TTYPE13 = 'PROJECTED B     '   / Type (heading) of field 13
TUNIT13 = 'GAUSS   '           / physical units of field 13
TFORM14 = '1E      '           / FORTRAN format of field 14
TTYPE14 = 'TOTAL TEC       '   / Type (heading) of field 14
TUNIT14 = '^16 /M^2'           / physical units of field 14
TFORM15 = '1E      '           / FORTRAN format of field 15
TTYPE15 = 'IFR             '   / Type (heading) of field 15
TUNIT15 = 'RAD/M^2 '           / physical units of field 15
TFORM16 = '2E      '           / FORTRAN format of field 15
TTYPE16 = 'disp delay      '   / Type (heading) of field 15
TUNIT16 = 'SEC/M^2 '           / physical units of field 15
RDATE   = '2022-10-19'
TECRTYPE= 'jplg'
END
\end{alltt}
\hblack

\subsection{UV-table HDU of $uv$ table form}
\label{Appe:UVtable}
\small
\begin{alltt}
XTENSION= 'BINTABLE'           / Extension type
BITPIX  =                    8 / Binary data
NAXIS   =                    2 / Table is a matrix
NAXIS1  =                 6176 / Width of table in bytes
NAXIS2  =               609900 / Number of entries in table
PCOUNT  =                    0 / Random parameter count
GCOUNT  =                    1 / Group count
TFIELDS =                    9 / Number of fields in each row
EXTNAME = 'AIPS UV '           / AIPS table file
EXTVER  =                    1 / Version number of table
TFORM1  = '1E      '           / FORTRAN format of field  1
TTYPE1  = 'UU--            '   / Type (heading) of field  1
TUNIT1  = 'SECONDS '           / physical units of field  1
TSCAL1  =  2.0424836601307E-10 / scale to physical units in field  1
TFORM2  = '1E      '           / FORTRAN format of field  2
TTYPE2  = 'VV--            '   / Type (heading) of field  2
TUNIT2  = 'SECONDS '           / physical units of field  2
TSCAL2  =  2.0424836601307E-10 / scale to physical units in field  2
TFORM3  = '1E      '           / FORTRAN format of field  3
TTYPE3  = 'WW--            '   / Type (heading) of field  3
TUNIT3  = 'SECONDS '           / physical units of field  3
TSCAL3  =  2.0424836601307E-10 / scale to physical units in field  3
TFORM4  = '1E      '           / FORTRAN format of field  4
TTYPE4  = 'DATE            '   / Type (heading) of field  4
TUNIT4  = 'DAYS    '           / physical units of field  4
TZERO4  =  2.4552635000000E+06 / offset to physical units in field  4
TFORM5  = '1E      '           / FORTRAN format of field  5
TTYPE5  = 'BASELINE        '   / Type (heading) of field  5
TUNIT5  = '        '           / physical units of field  5
TFORM6  = '1E      '           / FORTRAN format of field  6
TTYPE6  = 'FREQSEL         '   / Type (heading) of field  6
TUNIT6  = '        '           / physical units of field  6
TFORM7  = '1E      '           / FORTRAN format of field  7
TTYPE7  = 'SOURCE          '   / Type (heading) of field  7
TUNIT7  = '        '           / physical units of field  7
TFORM8  = '1E      '           / FORTRAN format of field  8
TTYPE8  = 'INTTIM          '   / Type (heading) of field  8
TUNIT8  = '        '           / physical units of field  8
TFORM9  = '1536E   '           / FORTRAN format of field  9
TTYPE9  = 'VISIBILITIES    '   / Type (heading) of field  9
TUNIT9  = 'JY      '           / physical units of field  9
TDIM9   = '(3,4,64,2,1,1)'

1CTYP9  = 'COMPLEX '           / 1=real,2=imag,3=weight
1CRVL9  =    1.00000000000E+00 /
1CDLT9  =      1.000000000E+00 /
1CRPX9  =      1.000000000E+00 /
1CROT9  =      0.000000000E+00 /
2CTYP9  = 'STOKES  '           / -1=RR, -2=LL, -3=RL, -4=LR
2CRVL9  =   -1.00000000000E+00 /
2CDLT9  =     -1.000000000E+00 /
2CRPX9  =      1.000000000E+00 /
2CROT9  =      0.000000000E+00 /
3CTYP9  = 'FREQ    '           / Frequency in Hz.
3CRVL9  =    4.89600000000E+09 /
3CDLT9  =      2.000000000E+06 /
3CRPX9  =      3.300000000E+01 /
3CROT9  =      0.000000000E+00 /
4CTYP9  = 'IF      '           / Freq. group no. in CH table
4CRVL9  =    1.00000000000E+00 /
4CDLT9  =      1.000000000E+00 /
4CRPX9  =      1.000000000E+00 /
4CROT9  =      0.000000000E+00 /
5CTYP9  = 'RA      '           / Right Ascension in deg.
5CRVL9  =    0.00000000000E+00 /
5CDLT9  =      1.000000000E+00 /
5CRPX9  =      1.000000000E+00 /
5CROT9  =      0.000000000E+00 /
6CTYP9  = 'DEC     '           / Declination in deg.
6CRVL9  =    0.00000000000E+00 /
6CDLT9  =      1.000000000E+00 /
6CRPX9  =      1.000000000E+00 /
6CROT9  =      0.000000000E+00 /
OBJECT  = 'MULTI   '           / Source name
TELESCOP= 'EVLA    '           /
INSTRUME= 'EVLA    '           /
OBSERVER= 'TOSR0001'           /
DATE-OBS= '2010-03-08'         / Obs start date YYYY-MM-DD
DATE-MAP= '2010-03-08'         / Last processing date YYYY-MM-DD
BSCALE  =    1.00000000000E+00 / REAL = TAPE * BSCALE + BZERO
BZERO   =    0.00000000000E+00 /
BUNIT   = 'UNCALIB '           / Units of flux
EQUINOX =      2.000000000E+03 / Epoch of RA DEC
COMMENT / IEEE not-a-number used for blanked f.p. pixels
ALTRPIX =      3.300000000E+01 / Altenate FREQ/VEL ref pixel
HISTORY AIPS   SORT ORDER = 'TB'
              / Where T means TIME (IAT)
              / Where B means BASELINE NUM
HISTORY AIPS   IMNAME='Empty field ' IMCLASS='UVDATA' IMSEQ=   1     /
HISTORY AIPS   USERNO= 2010            /
HISTORY AIPS   IPIECE= 1 NPIECE= 1     / piece number
HISTORY AIPS   FIRSTVIS=           1     / first vis #
HISTORY AIPS   LASTVIS =      609900     / last vis #
END
\end{alltt}

\subsection{UV-table HDU of $uv$ table form, compressed data}
\label{Appe:UVcomptable}
\small
\begin{alltt}
XTENSION= 'BINTABLE'           / Extension type
BITPIX  =                    8 / Binary data
NAXIS   =                    2 / Table is a matrix
NAXIS1  =                 2088 / Width of table in bytes
NAXIS2  =               609900 / Number of entries in table
PCOUNT  =                    0 / Random parameter count
GCOUNT  =                    1 / Group count
TFIELDS =                   11 / Number of fields in each row
EXTNAME = 'AIPS UV '           / AIPS table file
EXTVER  =                    1 / Version number of table
TFORM1  = '1E      '           / FORTRAN format of field  1
TTYPE1  = 'UU--            '   / Type (heading) of field  1
TUNIT1  = 'SECONDS '           / physical units of field  1
TSCAL1  =  2.0424836601307E-10 / scale to physical units in field  1
TFORM2  = '1E      '           / FORTRAN format of field  2
TTYPE2  = 'VV--            '   / Type (heading) of field  2
TUNIT2  = 'SECONDS '           / physical units of field  2
TSCAL2  =  2.0424836601307E-10 / scale to physical units in field  2
TFORM3  = '1E      '           / FORTRAN format of field  3
TTYPE3  = 'WW--            '   / Type (heading) of field  3
TUNIT3  = 'SECONDS '           / physical units of field  3
TSCAL3  =  2.0424836601307E-10 / scale to physical units in field  3
TFORM4  = '1E      '           / FORTRAN format of field  4
TTYPE4  = 'DATE            '   / Type (heading) of field  4
TUNIT4  = 'DAYS    '           / physical units of field  4
TZERO4  =  2.4552635000000E+06 / offset to physical units in field  4
TFORM5  = '1E      '           / FORTRAN format of field  5
TTYPE5  = 'BASELINE        '   / Type (heading) of field  5
TUNIT5  = '        '           / physical units of field  5
TFORM6  = '1E      '           / FORTRAN format of field  6
TTYPE6  = 'FREQSEL         '   / Type (heading) of field  6
TUNIT6  = '        '           / physical units of field  6
TFORM7  = '1E      '           / FORTRAN format of field  7
TTYPE7  = 'SOURCE          '   / Type (heading) of field  7
TUNIT7  = '        '           / physical units of field  7
TFORM8  = '1E      '           / FORTRAN format of field  8
TTYPE8  = 'INTTIM          '   / Type (heading) of field  8
TUNIT8  = '        '           / physical units of field  8
TFORM9  = '1E      '           / FORTRAN format of field  9
TTYPE9  = 'WEIGHT          '   / Type (heading) of field  9
TUNIT9  = '        '           / physical units of field  9
TFORM10 = '1E      '           / FORTRAN format of field 10
TTYPE10 = 'SCALE           '   / Type (heading) of field 10
TUNIT10 = '        '           / physical units of field 10
TFORM11 = '1024I   '           / FORTRAN format of field 11
TTYPE11 = 'VISIBILITIES    '   / Type (heading) of field 11
TUNIT11 = 'JY      '           / physical units of field 11
TNULL11 =               -32767 / magic value for flagged data
TDIM11  = '(2,4,64,2,1,1)'

1CTYP11 = 'COMPLEX '           / 1=real,2=imag,3=weight
1CRVL11 =    1.00000000000E+00 /
1CDLT11 =      1.000000000E+00 /
1CRPX11 =      1.000000000E+00 /
1CROT11 =      0.000000000E+00 /
2CTYP11 = 'STOKES  '           / -1=RR, -2=LL, -3=RL, -4=LR
2CRVL11 =   -1.00000000000E+00 /
2CDLT11 =     -1.000000000E+00 /
2CRPX11 =      1.000000000E+00 /
2CROT11 =      0.000000000E+00 /
3CTYP11 = 'FREQ    '           / Frequency in Hz.
3CRVL11 =    4.89600000000E+09 /
3CDLT11 =      2.000000000E+06 /
3CRPX11 =      3.300000000E+01 /
3CROT11 =      0.000000000E+00 /
4CTYP11 = 'IF      '           / Freq. group no. in CH table
4CRVL11 =    1.00000000000E+00 /
4CDLT11 =      1.000000000E+00 /
4CRPX11 =      1.000000000E+00 /
4CROT11 =      0.000000000E+00 /
5CTYP11 = 'RA      '           / Right Ascension in deg.
5CRVL11 =    0.00000000000E+00 /
5CDLT11 =      1.000000000E+00 /
5CRPX11 =      1.000000000E+00 /
5CROT11 =      0.000000000E+00 /
6CTYP11 = 'DEC     '           / Declination in deg.
6CRVL11 =    0.00000000000E+00 /
6CDLT11 =      1.000000000E+00 /
6CRPX11 =      1.000000000E+00 /
6CROT11 =      0.000000000E+00 /
OBJECT  = 'MULTI   '           / Source name
TELESCOP= 'EVLA    '           /
INSTRUME= 'EVLA    '           /
OBSERVER= 'TOSR0001'           /
DATE-OBS= '2010-03-08'         / Obs start date YYYY-MM-DD
DATE-MAP= '2012-01-06'         / Last processing date YYYY-MM-DD
BSCALE  =    1.00000000000E+00 / REAL = TAPE * BSCALE + BZERO
BZERO   =    0.00000000000E+00 /
BUNIT   = 'UNCALIB '           / Units of flux
EQUINOX =      2.000000000E+03 / Epoch of RA DEC
COMMENT / IEEE not-a-number used for blanked f.p. pixels
ALTRPIX =      3.300000000E+01 / Altenate FREQ/VEL ref pixel
HISTORY AIPS   SORT ORDER = 'TB'
              / Where T means TIME (IAT)
              / Where B means BASELINE NUM
HISTORY AIPS   IMNAME='Memo 117    ' IMCLASS='UVCMP ' IMSEQ=   1     /
HISTORY AIPS   USERNO= 2010            /
HISTORY AIPS   IPIECE= 1 NPIECE= 1     / piece number
HISTORY AIPS   FIRSTVIS=           1     / first vis #
HISTORY AIPS   LASTVIS =      609900     / last vis #
END
\end{alltt}

\subsection{\AIPS\ tables primarily related to imaging}

\subsubsection{{\tt AIPS CC} tables}
\label{Appe:CCtable}
\begin{alltt}
XTENSION= 'BINTABLE'           / Extension type
BITPIX  =                    8 / Binary data
NAXIS   =                    2 / Table is a matrix
NAXIS1  =                   12 / Width of table in bytes
NAXIS2  =                  500 / Number of entries in table
PCOUNT  =                    0 / Random parameter count
GCOUNT  =                    1 / Group count
TFIELDS =                    3 / Number of fields in each row
EXTNAME = 'AIPS CC '           / AIPS table file
EXTVER  =                    1 / Version number of table
TFORM1  = '1E      '           / FORTRAN format of field  1
TTYPE1  = 'FLUX            '   / Type (heading) of field  1
TUNIT1  = 'JY      '           / Physical units of field  1
TFORM2  = '1E      '           / FORTRAN format of field  2
TTYPE2  = 'DELTAX          '   / Type (heading) of field  2
TUNIT2  = 'DEGREES '           / Physical units of field  2
TFORM3  = '1E      '           / FORTRAN format of field  3
TTYPE3  = 'DELTAY          '   / Type (heading) of field  3
TUNIT3  = 'DEGREES '           / Physical units of field  3
\end{alltt}
\excol\vspace{-2.7em}
\begin{alltt}
TFORM4  = '1E      '           / FORTRAN format of field  4
TTYPE4  = 'DELTAZ          '   / Type (heading) of field  4
TUNIT4  = 'DEGREES '           / Physical units of field  4
TFORM5  = '1E      '           / FORTRAN format of field  4
TTYPE5  = 'MAJOR AX        '   / Type (heading) of field  4
TUNIT5  = 'DEGREES '           / Physical units of field  4
TFORM6  = '1E      '           / FORTRAN format of field  4
TTYPE6  = 'MINOR AX        '   / Type (heading) of field  4
TUNIT6  = 'DEGREES '           / Physical units of field  4
TFORM7  = '1E      '           / FORTRAN format of field  4
TTYPE7  = 'POSANGLE        '   / Type (heading) of field  4
TUNIT7  = 'DEGREES '           / Physical units of field  4
TFORM8  = '1E      '           / FORTRAN format of field  4
TTYPE8  = 'TYPE OBJ        '   / Type (heading) of field  4
TUNIT8  = '        '           / Physical units of field  4
END
\end{alltt}
\hblack

\subsubsection{{\tt AIPS CG} tables}
\label{Appe:CGtable}
\begin{alltt}
XTENSION= 'BINTABLE'           / Extension type
BITPIX  =                    8 / Binary data
NAXIS   =                    2 / Table is a matrix
NAXIS1  =                   20 / Width of table in bytes
NAXIS2  =                  961 / Number of entries in table
PCOUNT  =                    0 / Random parameter count
GCOUNT  =                    1 / Group count
TFIELDS =                    4 / Number of fields in each row
EXTNAME = 'AIPS CG '           / AIPS table file
EXTVER  =                    1 / Version number of table
TFORM1  = '1D      '           / FORTRAN format of field  1
TTYPE1  = 'FREQUENCY       '   / Type (heading) of field  1
TUNIT1  = 'HZ      '           / Physical units of field  1
TFORM2  = '1E      '           / FORTRAN format of field  2
TTYPE2  = 'BMAJ            '   / Type (heading) of field  2
TUNIT2  = 'DEGREES '           / Physical units of field  2
TFORM3  = '1E      '           / FORTRAN format of field  3
TTYPE3  = 'BMIN            '   / Type (heading) of field  3
TUNIT3  = 'DEGREES '           / Physical units of field  3
TFORM4  = '1E      '           / FORTRAN format of field  4
TTYPE4  = 'BPA             '   / Type (heading) of field  4
TUNIT4  = 'DEGREES '           / Physical units of field  4
TABREV  =            1
END
\end{alltt}

\subsubsection{{\tt AIPS MF} tables}
\label{Appe:MFtable}
\begin{alltt}
XTENSION= 'BINTABLE'           / Extension type
BITPIX  =                    8 / Binary data
NAXIS   =                    2 / Table is a matrix
NAXIS1  =                  164 / Width of table in bytes
NAXIS2  =                    1 / Number of entries in table
PCOUNT  =                    0 / Random parameter count
GCOUNT  =                    1 / Group count
TFIELDS =                   41 / Number of fields in each row
EXTNAME = 'AIPS MF '           / AIPS table file
EXTVER  =                    1 / Version number of table
TFORM1  = '1E      '           / FORTRAN format of field  1
TTYPE1  = 'PLANE           '   / Type (heading) of field  1
TUNIT1  = '        '           / Physical units of field  1
TFORM2  = '1E      '           / FORTRAN format of field  2
TTYPE2  = 'PEAK INT        '   / Type (heading) of field  2
TUNIT2  = 'JY/BEAM '           / Physical units of field  2
TFORM3  = '1E      '           / FORTRAN format of field  3
TTYPE3  = 'I FLUX          '   / Type (heading) of field  3
TUNIT3  = 'JY      '           / Physical units of field  3
TFORM4  = '1E      '           / FORTRAN format of field  4
TTYPE4  = 'DELTAX          '   / Type (heading) of field  4
TUNIT4  = 'DEGREES '           / Physical units of field  4
TFORM5  = '1E      '           / FORTRAN format of field  5
TTYPE5  = 'DELTAY          '   / Type (heading) of field  5
TUNIT5  = 'DEGREES '           / Physical units of field  5
TFORM6  = '1E      '           / FORTRAN format of field  6
TTYPE6  = 'MAJOR AX        '   / Type (heading) of field  6
TUNIT6  = 'DEGREES '           / Physical units of field  6
TFORM7  = '1E      '           / FORTRAN format of field  7
TTYPE7  = 'MINOR AX        '   / Type (heading) of field  7
TUNIT7  = 'DEGREES '           / Physical units of field  7
TFORM8  = '1E      '           / FORTRAN format of field  8
TTYPE8  = 'POSANGLE        '   / Type (heading) of field  8
TUNIT8  = 'DEGREES '           / Physical units of field  8
TFORM9  = '1E      '           / FORTRAN format of field  9
TTYPE9  = 'Q FLUX          '   / Type (heading) of field  9
TUNIT9  = 'JY      '           / Physical units of field  9
TFORM10 = '1E      '           / FORTRAN format of field 10
TTYPE10 = 'U FLUX          '   / Type (heading) of field 10
TUNIT10 = 'JY      '           / physical units of field 10
TFORM11 = '1E      '           / FORTRAN format of field 11
TTYPE11 = 'V FLUX          '   / Type (heading) of field 11
TUNIT11 = 'JY      '           / physical units of field 11
TFORM12 = '1E      '           / FORTRAN format of field 12
TTYPE12 = 'ERR PEAK        '   / Type (heading) of field 12
TUNIT12 = 'JY/BEAM '           / physical units of field 12
TFORM13 = '1E      '           / FORTRAN format of field 13
TTYPE13 = 'ERR FLUX        '   / Type (heading) of field 13
TUNIT13 = 'JY      '           / physical units of field 13
TFORM14 = '1E      '           / FORTRAN format of field 14
TTYPE14 = 'ERR DLTX        '   / Type (heading) of field 14
TUNIT14 = 'DEGREES '           / physical units of field 14
TFORM15 = '1E      '           / FORTRAN format of field 15
TTYPE15 = 'ERR DLTY        '   / Type (heading) of field 15
TUNIT15 = 'DEGREES '           / physical units of field 15
TFORM16 = '1E      '           / FORTRAN format of field 16
TTYPE16 = 'ERR MAJA        '   / Type (heading) of field 16
TUNIT16 = 'DEGREES '           / physical units of field 16
TFORM17 = '1E      '           / FORTRAN format of field 17
TTYPE17 = 'ERR MINA        '   / Type (heading) of field 17
TUNIT17 = 'DEGREES '           / physical units of field 17
TFORM18 = '1E      '           / FORTRAN format of field 18
TTYPE18 = 'ERR PA          '   / Type (heading) of field 18
TUNIT18 = 'DEGREES '           / physical units of field 18
TFORM19 = '1E      '           / FORTRAN format of field 19
TTYPE19 = 'ERR QFLX        '   / Type (heading) of field 19
TUNIT19 = 'JY      '           / physical units of field 19
TFORM20 = '1E      '           / FORTRAN format of field 20
TTYPE20 = 'ERR UFLX        '   / Type (heading) of field 20
TUNIT20 = 'JY      '           / physical units of field 20
TFORM21 = '1E      '           / FORTRAN format of field 21
TTYPE21 = 'ERR VFLX        '   / Type (heading) of field 21
TUNIT21 = 'JY      '           / physical units of field 21
TFORM22 = '1E      '           / FORTRAN format of field 22
TTYPE22 = 'TYPE MOD        '   / Type (heading) of field 22
TUNIT22 = '        '           / physical units of field 22
TFORM23 = '1E      '           / FORTRAN format of field 23
TTYPE23 = 'D0 MAJOR        '   / Type (heading) of field 23
TUNIT23 = 'DEGREES '           / physical units of field 23
TFORM24 = '1E      '           / FORTRAN format of field 24
TTYPE24 = 'D0 MINOR        '   / Type (heading) of field 24
TUNIT24 = 'DEGREES '           / physical units of field 24
TFORM25 = '1E      '           / FORTRAN format of field 25
TTYPE25 = 'D0 POSAN        '   / Type (heading) of field 25
TUNIT25 = 'DEGREES '           / physical units of field 25
TFORM26 = '1E      '           / FORTRAN format of field 26
TTYPE26 = 'D- MAJOR        '   / Type (heading) of field 26
TUNIT26 = 'DEGREES '           / physical units of field 26
TFORM27 = '1E      '           / FORTRAN format of field 27
TTYPE27 = 'D- MINOR        '   / Type (heading) of field 27
TUNIT27 = 'DEGREES '           / physical units of field 27
TFORM28 = '1E      '           / FORTRAN format of field 28
TTYPE28 = 'D- POSAN        '   / Type (heading) of field 28
TUNIT28 = 'DEGREES '           / physical units of field 28
TFORM29 = '1E      '           / FORTRAN format of field 29
TTYPE29 = 'D+ MAJOR        '   / Type (heading) of field 29
TUNIT29 = 'DEGREES '           / physical units of field 29
TFORM30 = '1E      '           / FORTRAN format of field 30
TTYPE30 = 'D+ MINOR        '   / Type (heading) of field 30
TUNIT30 = 'DEGREES '           / physical units of field 30
TFORM31 = '1E      '           / FORTRAN format of field 31
TTYPE31 = 'D+ POSAN        '   / Type (heading) of field 31
TUNIT31 = 'DEGREES '           / physical units of field 31
TFORM32 = '1E      '           / FORTRAN format of field 32
TTYPE32 = 'RES RMS         '   / Type (heading) of field 32
TUNIT32 = 'JY/BEAM '           / physical units of field 32
TFORM33 = '1E      '           / FORTRAN format of field 33
TTYPE33 = 'RES PEAK        '   / Type (heading) of field 33
TUNIT33 = 'JY/BEAM '           / physical units of field 33
TFORM34 = '1E      '           / FORTRAN format of field 34
TTYPE34 = 'RES FLUX        '   / Type (heading) of field 34
TUNIT34 = 'JY      '           / physical units of field 34
TFORM35 = '1E      '           / FORTRAN format of field 35
TTYPE35 = 'CENTER X        '   / Type (heading) of field 35
TUNIT35 = 'PIXELS  '           / physical units of field 35
TFORM36 = '1E      '           / FORTRAN format of field 36
TTYPE36 = 'CENTER Y        '   / Type (heading) of field 36
TUNIT36 = 'PIXELS  '           / physical units of field 36
TFORM37 = '1E      '           / FORTRAN format of field 37
TTYPE37 = 'MAJ AXIS        '   / Type (heading) of field 37
TUNIT37 = 'PIXELS  '           / physical units of field 37
TFORM38 = '1E      '           / FORTRAN format of field 38
TTYPE38 = 'MIN AXIS        '   / Type (heading) of field 38
TUNIT38 = 'PIXELS  '           / physical units of field 38
TFORM39 = '1E      '           / FORTRAN format of field 39
TTYPE39 = 'PIXEL PA        '   / Type (heading) of field 39
TUNIT39 = 'DEGREES '           / physical units of field 39
TFORM40 = '1E      '           / FORTRAN format of field 40
TTYPE40 = 'PB FACT         '   / Type (heading) of field 40
TUNIT40 = '        '           / physical units of field 40
TFORM41 = '1E      '           / FORTRAN format of field 41
TTYPE41 = 'DLY FACT        '   / Type (heading) of field 41
TUNIT41 = '        '           / physical units of field 41
REVISION=            4
DEPTH1  =           45
DEPTH2  =            1
DEPTH3  =            1
DEPTH4  =            1
DEPTH5  =            1
REALRMS =   0.3615742E-02
END
\end{alltt}

\excol
\subsubsection{\Ex{{\tt AIPS RM} tables}}
\label{Appe:RMtable}
\begin{alltt}
XTENSION= 'BINTABLE'           / Extension type
BITPIX  =                    8 / Binary data
NAXIS   =                    2 / Table is a matrix
NAXIS1  =                  164 / Width of table in bytes
NAXIS2  =                16384 / Number of entries in table
PCOUNT  =                    0 / Random parameter count
GCOUNT  =                    1 / Group count
TFIELDS =                   14 / Number of fields in each row
EXTNAME = 'AIPS RM '           / AIPS table file
EXTVER  =                    1 / Version number of table
TFORM1  = '2J      '           / FORTRAN format of field  1
TTYPE1  = 'PIXEL           '   / Type (heading) of field  1
TUNIT1  = 'PIXELS  '           / Physical units of field  1
TFORM2  = '1J      '           / FORTRAN format of field  2
TTYPE2  = 'NCOMP           '   / Type (heading) of field  2
TUNIT2  = '        '           / Physical units of field  2
TFORM3  = '1E      '           / FORTRAN format of field  3
TTYPE3  = 'IFLUX           '   / Type (heading) of field  3
TUNIT3  = 'JY/BEAM '           / Physical units of field  3
TFORM4  = '1E      '           / FORTRAN format of field  4
TTYPE4  = 'PFLUX           '   / Type (heading) of field  4
TUNIT4  = 'JY/BEAM '           / Physical units of field  4
TFORM5  = '4E      '           / FORTRAN format of field  5
TTYPE5  = 'PONE            '   / Type (heading) of field  5
TUNIT5  = 'JY/BEAM '           / Physical units of field  5
TFORM6  = '4E      '           / FORTRAN format of field  6
TTYPE6  = 'THETA           '   / Type (heading) of field  6
TUNIT6  = 'DEGREES '           / Physical units of field  6
TFORM7  = '4E      '           / FORTRAN format of field  7
TTYPE7  = 'ROT.MEAS        '   / Type (heading) of field  7
TUNIT7  = 'RAD/M/M '           / Physical units of field  7
TFORM8  = '4E      '           / FORTRAN format of field  8
TTYPE8  = 'THICKNESS       '   / Type (heading) of field  8
TUNIT8  = 'RAD/M/M '           / Physical units of field  8
TFORM9  = '4E      '           / FORTRAN format of field  9
TTYPE9  = 'ERR P1          '   / Type (heading) of field  9
TUNIT9  = 'JY/BEAM '           / Physical units of field  9
TFORM10 = '4E      '           / FORTRAN format of field 10
TTYPE10 = 'ERR THET        '   / Type (heading) of field 10RM
TUNIT10 = 'DEGREES '           / physical units of field 10
TFORM11 = '4E      '           / FORTRAN format of field 11
TTYPE11 = 'ERR RM          '   / Type (heading) of field 11
TUNIT11 = 'RAD/M/M '           / physical units of field 11
TFORM12 = '4E      '           / FORTRAN format of field 12
TTYPE12 = 'ERR THICK       '   / Type (heading) of field 12
TUNIT12 = 'RAD/M/M '           / physical units of field 12
TFORM13 = '2E      '           / FORTRAN format of field 13
TTYPE13 = 'QU RMS          '   / Type (heading) of field 13
TUNIT13 = 'JY/BEAM '           / physical units of field 13
TFORM14 = '2E      '           / FORTRAN format of field 14
TTYPE14 = 'WTED QU RMS     '   / Type (heading) of field 14
TUNIT14 = 'JY/BEAM '           / physical units of field 14
YBLC    =            1
YTRC    =          128
ZBLC    =            1
ZTRC    =          128
YINC    =            4
ZINC    =            4
ICLIP   =   0.75000000000000000D+00
PCLIP   =   0.50000000000000000D+00
PIX FIT =            0
END
\end{alltt}
\hblack


\subsubsection{{\tt AIPS ST} tables}
\label{Appe:STtable}
\begin{alltt}
XTENSION= 'BINTABLE'           / Extension type
BITPIX  =                    8 / Binary data
NAXIS   =                    2 / Table is a matrix
NAXIS1  =                   56 / Width of table in bytes
NAXIS2  =                    3 / Number of entries in table
PCOUNT  =                    0 / Random parameter count
GCOUNT  =                    1 / Group count
TFIELDS =                    7 / Number of fields in each row
EXTNAME = 'AIPS ST '           / AIPS table file
EXTVER  =                    1 / Version number of table
TFORM1  = '1D      '           / FORTRAN format of field  1
TTYPE1  = 'RA---SIN        '   / Type (heading) of field  1
TUNIT1  = 'DEGREES '           / Physical units of field  1
TFORM2  = '1D      '           / FORTRAN format of field  2
TTYPE2  = 'DEC--SIN        '   / Type (heading) of field  2
TUNIT2  = 'DEGREES '           / Physical units of field  2
TFORM3  = '1E      '           / FORTRAN format of field  3
TTYPE3  = 'MAJOR AX        '   / Type (heading) of field  3
TUNIT3  = 'DEGREES '           / Physical units of field  3
TFORM4  = '1E      '           / FORTRAN format of field  4
TTYPE4  = 'MINOR AX        '   / Type (heading) of field  4
TUNIT4  = 'DEGREES '           / Physical units of field  4
TFORM5  = '1E      '           / FORTRAN format of field  5
TTYPE5  = 'POSANG          '   / Type (heading) of field  5
TUNIT5  = 'DEGREES '           / Physical units of field  5
TFORM6  = '1E      '           / FORTRAN format of field  6
TTYPE6  = 'STARTYPE        '   / Type (heading) of field  6
TUNIT6  = 'INDEX   '           / Physical units of field  6
TFORM7  = '24A     '           / FORTRAN format of field  7
TTYPE7  = 'LABEL           '   / Type (heading) of field  7
TUNIT7  = 'STRING  '           / Physical units of field  7
END
\end{alltt}

\vfill\eject
\hicol
\subsubsection{\Ex{{\tt AIPS XG} tables}}
\label{Appe:XGtable}
\begin{alltt}
XTENSION= 'BINTABLE'           / Extension type
BITPIX  =                    8 / Binary data
NAXIS   =                    2 / Table is a matrix
NAXIS1  =                  180 / Width of table in bytes
NAXIS2  =                16384 / Number of entries in table
PCOUNT  =                    0 / Random parameter count
GCOUNT  =                    1 / Group count
TFIELDS =                   12 / Number of fields in each row
EXTNAME = 'AIPS XG '           / AIPS table file
EXTVER  =                   15 / Version number of table
TFORM1  = '2J      '           / FORTRAN format of field  1
TTYPE1  = 'PIXEL           '   / Type (heading) of field  1
TUNIT1  = 'PIXELS  '           / Physical units of field  1
TFORM2  = '1J      '           / FORTRAN format of field  2
TTYPE2  = 'NGAUS           '   / Type (heading) of field  2
TUNIT2  = '        '           / Physical units of field  2
TFORM3  = '1E      '           / FORTRAN format of field  3
TTYPE3  = 'PEAK            '   / Type (heading) of field  3
TUNIT3  = 'JY/BEAM '           / Physical units of field  3
TFORM4  = '1E      '           / FORTRAN format of field  4
TTYPE4  = 'RES RMS         '   / Type (heading) of field  4
TUNIT4  = 'JY/BEAM '           / Physical units of field  4
TFORM5  = '2E      '           / FORTRAN format of field  5
TTYPE5  = 'BASELINE        '   / Type (heading) of field  5
TUNIT5  = 'JY/BEAM '           / Physical units of field  5
TFORM6  = '2E      '           / FORTRAN format of field  6
TTYPE6  = 'ERR BASE        '   / Type (heading) of field  6
TUNIT6  = 'JY/BEAM '           / Physical units of field  6
TFORM7  = '6E      '           / FORTRAN format of field  7
TTYPE7  = 'AMPLITUD        '   / Type (heading) of field  7
TUNIT7  = 'JY/BEAM '           / Physical units of field  7
TFORM8  = '6E      '           / FORTRAN format of field  8
TTYPE8  = 'CENTER          '   / Type (heading) of field  8
TUNIT8  = 'PIXELS  '           / Physical units of field  8
TFORM9  = '6E      '           / FORTRAN format of field  9
TTYPE9  = 'WIDTH           '   / Type (heading) of field  9
TUNIT9  = 'JY/BEAM '           / Physical units of field  9
TFORM10 = '6E      '           / FORTRAN format of field 10
TTYPE10 = 'ERR AMPL        '   / Type (heading) of field 10
TUNIT10 = 'JY/BEAM '           / physical units of field 10
TFORM11 = '6E      '           / FORTRAN format of field 11
TTYPE11 = 'ERR CENT        '   / Type (heading) of field 11
TUNIT11 = 'PIXELS  '           / physical units of field 11
TFORM12 = '6E      '           / FORTRAN format of field 12
TTYPE12 = 'ERR WIDT        '   / Type (heading) of field 12
TUNIT12 = 'PIXELS  '           / physical units of field 12
YBLC    =            1
YTRC    =          128
ZBLC    =            1
ZTRC    =          128
YINC    =            1
ZINC    =            1
VCLIP   =   0.69999998807907104D+00
VOFF    =   0.16649999618530273D+10
REFVALUE=   0.16649999618530273D+10
REFPIXEL=   0.10000000000000000D+01
REFINCR =   0.15000000000000000D+06
REFTYPE = 'FREQ    '
ABSORPTN=           -1
PIX_FIT =            0
NGAUSS  =            6
END
\end{alltt}
\hblack

\hicol
\subsubsection{\Ex{{\tt AIPS ZE} tables}}
\label{Appe:ZEtable}
\begin{alltt}
XTENSION= 'BINTABLE'           / Extension type
BITPIX  =                    8 / Binary data
NAXIS   =                    2 / Table is a matrix
NAXIS1  =                   96 / Width of table in bytes
NAXIS2  =                16384 / Number of entries in table
PCOUNT  =                    0 / Random parameter count
GCOUNT  =                    1 / Group count
TFIELDS =                   12 / Number of fields in each row
EXTNAME = 'AIPS ZE '           / AIPS table file
EXTVER  =                    5 / Version number of table
TFORM1  = '2J      '           / FORTRAN format of field  1
TTYPE1  = 'PIXEL           '   / Type (heading) of field  1
TUNIT1  = 'PIXELS  '           / Physical units of field  1
TFORM2  = '1E      '           / FORTRAN format of field  2
TTYPE2  = 'I PEAK          '   / Type (heading) of field  2
TUNIT2  = 'JY/BEAM '           / Physical units of field  2
TFORM3  = '1E      '           / FORTRAN format of field  3
TTYPE3  = 'V RMS           '   / Type (heading) of field  3
TUNIT3  = 'JY/BEAM '           / Physical units of field  3
TFORM4  = '1E      '           / FORTRAN format of field  4
TTYPE4  = 'GAIN            '   / Type (heading) of field  4
TUNIT4  = '        '           / Physical units of field  4
TFORM5  = '1E      '           / FORTRAN format of field  5
TTYPE5  = 'ERR GAIN        '   / Type (heading) of field  5
TUNIT5  = '        '           / Physical units of field  5
TFORM6  = '3E      '           / FORTRAN format of field  6
TTYPE6  = 'B  FIELD        '   / Type (heading) of field  6
TUNIT6  = 'PIXELS  '           / Physical units of field  6
TFORM7  = '3E      '           / FORTRAN format of field  7
TTYPE7  = 'ERR BFLD        '   / Type (heading) of field  7
TUNIT7  = 'PIXELS  '           / Physical units of field  7
TFORM8  = '1J      '           / FORTRAN format of field  8
TTYPE8  = 'NGAUS           '   / Type (heading) of field  8
TUNIT8  = '        '           / Physical units of field  8
TFORM9  = '3E      '           / FORTRAN format of field  9
TTYPE9  = 'AMPLITUD        '   / Type (heading) of field  9
TUNIT9  = 'OptDepth'           / Physical units of field  9
TFORM10 = '3E      '           / FORTRAN format of field 10
TTYPE10 = 'CENTER          '   / Type (heading) of field 10
TUNIT10 = 'PIXELS  '           / physical units of field 10
TFORM11 = '3E      '           / FORTRAN format of field 11
TTYPE11 = 'WIDTH           '   / Type (heading) of field 11
TUNIT11 = 'PIXELS  '           / physical units of field 11
TFORM12 = '2E      '           / FORTRAN format of field 12
TTYPE12 = 'BASELINE        '   / Type (heading) of field 12
TUNIT12 = 'JY/BEAM '           / physical units of field 12
YBLC    =            1
YTRC    =          128
ZBLC    =            1
ZTRC    =          128
DOGAUS  =            3
PIX_FIT =        16384
ICLIP   =   0.30000000000000000D+01
REFVALUE=   0.16649999618530273D+10
REFPIXEL=   0.10000000000000000D+01
REFINCR =   0.15000000000000000D+06
REFTYPE = 'FREQ    '
ABSORPTN=            1
END
\end{alltt}
\hblack

\hicol
\subsection{\Hi{Pseudo-tables generated by \AIPS}}

\subsubsection{\Hi{{\tt AIPS PL} tables}}
\label{Appe:PLtable}
\begin{alltt}
XTENSION= 'BINTABLE'           / Extension type
BITPIX  =                    8 / Binary data
NAXIS   =                    2 / Table is a matrix
NAXIS1  =                 1024 / Width of table in bytes
NAXIS2  =                   78 / Number of entries in table
PCOUNT  =                    0 / Random parameter count
GCOUNT  =                    1 / Group count
TFIELDS =                    1 / Number of fields in each row
EXTNAME = 'AIPS PL'           / AIPS plot file
EXTVER  =                    1 / Version number of plot
TFORM001= '256J'               / 1024-byte records in file
TTYPE001= 'Plot data'
COMMENT  This file is not really a table
COMMENT  It is a literal copy of an AIPS plot file
COMMENT  and is only useful if read back into AIPS
END
\end{alltt}

\subsubsection{\Hi{{\tt AIPS SL} tables}}
\label{Appe:SLtable}
\begin{alltt}
XTENSION= 'BINTABLE'           / Extension type
BITPIX  =                    8 / Binary data
NAXIS   =                    2 / Table is a matrix
NAXIS1  =                 1024 / Width of table in bytes
NAXIS2  =                   10 / Number of entries in table
PCOUNT  =                    0 / Random parameter count
GCOUNT  =                    1 / Group count
TFIELDS =                    1 / Number of fields in each row
EXTNAME = 'AIPS SL'           / AIPS PL or SL file
EXTVER  =                    1 / Version number of plot
TFORM001= '256J'               / Version number of plot
TTYPE001= 'Plot data'
COMMENT  This file is not really a table
COMMENT  It is a literal copy of an AIPS SL file
COMMENT  and is only useful if read back into AIPS
END
\end{alltt}
\hblack

\vfill\eject
\begin{thebibliography}{99}

\bibitem{CG02}
   Calabretta, M. R. \&\ Greisen, E. W. 2002, ``Representations of
   Celestial Coordinates in FITS,'' {\it Astronomy \&\ Astrophysics},
   {\bf 395}, 1077.

\bibitem{CR07}
   Calabretta, M. R. \&\ Roukema, B. F. 2007, ``Mapping on the HEALpix
   grid,'' {\it Monthly Notices of the Royal Astonomical Society},
   {\bf 381}, 865.

\bibitem{CTP95}
  Cotton, W. D., Tody, D. B., and Pence, W. D. ``Binary Table
  Extension to FITS,'' {\it Astronomy \&\ Astrophysics Supplement
  Series}, {\bf 113}, 159-166

\bibitem{G83}
   Greisen, E. W. 1983, ``Non-linear Coordinate Systems in AIPS,''
   {\it AIPS Memo Series}, {\bf 27}, National Radio Astronomy
   Observatory, Charlottesville, Virginia.  Also appeared in 1984,
   Eds.~Albrecht, R., Capaccioli, M., {\it IAU Working Group on
     Astronomical Image Processing}, Circular Number 10, Space
   Telescope Science Institute, Baltimore, Maryland.

\bibitem{G88}
   Greisen, E. W. 1986, ``Additional Non-linear Coordinates,'' {\it
     AIPS Memo Series}, {\bf 46}, National Radio Astronomy
   Observatory, Charlottesville, Virginia.

\bibitem{G03}
   Greisen, E. W. 2003, ``FITS: A Remarkable Achievement in
   Information Exchange,'' {\it Information Handling in Astronomy --
     Historical Vistas}, Heck, A. ed., Kluwer Academic Publishers,
   Dordrecht, ISBN 1-4040-1178-4, Astrophysics and Space Science
   Library, {\bf 285}, 71.

\bibitem{G03b}
   Greisen, E. W. 2003b, ``AIPS, the VLA and the VLBA,'' {\it
     Information Handling in Astronomy -- Historical Vistas}, Heck, A.
   ed., Kluwer Academic Publishers, Dordrecht, ISBN 1-4040-1178-4,
   Astrophysics and Space Science Library, {\bf 285}, 109.

\bibitem{G11}
   Greisen, E. W. 2011, ``The FITS Interferometry Data Interchange
   Convention --- Revised,'' {\it \AIPS\ Memo Series}, {\bf 114r},
   Socorro, New Mexico, USA

\bibitem{GC02}
   Greisen, E. W. \&\ Calabretta, M. R. 2012, ``Representations of
   World Coordinates in FITS,'' {\it Astronomy \&\ Astrophysics}, {\bf
     395}, 1061-1075

\bibitem{GCVA05}
   Greisen, E. W., Calabretta, M. R., Valdes, F. G., \&\ Allen, S. L.
   2005, ``Representations of spectral coordinates in FITS,'' {\it
     Astronomy \&\ Astrophysics}, {\bf 446}, 747.

\bibitem{GH81}
  Greisen, E. W. \&\ Harten, R. H. 1981, ``An Extension of FITS for
  Groups of Small Arrays of Data,'' {\it Astronomy \&\ Astrophysics
  Supplement Series}, {\bf 44}, 371-374

\bibitem{GHGW88}
  Grosb\o l, P., Harten, R. H., Greisen, E. W., and Wells, D. C. 1988,
  ``Generalized Extensions and Blocking Factors for FITS,'' {\it
  Astronomy \&\ Astrophysics Supplement Series}, {\bf 73}, 359-364

\bibitem{HFGPSTTW01}
   Hanisch, R. J., Farris, A., Greisen, E. W., Pence, W. D.,
   Schlesinger, B. M., Teuben, P. J., Thompson, R. W., \&\ Warnock
   III, A. 2001, ``Definition of the Flexible Image Transport
   System,'' {\it Astr.~\&\ Astrophys.}, {\bf 376}, 359.

\bibitem{HW88}
   Hanisch, R. J. \&\ Wells, D. C. 1988, ``World coordinate systems
   representations within the FITS format,'' notes from a meeting
   sponsored by the National Aeronautics and Space Administration,
   Code EZ, Charlottesville, Virginia.  Located at \\
   \keyw{http://www.cv.nrao.edu/fits/wcs/wcs88.ps.Z}.

\bibitem{HGGW88}
   Harten, R. H., Grosb\o l, P, Greisen, E. W., \&\ Wells, D. C. 1988,
   ``The FITS tables extension,'' {\it Astronomy \&\ Astrophysics
     Supplement Series}, {\bf 73}, 365.

\bibitem{IAU82}
   IAU 1982, Commission Resolution B1 \&\ B2, {\it Transactions of
   International Astronomical Union}, {\bf XVIIIB}, 45.

\bibitem{IAU88}
   IAU 1988, Commission Resolution C1, {\it Transactions of the
   International Astronomical Union}, {\bf XXB}, 51.

\bibitem{K97}
   Kogan, L. 1997, ``Position Angle of the VSOP Antenna Feed,''
   {\it \AIPS\ Memo Series}, {\bf 93}, Socorro, New Mexico, USA

\bibitem{P92}
   Pence, W. D. 1992, ``FITSIO and FITS file utility software,'' {\it
   Astronomical Data Analysis Software and Systems - I}, Worrall, D.
   M. , Biemesderfer, C., Barnes, J. Eds., {\it Astron.~Soc.~of the
   Pacific Conference Series}, {\bf 25}, 22.

\bibitem{P99}
   Pence, W. D. 1999, ``CFITSIO, v2.0: a new full-featured data
   interface,'' {\it Astronomical Data Analysis Software and Systems -
   VIII}, Mehringer, D. M., Plante, R. L., Roberts, D. A. Eds., {\it
   Astron.~Soc.~of the Pacific Conference Series}, {\bf 172}, 487.

\bibitem{PCPSS10}
  Pence, W. D., Chiappetti, L., Page, C. G., Shaw, R. A., \&\ Stobie,
  E. 2010, ``Definition of the Flexible Image Transport System,
  version 3.0,'' {\it Astronomy \&\ Astrophysics}, {\bf 524}, 1-40

\bibitem{RP10}
   Perley, R. 2010, ``On Determining Visibilities from Correlation
   Products,'' {\it EVLA Memo Series}, {\bf 145}, Socorro, New Mexico,
   USA

\bibitem{PTM94}
   Ponz, J. D., Thompson, R. W., \&\ Mu\~noz, J. R. 1994, ``The FITS
   image extension,'' {\it Astronomy \&\ Astrophysics Supplement
     Series}, {\bf 105}, 53.

\bibitem{W00}
   Wells, D. C. 2000, ``The FITS experience: lessons learned,'' {\it
   Information Handling in Astronomy}, Heck, A. Ed., Kluwer Academic
   Publishers, Dordrecht, ISBN 0-7923-6494-5, Astrophysics and Space
   Science Library, {\bf 250}, 65.

\bibitem{WGH81}
  Wells, D. C., Greisen, E. W., \&\ Harten, R. H. 1981, ``FITS: A
  Flexible Image Transport System,'' {\it Astronomy \&\ Astrophysics
  Supplement Series}, {\bf 44}, 363-370

\end{thebibliography}
\end{document}
