; UVFND
;---------------------------------------------------------------
;! prints selected data from UV data set to search for problems
;# Task UV EDITING HARDCOPY
;-----------------------------------------------------------------------
;;  Copyright (C) 1995-1996, 1999-2000, 2003-2004, 2006-2007, 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
;-----------------------------------------------------------------------
UVFND     LLLLLLLLLLLLUUUUUUUUUUUU CCCCCCCCCCCCCCCCCCCCCCCCCCCCC
UVFND:  Task to print selected source data from a UV disk file
INNAME                             UV data (name).
INCLASS                            UV data (class).
INSEQ             0.0    9999.0    UV data (seq. #).  0 => high
INDISK            0.0       9.0    Disk unit #.  0 => any
BCHAN             0.0              Start channel to test
ECHAN             0.0              Last channel to test
CHANNEL           0.0    9999.0    Frequency channel to print
BIF               0.0   32767.0    IF number to test.
NITER             0.0   32767.0    Max # lines printed.
                                       0 => 10 pages
UVRANGE           0.0              UV range in kilolambda
STOKES                             Stokes parameters: ' ' => 'I'
                                      'CORR' for correlators
SOURCES                            Source list
TIMERANG                           Time range
SELBAND                            Bandwidth to select (kHz)
SELFREQ                            Frequency to select (MHz)
FREQID                             Freq. ID to select.
                                   None selected => 1.
SUBARRAY          0.0     1000.0   Sub-array, 0=>all
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.
OPCODE                             'CLIP' print excess fluxes
                                   'FRNG' print all in annulus
                                   'UVBX' print points in uv box
                                   'VCLP' print excess (RR-LL)/2
APARM                              CLIP:(1) peak ok flux IPOL
                                        (2) peak ok pol. flux
                                        (3) min. ok flux IPOL
                                        (4) min. ok pol flux
                                        (5) peak ok phase IPOL
                                        (6) peak ok pol. phase
                                        (7) min. ok phase IPOL
                                        (8) min. ok pol phase
                                   FRNG:(1) fringe spacing arsec
                                        (2) range fringe spacing
                                        (3) baseline pos. angle
                                        (4) range of pos. angle
                                   UVBX:(1) U in kilolambda
                                        (2) range of U
                                        (3) V in kilolambda
                                        (4) range of V
                                        (5) >0 => Hermitian too
                                   VCLP:(1) peak ok VPOL flux
WTUV              0.0              Maximum "reasonable" weight
                                   0 => infinity
DOCRT            -3.0     132.0    > 0 -> use CRT, else printer
                                   > 72 => CRT width in chars
OUTPRINT
                                   Printer disk file to save
----------------------------------------------------------------
UVFND
Type:  Task
Use:   List visibility points from a catalogued UV data file meeting
       criteria set by OPCODE and APARM.  One may print on the line
       printer (or the user's terminal) those points having flux greater
       than specified cutoffs (separate parallel- hand and cross
       polarization limits).  One may print those samples having an
       apparent circular polarization greater than some specified
       cutoff.  Or one may print all samples lying within a specified
       portion of the UV plane.  On all OPCODEs, the data are checked
       for having reasonable times, antenna numbers, and (optionally)
       weights.  Any which don't are printed.
          UVFND will also work on single disk data giving an appropriate
       listing of the data.  OPCODE='UVBX' allows a window in RA and dec
       (in degrees) to be specified.
Adverbs:
  INNAME.....UV file name (name).       Standard defaults.
  INCLASS....UV file name (class).      Standard defaults.
  INSEQ......UV file name (seq. #).     0 => highest.
  INDISK.....Disk unit #.               0 => any.
  BCHAN......Initial channel examined: 0 -> 1
  ECHAN......Last channel examined: < BCHAN -> max
  CHANNEL....First frequency channel to print: 0 -> (BCHAN+ECHAN+1)/2
  BIF........IF number to test. 0 => 1.
  NITER......Do not list more than NITER points.  0 => no more than 10
             pages.
  UVRANGE....Limit print to baselines >= UVRANGE(1) and <= UVRANGE(2) in
             kilo wavelengths.  0 => all.   Ignored for 'UVBX'.
  SOURCES....List of sources to be listed. '  '=> all; if any starts
             with a '-' then all except ANY source named.
  TIMERANG...Time range of the data to be listed. In order:
             Start day, hour, min. sec,
             end day, hour, min. sec. Days relative to ref.
             date.
  STOKES.....Limit data tested and printed to the specified STOKES
             type(s).  Can be 'I','IQU','IV','IQUV','RR','LL','RL'.
             blank => 'I'.  A special value ('CORR') is allowed to imply
             all correlators with no modification.
  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, 0=> all
  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, 0=> all
  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 neither SELBAND,
             SELFREQ nor FREQID are specified then the first FQ id in
             the FQ table (usually 1) will be used.
  SUBARRAY...Sub-array number to use. 0=>all; if DOCAL > 0 then multiple
             subarrays (SUBARRAY = 0) are not allowed.
  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 multisource data of 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 appply. <0 => apply no BL table,
             0 => highest.
  FLAGVER....Specifies the version of the flagging table to be
             applied.  0 => highest numbered table.  <0 => no flagging
             to be applied.
  DOBAND.....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......Specifies the version of the BP table to be applied.
             <0 => no bandpass correction done.
  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).
  OPCODE.....If 'CLIP' program applies excess flux test
             If 'FRNG' program lists points in area of UV plane
             If 'UVBX' program lists points in area of UV plane
             If 'VCLP' program applies excess V pol. test
             If anything else, just do integrity tests.
  APARM......For CLIP, APARM(1) is max normal flux (Jy) for total
             intensity and APARM(2) for polarization. APARM(3) is the
             min normal flux (Jy) for total intensity and APARM(4) for
             polarization.  For interferometers, <= 0 => no test; there
             are NO defaults for single-dish data.  Phase may also be
             tested: APARM(5) is the max normal phase (degrees) for
             total intensity (0 -> 180), APARM(6) is the max for
             polarization.  APARM(7) is the minimum normal phase for
             total intensity (0 -> -180) and APARM(8) for
             polarization.

             For FRNG, APARM(1) is the separation of the fringes in your
             map in arc seconds.  APARM(2) is the range of this
             separation to be included in listing.  APARM(3) is the
             baseline position angle in deg. and APARM(4) is the range
             of pos. angle.

             For UVBX, APARM(1) and APARM(3) give the central values of
             U and V (in kilolambda) of a rectangular area in the UV
             plane.  APARM(2) and APARM(4) give the half-widths of the
             area for U and V (in kilo-lambda).  APARM(5) is a logical
             which says, if >0, to display also data at the Hermitian
             box.  For single dish data and OPCODE='UVBX' the specified
             region is in RA and Dec (degrees) if unprojected data or in
             projected coordinates for projected data.

             For VCLP, APARM(1) is the max allowed circular polarization
             flux ( (RR - LL) / 2 in Jy).
  WTUV.......Maximum "reasonable" weight --- data with weights greater
             will be printed.  0 => don't check.
  DOCRT......False (<= 0) use the line printer if OUTPRINT = ' '
                   else write named OUTPRINT file only.
                   When OUTPRINT is not blank, DOCRT=-2 suppresses the
                   page-feed character on page headers and DOCRT=-3
                   suppresses page headers and most other header
                   information.
             True  (> 0) use the terminal interactively.  The task will
                   use the actual terminal width as a display limit
                   unless 72 < DOCRT < width.  In that case, the display
                   limit will be DOCRT characters.
  OUTPRINT...Disk file name in which to save the line printer output.
             ' ' => use scratch and print immediately for interactive
             jobs - batch jobs use OUTPRINT = 'PRTFIL:BATCHjjj.nnn'
             (jjj= job #, nnn = user #).  When OUTPRINT is not blank,
             multiple outputs are concatenated, and the file is not
             actually printed.
----------------------------------------------------------------
