AIPS HELP file for PEELR in 31DEC22
As of Wed Sep 27 1:29:11 2023
PEELR: RUN PEELR for proc to calibrate interfering sources
INNAME Input UV file name (name)
INCLASS Input UV file name (class)
INSEQ 0.0 9999.0 Input UV file name (seq. #)
INDISK 0.0 9.0 Input UV file disk unit #
IN2NAME Input image name (name)
IN2CLASS Input image name (class)
IN2SEQ 0.0 9999.0 Input image name (seq. #)
IN2DISK 0.0 9.0 Input image disk unit #
OUTNAME Output UV file name (name)
OUTCLASS Output UV file name (class)
OUTSEQ -1.0 9999.0 Output UV file name (seq. #)
OUTDISK 0.0 9.0 Output UV file disk unit #.
NFIELD 1.0 4096.0 Number facets in IN2NAME
NGAUSS 1.0 10.0 Number resolutions in IN2NAME
PPARM 0.0 List of <= 100 facets to peel
BCHAN 0.0 16384.0 Lowest channel number 0=>all
ECHAN 0.0 16384.0 Highest channel number
SOLINT CALIB solution interval (min)
SOLTYPE Soln type,' ','L1','GCON',
'R', 'L1R', 'GCOR'
SOLMODE 'P' phase only, else 'A&P'
WEIGHTIT 0.0 3.0 Modify data weights function
APARM General CALIB parameters
1=min. no. antennas
2 > 0 => data divided
3 > 0 => avg. RR,LL
5 > 0 => avg. IFs.
6=print level, 1=good,
2 closure, 3 SNR
7=SNR cutoff (0=>2)
8=max. ant. # (no AN)
9 >= 0 => pass failed soln
(7, 9 differ from CALIB)
CPARM CALIB Phase-amp. parameters
1 = Min el for gain
2 >0 => normalize gain
3 avg. amp. closure err
4 avg. ph. closure err
5 >0 => scalar average
6 limit clipping in robust
BADDISK Disk #'s to avoid
Proc: This procedure begins by subtracting the CC model found in
NMAPS = NFIELD*NGAUSS images beginning with IN2NAME from the UV
data in INNAME making temporary UV file PEELUS. Then for each
facet number (1-NFIELD) listed in PPARM it:
1. Copies facets PPARM(i), PPARM(i)+NFIELD, etc to
PPARM(i) + (NGAUSS-1)*NFIELD to image set PEE00n
2. Adds the CC model in PEE00n back to PEELUS making
3. Runs CALIB (A&P) on PEELW0 with model PEE00n making
PEELW1. Adverbs SOLINT, SOLTYP, SOLMODE, APARM, and
CPARM are active and MINAMPER and MINPHSER are set to
( 4. Optionally runs IMAGR on PEELW1. - not available )
5. Subtracts PEE00n model from PEELW1 making PEELW2.
6. Inverts SN table from PEELW0 (step 3) placing it in file
7. Runs SPLIT on PEELW2 with inverted gain table making a
Finally, it adds the model in IN2NAME back TO the final PEELUS
making OUTNAME. All the time it deletes those files that are
no longer needed.
(1) CALIB can delete data because of failed solutions which can
cause your data set to shrink steadily. Be sure to pass data
at failed solutions and to allow fairly low SNRs - these
considerations cause PEELR's defaults to differ from CALIB's.
(2) CALIB can get quite strange solutions. Be sure to check
its solutions closely with APARM(6) set to examine SNRs and
even solutions. SNPLT may also be useful in deciding whether
it has doen something sensible.
(3) If you get bad A&P solutions, you might consider try
phase-only solutions first.
You must first compile the procedure via
Then you may execute it by simply entering the word PEELR.
The procedure will be remembered in the lASTEXIT SAVE/GET file
and so does not need to be re-RUN.
The procedure makes lots of intermediate UV files which it
deletes as soonas possible while it runs. This means that
certain names may not occur on your data disks. These are
name class seq numbers
------ ------ ---------------
OUTNAME PEELUS <GETPOPSN> (the aips number)
OUTNAME PEE001 <GETPOPSN> (the aips number)
OUTNAME PEELW0 <GETPOPSN> (the aips number)
OUTNAME PEELW1 <GETPOPSN> (the aips number)
OUTNAME PEELW2 <GETPOPSN> (the aips number)
OUTNAME OUTCLASS OUTSEQ
If there is more than one resolution, the image classes PEE002
etc will also be used. The procedure will check for these
names and quit if any of them are present at the start of the
INNAME.....Input UV file name (name). Standard defaults.
INCLASS....Input UV file name (class). Standard defaults.
INSEQ......Input UV file name (seq. #). 0 => highest.
INDISK.....Disk drive # of input UV file. 0 => any.
IN2NAME....Input Clean image name (name). Standard defaults.
IN2CLASS...Input Clean image name (class). Standard defaults.
IN2SEQ.....Input Clean image name (seq. #). 0 => highest.
IN2DISK....Disk drive # of Clean image file. 0 => any.
OUTNAME....Output UV file name (name). Standard defaults.
OUTCLASS...Output UV file name (class). Standard defaults.
OUTSEQ.....Output UV file name (seq. #). 0 => highest unique
OUTDISK....Disk drive # of output UV file. 0 => INDISK
NFIELD.....Number of facets per resolution size. No default
NGAUSS.....Number of resolutions. 0 -> 1
PPARM......List of facet numbers to "peel". No default
Up to 100 facets may be listed. (Remember the ~ verb
that allows multiple values to be stored starting at any
address; e.g. PPARM(11) ~ 87, 99, 123, 49 sets PPARM of
11 through 14 only.)
Parameters used for CALIB
BCHAN......First channel to use. 0=>all.
ECHAN......Highest channel to use. 0=>all higher than BCHAN
Channels BCHAN through ECHAN are averaged to find a
single continuum value for determining the gains.
Note used in the SPLIT step.
SOLINT.....Solution interval in minutes for CALIB step. 0 -> 1/6
' ' => normal least squares,
'R ' => as ' ' with robust iteration
'L1 ' => L1 solution; a weighted sum of the moduli
of the residuals is minimized.
The computed gain solutions are less
influenced by wild data points, but there
is some loss of statistical efficiency.
See [F.R. Schwab, VLA scientific Memo #136]
for further details.
'L1R ' => as 'L1' with robust iteration
'GCON' => least squares which may include gain
'GCOR' => as 'GCON' with robust iteration
The robust versions iterate the solution, discarding data
that does not fit the current solution well enough. They
should be less disturbed by bad data, but will be
SOLMODE....'P' => phase only solutions. Anything else => 'A&P' for
amplitude and phase.
WEIGHTIT...If > 0, change the data weights by a function of the
weights just before doing the solution. Choices are:
0 - no change weighting by 1/sigma**2
1 - sqrt (wt) weighting by 1/sigma may be more stable
2 - (wt)**0.25
3 - change all weights to 1.0
APARM......CALIB: general control parameters not used in the SPLIT
APARM(1)...Minimum number of antennas allowed for a solution.
0 => max (3, min (6, Numant/2))
APARM(2)...If > 0 then the input data has already been
divided by a model; only solutions will be
APARM(3)...If > 0 then average RR, LL
APARM(5)...If > 0 then make a combined solution for the IFs;
if <= 0 then make separate solutions.
APARM(6)...Print flag, 0=none, 1=time, closure error statistics,
2=individual closure failures, 3=some additional info
including the antenna signal to noise ratio, 4=solutions,
5=data too. MINAMPER and MINPHSER are both set to 10.
APARM(7)...The minimum allowed signal-to-noise ratio.
0 => 2 (in PEELR, a different default than CALIB itself)
APARM(8)...If there is no antenna (AN) table with the input
file then the maximum antenna number in the file
should be entered in APARM(8).
APARM(9)...When solutions fail or there is insufficient data
and APARM(9) >= 0 then (1,0) is written to the SN
table. This will preserve the previous calibration
but this option should be used with extreme care.
Note that CALIB passes solutions only if APARM(9)>0,
PEELR changes APARM(9)=0 to 1.
CPARM......CALIB phase-amplitude parameters.
CPARM(1)...Minimum elevation in degrees for the solutions used to
constrain the mean gain modulus.
CPARM(2)...If > 0, constrain the mean gain modulus of the calibration
applied to be unity. This is mostly used in self
CPARM(3)...If > 0, the values of any amplitude closure errors whose
average absolute percentage value exceeds CPARM(3) will be
printed if APARM(6) > 0.
CPARM(4)...If > 0, the values of any phase closure errors whose
average absolute value exceeds CPARM(4) degrees will be
printed if APARM(6) > 0..
CPARM(5)...If > 0 then the amplitudes will be scalar averaged
before determining the solutions.
CPARM(6)...The robust solution method discards data more than
f(iter) * rms(iter)
from the current solution to find the iter+1 solution
f(iter) = max (g(iter), CPARM(6)) and
g = 7.0, 5.0, 4.0, 3.5, 3.0, 2.8, 2.6, 2.4, 2.2, 2.5.
Thus CPARM(6) can be used to limit the discarding to less
BADDISK....Disk #'s to avoid for scratch files