; UVHGM
;---------------------------------------------------------------
;! Plots statistics of uv data files.
;# TASK UV PLOT
;-----------------------------------------------------------------------
;;  Copyright (C) 1995, 1999, 2006, 2008-2009
;;  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
;-----------------------------------------------------------------------
UVHGM     LLLLLLLLLLLLUUUUUUUUUUUU CCCCCCCCCCCCCCCCCCCCCCCCCCCCC
UVHGM:  Task to produce histograms summarizing uv data.
USERID      -32000.0      32000.0  User id number - ignored
INNAME                             uv name
INCLASS                            uv class
INSEQ            0.0       9999.0  uv sequence number
INDISK           0.0          9.0  uv disk number
SOURCES                            Sources to plot, ' '=>all.
QUAL            -10.0              Qualifier -1=>all
CALCODE                            Calibrator code '    '=>all
STOKES                             Stokes type to select.
SELBAND                            Bandwidth to select (kHz)
SELFREQ                            Frequency to select (MHz)
FREQID                             Freq. ID to select.
TIMERANG                           Time range to select
ANTENNAS                           Antennas to plot
BASELINE                           Baselines with ANTENNAS
UVRANGE                            UV range in kilolambda.
SUBARRAY          0.0     1000.0   Subarray, 0 => all
BCHAN             0.0     4096.0   1st spectral channel #
ECHAN             0.0     4096.0   Last spectral channel #
CHINC             0.0     4096.0   Increment in channel #
BIF                                Low IF number to plot
EIF                                Highest IF number to plot
DOCALIB          -1.0      101.0   > 0 calibrate data & weights
                                   > 99 do NOT calibrate weights
GAINUSE                            CAL (CL or SN) table to apply
DOPOL            -1.0       10.0   If >0 correct polarization.
BLVER                              BL table to apply.
FLAGVER                            Flag table version
DOBAND           -1.0       10.0   If >0 apply bandpass cal.
                                   Method used depends on value
                                   of DOBAND (see HELP file).
BPVER                              Bandpass table version
SMOOTH                             Smoothing function. See
                                   HELP SMOOTH for details.
DOALL           -1.0          1.0  > 0 => fit and plot Gaussian
NBOXES           0.0      16384.0  Number of histogram bins.
PIXRANGE                           Use fixed x-axis range
AXTYPE                             Selection code (see help)
                                     U = u,  V = v,  W = w
                                     R = SQRT(u*u + v*v)
                                     D = SQRT(u*u + v*v + w*w)
                                     O = baseline position angle
                                     T = time
                                     B = baseline antenna pair
                                     S = source id number
                                     F = frequency id number
                                     H = real,  I = imaginary
                                     A = amplitude,  P = phase
                                     C = weight
                                     X = amplitude * sqrt(wt)
OPCODE                             CLIN: linear by count
                                   CLOG: log10  by count
                                   WLIN: linear by weight
                                   WLOG: log10  by weight
LTYPE         -10.0        10.0    Type of labeling: 1 border,
                                   2 no ticks, 3 - 6 standard,
                                   7 - 10 only tick labels
                                   <0 -> no date/time
DOTV           -1.0         1.0    > 0 Do plot on the TV, else
                                   make a plot file
GRCHAN          0.0         8.0    Graphics channel 0 => 1.
----------------------------------------------------------------
UVHGM
Type: Task
Use:  UVHGM produces histograms which summarize the content of a uv data
      set.  Multiple plots may be made in a single execution.
Adverbs:
  USERID......User ID of owner of image.  Ignored
  INNAME......uv name,             Standard defaults.
  INCLASS.....uv class,            Standard defaults.
  INSEQ.......uv sequence number,  0 -> highest.
  INDISK......uv disk number,      0 -> any.
  SOURCES....List of sources to be plotted. '  '=> all; if any starts
             with a '-' then all except ANY source named.
  QUAL.......Qualifier of source to be plotted. -1 => all.
  CALCODE....Calibrator code of sources to plot. ' '=> all.
  STOKES.....The desired Stokes type of the plotted data:
               'I','Q','U','V','RR','LL','HALF','FULL'
             default usually FULL which will plot RR, LL, RL, and LR
             all added into the same plot.  Use 'HALF' or 'RRLL' or
             'I' to examine only parallel-hand data.
  SELBAND....Bandwidth of data to be selected. If more than one IF is
             present SELBAND is the width of the first IF required.
             Units = kHz.  For data which contain multiple bandwidths or
             frequencies the task will insist that some form of
             selection be made by frequency or bandwidth.
  SELFREQ....Frequency of data to be selected. If more than one IF is
             present SELFREQ is the frequency of the first IF required.
             Units = MHz.
  FREQID.....Frequency identifier to select (you may determine which is
             applicable from the OPTYPE='SCAN' listing produced by
             LISTR). If either SELBAND or SELFREQ are set, their values
             overide that of FREQID.  However, setting SELBAND and
             SELFREQ may result in an ambiguity.  In that case, the task
             will request that you use FREQID.  If all SELBAND, SELFREQ
             and FREQID are not specified (<= 0) then the task will loop
             over the frequency ID plotting all of them!
  TIMERANG...Time range of the data to be plotted. In order:
             Start day, hour, min. sec, end day, hour, min. sec.
             Days relative to reference date.
  ANTENNAS...A list of the antennas to plot.  If any number is negative
             then all antennas listed  are NOT desired and all others
             are.   All 0 => list all.
  BASELINE...Baselines are specified using BASELINE.
             Eg. for baselines 1-6,1-8, 2-6 and 2-8
             use ANTENNAS=1,2; BASELINE=6,8.
  UVRANGE....Range of projected spacings to be plotted in 1000's of
             wavelengths.  0  =>  1, 1.E10
  SUBARRAY...Subarray number to plot.        0 => all - the task will
             loop over subarray number.
  BCHAN......Beginning spectral line channel number.   0 => 1.
  ECHAN......Ending spectral line channel number.   0 => max.
  CHINC......Increment in spectral line channel number.   0 => 1.
  BIF........First IF number to plot.              0 => 1
  EIF........Last IF number to plot.               0 => highest
  DOCALIB....If true (>0), calibrate the data using information in the
             specified Cal (CL) table for multi-source or SN table for
             single-source data.  Also calibrate the weights unless
             DOCALIB > 99 (use this for old non-physical weights).
  GAINUSE....Version number of the Cal. table to apply to the data if
             DOCALIB=1.  Refers to a CL table for multi-source data or
             an SN table for single-source.  0 => highest.
  DOPOL......If > 0 then correct data for instrumental polarization as
             represented in the AN table.  Only one subarray may be done
             at a time.  This correction  is only useful if PCAL has
             been run or feed polarization parameters have been
             otherwise obtained. See HELP DOPOL for available correction
             modes.
  BLVER......Version number of the baseline based calibration (BL) table
             to apply. <0 => apply no BL table, 0 => highest, if any.
  FLAGVER....Specifies the version of the flagging table to be applied.
             0 => highest numbered table.  <0 => no flagging to be
             applied.
  DOBAND.....(multi-source) If true (>0), then correct the data for the
             shape of the antenna bandpasses using the BP table
             specified by BPVER.  The correction has five modes:
             (a) if DOBAND=1 all entries for an antenna in the table
             are averaged together before correcting the data.
             (b) if DOBAND=2 the entry nearest in time (including
             solution weights) is used to correct the data.
             (c) if DOBAND=3 the table entries are interpolated in
             time (using solution weights) and the data are then
             corrected.
             (d) if DOBAND=4 the entry nearest in time (ignoring
             solution weights) is used to correct the data.
             (e) if DOBAND=5 the table entries are interpolated in
             time (ignoring solution weights) and the data are then
             corrected.
  BPVER......(multi-source) specifies the version of the BP table to be
             applied. 0 => highest numbered table.
  SMOOTH.....Specifies the type of spectral smoothing to be applied to
             a uv database . The default is not to apply any smoothing.
             The elements of SMOOTH are as follows:
             SMOOTH(1) = type of smoothing to apply: 0 => no smoothing
               To smooth before applying bandpass calibration
                 1 => Hanning, 2 => Gaussian, 3 => Boxcar, 4 => Sinc
               To smooth after applying bandpass calibration
                 5 => Hanning, 6 => Gaussian, 7 => Boxcar, 8 => Sinc
             SMOOTH(2) = the "diameter" of the function, i.e. width
               between first nulls of Hanning triangle and sinc
               function, FWHM of Gaussian, width of Boxcar. Defaults
               (if < 0.1) are 4, 2, 2 and 3 channels for SMOOTH(1) =
               1 - 4 and 5 - 8, resp.
             SMOOTH(3) = the diameter over which the convolving
               function has value - in channels.  Defaults: 1,3,1,4
               times SMOOTH(2) used when input SMOOTH(3) < net
               SMOOTH(2).
  DOALL.......True (> 0) means to fit and plot (if the fit worked)
              Gaussians to each of the histograms.
  NBOXES......Number of histogram bins.  The product of NBOXES and the
              number of histograms specified by AXTYPE must not exceed
              16384.  The default is 128.
  PIXRANGE....Range of x-axis values to be binned and plotted.  Note
              that one PIXRANGE applies to all AXTYPEs plotted (which
              may not be a good idea).
  AXTYPE......Selection code.  Up to eight of the following codes may be
              specified per execution.
                 U = u,  V = v,  W = w,  R = SQRT(u*u + v*v)
                 D = SQRT(u*u + v*v + w*w),
                 O = baseline position angle
                 T = time,  B = baseline antenna pair
                 S = source identification number
                 F = frequency identification number
                 H = real part of the visibility
                 I = imaginary part
                 A = visibility amplitude,  P = visibility phase
                 C = visibility weight
                 X = visibility amp * sqrt(visibility weight)
              Since D measures the physical separation between each
              antenna pair it should be invariant.
  OPCODE......A code for the way the histograms are to be constructed.
              The bins may be linear or logarithmic (base 10), and the
              data can be added as a simple count of the visibilities,
              or as the sum of the weights recorded with visibility.
              The weight is usually the length of the sample period
              measured in tens of seconds.  Recognized codes are 'CLIN',
              'CLOG', 'WLIN', and 'WLOG'.  All  others => 'CLIN'
  LTYPE.......Labelling type: 1 = border, 2 = no ticks, 3 - 10 =
              standard, with  7-10 all labels other than tick numbers
              and axis type are omitted.  Less than 0 is the same except
              that the plot file version number and create time are
              omitted.
  DOTV........> 0 => plot directly on the TV device, otherwise make a
              plot file for later display on one or more devices
              (including the TV if desired).  If more than one page of
              plot is to be done, then the task pauses 30 seconds
              between plots (or continues sooner if you hit button A, B,
              or C).  Button D in that interval tells the task to stop.
  GRCHAN......Graphics channel (1 - 7) to use for line drawing.  0 => 1.
----------------------------------------------------------------
