IDL Routines
IDL data reduction instructions:
Other tools:
- Alfacal – a tool
for accessing the ALFA spectral parameters and calibration
This is a wrapper script for a number of Phil's routines, automating much
of the processing that would be carried out if following Chris's “IDL Cheat
Sheet”.
Dependencies: Requires AOIDL and (if called) corhann.
Format: onoffred, input, b, ball, bpbl, bpol, bbl, scan=scanno,
scljy=scljy, sclcal=sclcal, han=han, deg=deg, smo=smo, box=box,
savgol=savgol
- input - input file name. This is analysed to see if it is a wapp
file or a corfile in order to read it into IDL correctly. Note that this may
fail if the filename has been changed - the script looks for ‘wapp’
and ‘corfile’ in the filename. Reading will fail if the correct
@corinit or @wasinit setup has not been run in advance to load the reading
routines.
- b - structure that will hold the reduced data as output by corposonoff, without any further processing.
- ball - structure that will hold the polarization-averaged,
baseline-subtracted, smoothed data.
- bpbl - structure that will hold the polarization-averaged,
baseline-subtracted data. No further smoothing is applied (but see
han below).
- bpol - structure that will hold the polarization-averaged
data. No baseline-subtraction of further smoothing is applied (but see
han below).
- bbl - structure that will hold the baseline-subtracted data. No
polarization-averaging or further smoothing is applied (but see han
below).
- scan - scan number of the starting scan in the input file. This is passed to corposonoff.
- scljy - set to scale the output in Jy. This is passed to corposonoff.
- sclcal - set to scale the output in K. This is passed to corposonoff.
- han - set to Hanning smooth the output with a width of 3. This is passed to corposonoff and is independent from
(and should probably not be used with) the other smoothing options.
- deg - this defines the degree of the polynomial that will be
fitted in the baseline subtraction. This is passed to corblauto.
- smo - this defines the width (in channels) of the smoothing kernal applied by either corsmo or corhann. This is passed to which ever of the routines is called.
- box - if set, calls corsmo with to do boxcar
smoothing with a width of smo, if unset then (if smo has a non-zero value) corhann will be called.
- savgol - perform savitzky-golay smoothing filter. This is passed to corsmo as so only applies if box is set.
A wrapper for mbmeasure for IC and WAPP data files.
Only parameters used directly by cormeasure and not passed to mbmeasure are
described below.
Dependencies: Requires AOIDL and mbmeasure.
Format: cormeasure, b, board=board, profile=profile,
xlabel=xstring, ylabel=ystring, xrange=xrange, hann=hann, niter=niter,
file=file, psfile=psfile, velcor=velcor, boxwidth=boxwidth, mask=mask, log=log,
eps=eps, hidelines=hidelines, medsub=medsub
- b - input cor structure
- board = board - board to be extracted from the structure. If no
board is given, then the first board is used.
- velcor = velcor - correction to be subtracted from the velocity
prior to it being passed to mbmeasure.
A wrapper for mbmeasure for Mock data files.
Only parameters used directly by cormeasure and not passed to mbmeasure are
described below.
Dependencies: Requires AOIDL and mbmeasure.
Format: masmeasure, b, profile=profile, xlabel=xstring,
ylabel=ystring, xrange=xrange, hann=hann, niter=niter, file=file,
psfile=psfile, boxwidth=boxwidth, mask=mask, log=log, eps=eps,
hidelines=hidelines, restfreq=restfreq, velcrdsys=velcrdsys,
medsub=medsub
- b - input mas structure. For a multi-board structure, b[N] should
be given, otherwise the first board (b[0]) will be used.
- restfreq=restfreq - rest frequency passed to
masfreq
to retrive the velocity. If not given, the value in the header (normally the
central frequency of the board prior to redshifting) will be used.
- velcrdsys=velcrdsys - velocity coordinate system ('T', 'G', 'B' or
'L') passed to masfreq to retrive the velocity if a different coordinate system
from the header is wanted.
Measure profiles given variables containing the velocity and flux and a
profile window. Based on and IDL implementation of the the MIRIAD MBSPECT
routine. Reports errors based on the error equations from Koribalski et al.
(2004) - these are dependent on the user supplying the correct factor to
convert from channel separation to velocity resolution. It is generally
recommended that spectra are baseline-subtracted and polarization-combined
prior to analysis, but it is
possible to subtract a DC level from the spectrum to allow the program
to work on spectra not centred around zero (i.e. ones with continuum).
Dependencies: dohanning (if hann
is set), medabsdev.
Format: mbmeasure, allvel, allflux, profile=profile,
xlabel=xstring, ylabel=ystring, xrange=xrange, hann=hann, niter=niter,
file=file, psfile=psfile, boxwidth=boxwidth, mask=mask, source=source,
hidelines=hidelines, medsub=medsub
- allvel - x axis (velocity) variable. This is filled in if using
cormeasure or
masmeasure.
- allflux - y axis (flux) variable. This is filled in if using
cormeasure or masmeasure.
- profile=profile - set the profile window. Takes a pair of values,
e.g. profile=[2000,2200]. If not given, the user will be prompted
to supply this graphically.
- xlabel=xstring - label for the x-axis.
- ylable=ystring - label for the y-axis.
- xrange=xrange - range of the spectrum to display and use for the
general analysis. If not given, this is assumed to be the full range of
velocities in the spectrum.
- hann=hann - do Hanning smoothing before analysis (can be useful on
noisy spectra). Value should be an odd number.
- niter=niter - maximum number of iterations in the robust moment
(default is 20).
- file=file - log file that will duplicate output written to the
IDL window.
- psfile=psfile - postscript file that will duplicate output written
to the X-window.
- boxwidth=boxwidth - ratio between channel width and velocity
resolution - used for estimating the errors. This should be 1 (or unset) for
unsmoothed Mock spectrometer data, 1.2 for unsmoothed IC and WAPP data (this is
entered automatically by cormeasure if boxwidth is not set), 2 for
Hanning smoothing with a width of 3, etc. This should not be used
with hann.
- mask=mask - pairs of velocities to be masked out when calculating
the rms, e.g. mask=[-200,200,900,950] will maske -200 to 200 and 900
to 950. The profile window is automatically added to the mask.
- source=source - the source name, used to label the spectrum. This
is filled in if using cormeasure or masmeasure.
- hidelines=hidelines - hide the lines showing the profile and
robust profile windows on the ps plot (they will still be shown on the X-window
plot).
- medsub=medsub - subtract a DC level (the median of the spectrum
outside the profile and mask windows) from the spectrum prior to fitting.
Large elements copied from Phil's corsmo routine, but setup to
do Hanning moothing rather than Boxcar. Also, requires bsmo rather
than returning in b if no bsmo given.
Dependencies: Requires AOIDL and dohanning.
Format: corhann, b, bsmo, smo=smo
- b - input data structure.
- bsmo - output (smoothed) data structure.
- smo - smoothing kernal width (default 3).
This is a wrapper for a number of routines: Phil's
masposonoff,
Phil's masdpsp,
and my masbpcal. Many of the parameters are passed
to those routines - please see Phil's documentation for
details of how these work. The other parameters are
mainly concerned with setting up the filenames correctly for input to
the called routines. The routine returns a 14-element mas structure that
can be displayed using masplotall..
Dependencies: Requires AOIDL,
masplotall and (if called)
masmakeflist
and masbpcal.
Format: masonoffall, flist, projid, date, b, sclcal=sclcal,
sclJy=sclJy, avg=avg, median=median, side=side, dateroll=dateroll,
verbose=verbose, nonorm=nonorm, dps=dps, flux=flux, board=board
- flist -.can be either a 4-element list of the numbers of the files
(either as integers, e.g. [100,200,300,400] or as the final string of the file,
including the extension, e.g.
['00100.fits','00200.fits','00300.fits','00400.fits' ]). These should be in
the order On, Off, CalOn, CalOff or a single-element equal to the number of the
first file.in the sequence. If a single-element flist is given, masmakeflist
is called to build the list of the files.
- projid - project ID.
- date - the dates (YYYYMMDD), supplied either as a 4-element list
of dates corresponding to the files given in flist or as a single
date corresponding to the first file in the sequence. If supplied as a
4-element list, will override any setting in dateroll - this can be
used to cope with a month roll-over.
- b - mas structure that will be returned. This will be 14
elements, with each element containing one Mock board's reduced data
- sclcal - scale to K using the cal - passed to masposonoff.
Ignored if dps is set.
- sclJy - scale to Jy using the cal and gain curve - passed to
masposonoff. Ignored if dps is set.
- avg - average records together (set by default). Averaging
is always done if dps is set.
- median - median filter rather than everaging - passed to
masposonoff. Ignored if dps is set.
- side - set which side of the Mock spectrometer is in use
(defaults to 1). This should always be one for single-pixel Mock
observations.
- dateroll - four-element array identifying which files were
shifted to the next date, e.g. use dateroll = [0,1,1,1] for an o
bservation where the On was before midnight and the Of, CalOn, and CalOff were
after midnight. This will not cope with month roll-overs (use a 4-element
date). If date is 4-element or flist is single
element, dateroll is ignored.
- verbose - prints out details of the flist assembled by
masmakeflist. This is passed to masmakeflist, and has no effect if a 4-element
flist is provided (and thus masmakeflist is not called). If
nonorm is set, this will also be massed to masbpcal, causing the
calibration factors and gains used to be reported.
- nonorm - Does On - Off rather than (On - Off)/Off. This is useful
for pseudo-DPS observations. Calls masbpcal instead of masposonoff. If
dps is set, nonorm is ignored.
- dps - Does T-On - T-off / B-on - B-off by calling
masdpsp..
- flux - the flux of the bandpass calibrator source. If supplied,
this is passed to masdpsp and will be used to give an absolute (as
opposed to relative) calibration of the output. Ignored if dps is
not set.
- board - do a single-board reduction using board = N where
N is a number from 0 to 13 identifying the board to be reduced. This
is mainly used for the single-board mode of maspseudodps, but can be used for
any reudction.
A wrapper for Phil's masplot routine, designed to plot the
14-element mas structures returned by masonoffall
and masdpsall. Inputs are as for masplot, except that
off is not accepted by masplotall as it would be pointless in this
context. Please see Phil's documentation for details. Before plotting,
hor and
ver should be used to set the axes as usual in AOIDL,
otherwise the axes will be taken from the first board plotted.
Dependencies: Requires AOIDL.
Format: masplotall, b, freq=freq, over=over, pollist=pollist,
norm=norm, median=median, retvel=retvel, restFreq=restFreq,
velCrdsys=velCrdSys, colar=colar
A wrapper for Phil's masdpsp routine for reducing
DPS observations. It returns data in b, along with the inidividual
parts (as described in masdpsp) in srcOn, srcOff,
bpon, bpoff, src_onoff. Parameters that are the s
ame as masonoffall or masdpsp are.not repeated here.
Dependencies: Requires AOIDL,
masplotall and (if called)
masmakeflist.
Format: masdpsall, flist, projid, date, b, srcOn=srcOn,
srcOff=srcOff, bpon=bpon, bpoff=bpoff, src_onoff=src_onoff, side=side,
flux=flux, dateroll=dateroll, verbose=verbose
A wrapper for masonoffall, designed to make
and accumulate bpcal files for pseudo-DPS observations. It calls masonoffall
with the /nonorm switch and returns data both in b and
accumulated data in baccum. Most of the parameters are passed to
masonoffall and are not repeated here.
Dependencies: Requires AOIDL along with
masonoffall and all subsequent dependencies.
Format: masmakebpcal, fnum, projid, date, b, baccum,
sclcal=sclcal, sclJy=sclJy, avg=avg, median=median, side=side,
dateroll=dateroll, verbose=verbose
- fnum - passed to masonoffall as flist, but (unlike
masonoffall) does not overwrite a variable passed in, making it more suitable
for calling from a loop.
- baccum - mas structure that will hold the accumulation. If the
variable passed does not exist, it will be created. If it does exist and is
not a mas structure, then it will probably crash!
Do On - Off reduction without normalising by dividing by the Off scan. This
is useful for reducing pseudo-DPS observations where an on-off is taken on both
the target and the bandpass calibrator (e.g. a2463 observations). It is
normally called from masonoffall and many of the
parameters are described there.
Dependencies: Requires AOIDL.
Format: masbpcal, files, bout, sclcal=sclcal,s clJy=sclJy,
median=median, avg=avg, verbose=verbose
- Files - list of filenames with full paths in the order
On, Off, CalOn, CalOff (the latter two are only necessary if calibration is
requested, probably).
- bout - mas structure that will contain the returned data.
- verbose - report the calibration factor and gain applied.
- normcal - normalize the calibration using the 'off' and Phil's
mascalscl routine. This returns
a bandpass calibrator with the calibration taken to the band edges (so you
don't see the bandpass rolloff) but adds noise and can induce ripple. It
can be called from masonoffcal, masmakebpcal or maspseudodps. If doing
pseudo-dps, you should make sure both the bandpass and the target are
reduced with the same normcal setting. It appears that setting
/normcal gives the same result as ON/OFF - 1.
Form (and optionally accumulate) a DPS reduced mas structure from an on-off
and a supplied bandpass calibrator mas structure. Most of the parameters are
passed to masonoffall and are not repeated here. It should be noted, however
that sclJy and sclcal refer to the calibration of the target on-off, not the
DPS reduced data, which is is relative units (unless flux is
supplied).. These should be set to match the calibration of the
input bandpass calibrator to get meaningful results.
Dependencies: Requires AOIDL along with
masonoffall and all subsequent dependencies.
Format: maspseudodps, flist, projid, date, b, bpcal, baccum,
sclcal=sclcal, sclJy=sclJy, median=median, side=side, dateroll=dateroll,
verbose=verbose, flux=flux, target=target, board=board
- b - mas structure that will contain the reduced DPS
data.
- bpcal - input mas structure containing the bandpass calibrator
to be used.
- baccum - mas structure that will hold the accumulation. If the
variable passed does not exist, it will be created. If it does exist and is
not a mas structure, then it will probably crash!
- flux - the flux of the bandpass calibrator source. If supplied,
this is used to give an absolute (asopposed to relative) calibration of the
output.
- target - mas structure that will contain the on-off reduction of
the target source - not divided by the bandpass calibrator.
- board - specify a single-board to reduce using board = N
where M is a number from 0 to 13. This is useful if RFI has made
some boards bad in the bandpass but not others.
Average together the two polarizations of a mas struct and return a
single-polarization mas struct. If you put in a mas struct that doesn't
have two polarizations, I won't be responsible for the consequences...
Dependencies: Requires AOIDL.
Format: bpolavg = maspolavg(b)
- bpolavg - polarization-averaged mas struct.
- b - inpur mas struct.
Smooth a mas struct with a tophat (a.k.a. boxcar average) function, using
the IDL ‘smooth’ routine, or using a boxcar median or a Hann
function.
Dependencies: Required dohanning if
/han is used.
Format: bsmo = massmo(b, width, median=median, han=han)
- bsmo - smoothed mas struct.
- b - input mas struct.
- width - width of smoothing function.
- /median - use a boxcar median function.
- /han - use a Hann function.
Transform (and resample) a mas struct between topocentric, barycentric and
LSR frequencies in order to
allow the accumulation of observations taken without doppler tracking. Note
that different transformed observations made at different times without
doppler tracking will not have the same barycentric or LSR frequencies, so
will need further resampling onto a standard frequency grid prior to
accumulation (this can be done with masshiftaccum
- but at least the frequencies will refer to the same velocities,
unlike topocentric frequencies.
Masveltrans
uses header values for the barycentric velocity of the observatory, the LSR
velocity of the observatory is calculated from this using Phil's vellsrproj routine with the barycentric
velocity, RA and Dec
values from the header. Conversion of the values in the file is done
using the relativistic equations of Frank Ghigo. Resampling is done using the standard
IDL ‘interpol’ routine.
Will recognise specsys = TOPOCENT, BARYCENT and LSRK from
the header and use these as the starting frame for the conversion. All mas
structs produced by the
telescope should have specsys = TOPOCENT. Masveltrans will write specsys =
BARYCENT or specsys = LSRK (as appropriate) into the header of the output
struct.
Use of the /rest switch (either on its own, or associated with
redshift and possibly the /vel switch) will transform the
spectrum into rest frequency using the header information or supplied
redshifts. This should be used with the appropriate /bary or
/lsr switch, depending on the velocity frame of the redshift, e.g.:
masveltrans,ic860_3500_b2aps,test,/bary,/rest,reds=0.0129089
will transform the spectrum in the mas structure ic860_3500_b2aps
into rest frequency using a supplied barycentric redshift of z = 0.0129089
(overriding the redshift in the header) and write the result into the mas
structure test.
Dependencies: Requires AOIDL.
Format: masveltrans, b, bout,bary=bary, lsr=lsr, resamp=resamp,
spline=spline, lsquadratic=lsquadratic, quadratic=quadratic, errcode=errcode,
rest=rest, redshift=redshift, vel=vel
- b - input mas struct.
- bout - output mas struct.
- bary - set /bary to transform to BARYCENT.
- lsr - set /lsr to transform to LSRK.
- topo - set /topo to tranform to TOPOCENT.
- resamp - resample as well as changing header values. When the
velocity is transformed, the grid is shifted by the relativistic transform of
the reference velocity (CRVAL1). If resampis set (the default),
the relativistic transform is calculated for every frequency on the original
frequency grid and the data are then resampled onto the transformed grid.
If not set (resamp = 0), then the data are simply shifted along
with the grid. This avoids any resampling artefacts, but the match between
data and frequencies becomes less accurate at distances further away from the
reference value.
- spline, lsquadratic, quadratic - optional
inputs to IDL's ‘interpol’ routine. If none is given, it does a
linear interpolation. Spline is given as an option, but is likely to muck
up your data! These switches have no effect if resamp = 0.
- errcode - return the errorcode from masveltrans. This will be 1
if something triggered a warning, 0 otherwise (which might mean it ran okay).
This can be useful if calling masveltrans from another procedure.
- rest - use the /rest switch to return the spectrum
shifted to rest frequencies.
- redshift - set redshift to the redshift or velocity
(with /vel) of
the source to override the velocity/redshift information given in the
req_vel header item.
- vel - set /vel to give redshift in km/s (optical
velocity) rather than redshift.
Find Mock spectrometer fits files meeting certain parameters, uses Phil's
masfilelistp and
masfilesum. The output of masfilesum is then
processed with the selection criteria given and the results are returned. A
number of the parameters are passed to massfilelistp for file selection, please
see Phil's documentation for details of how these work.
Dependencies: Requires AOIDL.
Format: masfindfiles, projid, filesum, srcname=srcname,
obsmode=obsmode, scantype=scantype, band=band, num=num, freqrange=freqrange,
rarange=rarange, decrange=decrange, year=year, month=month, day=day, beam=beam,
side=side, group=group, onoff=onoff, dps=dps, alfa=alfa, zoa=zoa,
allbm=allbm
- projid - the project ID, passed to masfilelistp.
- filesum - the struct that will contain the summary of the files
found. Format is as for the summary info returned by masfilesum.
- srcname - source name to search for (OBJECT).
- obsmode - obsmode to search for in the header (OBSMODE).
- scantype - scantype to search for in the header (SCANTYPE).
- band - receiver band to search for in the header (FRONTEND:
Options include: ‘lbw’ ‘sbw’, ‘sbh’,
‘cb’, ‘cbh’, ‘xb’.
- num - file number to select (passed to masfilelistp).
- freqrange - frequency range (in MHz) to search for in the header
(CRVAL1). This should be a two-element array.
- rarange - RA range (in decimal degrees) to search for in the
header (CRVAL2). This should be a two-element array.
- decrange - Dec range (in decimal degrees) to search for in the
header (CRVAL3). This should be a two-element array.
- year - year to select (passed to masfilelistp).
- month - month to select (passed to masfilelistp).
- day - day to select (passed to masfilelistp).
- beam - beam to select (passed to masfilelistp). Default is
to search for all beams - this will return lots of files and will thus take
a long time to run..
- side - side of the Mock spectrometers to select (passed to
masfilelistp)
- group - Mock spectrometer group to select (passed to
masfilelistp).
- onoff - defaults for single-pixel on-off observing (obsmode =
'ONOFF', scantype = 'ON', groupdef = 0, beamdef = 3, sidedef = 1).
- dps - defaults for single-pixel DPS observing (scantype =
'ON-T', group = 0, beam = 3, side = 1). Note this will find the
target-on scan, not necessarily the first scan of the sequence.
- alfa - defaults for generic ALFA observing (group = 0, beam = 0,
side = 0). Can be used with /onoff or /dps to set up
defaults for observing those pattersn with ALFA. Can be used with
/allbm to search for all ALFA beams rather than just beam 0.
- zoa - defaults for ZOA observing (scantype = 'ON', obsmode = 'ON',
group = 1, beam = 0, side = 0). Can be used with /allbm to search
fo all ALFA beams rather than just beam 0.
- allbm - use with /alfa and /zoa to not set
beam = 0, meaning that all beams will be searched.
Accumulates mas structs, shifting them first so that the frequencies agree.
Uses Phil's masaccum for the actual accumulation.
Resampling can be nearest neighbour (if the grids are compatible) or
interpolated. If the baccum does not exist, it is created (masaccum
is called with /new) and no shifting is done. If the spectra do not
have the same frequency spacing (CRVAL1), then nearest-neighbour will refuse
to work but the spectra can be accumulated using interpolation.
Dependencies: Requires AOIDL.
Format: masshiftaccum, bIn, baccum, interp=interp, spline=spline,
lsquadratic=lsquadratic, quadratic=quadratic, nonan=nonan
- bIn - mas structure to be added to the accumulation.
- baccum - mas structure that will hold the accumulation. If the
variable passed does not exist, it will be created. If it does exist and is
not a mas structure, then it will probably crash!
- interp - set this to do interpolation, otherwise default is
to use nearest-neighbour to resample the shifted spectrum.
- spline, lsquadratic, quadratic - optional
inputs to IDL's ‘interpol’ routine. If none is given, it does a
linear interpolation. Spline is given as an option, but is likely to muck
up your data! These switches have no effect if /interp is not
given.
- nonan - when doing nearest-neighbour resampling, use the value of
the last data point for areas off the end of the spectrum rather than NaN.
This switch has no effect if /interp is given, when points off the
end of the spectrum will be filled in by the interpolation routine.
This weights mas structs by changing the value of ACCUM. This is
particularly useful where ACCUM has been set to zero during the reduction
process. Whether ACCUM is zeroed is not consistent: masgetfile with
/avg, for instance, will set ACCUM correctly, while masdpsp and masgetfile
with /median will not. Setting ACCUM to correctly reflect the number
of records that were reduced into the struct will allow the strcut to be
correctly accumulated using masaccum and procedures
that call masaccum, such as masshiftaccum.
Dependencies: None.
Format: masaddwgt, b, weight
- b - mas structure to be modified
- weight - weighting to be applied. ACCUM will be set to -1 * weight.
This is a modification of Phil's masmon
routine to monitor all 14 boards in use during a Mock single-pixel observation.
It is normally called with simply the project id, and will then find and
display the most recent files. If not scaling is given, masmonall will
autoscale the x-axos tp cover the full frequency range of the observation and
the y-axis to go from median/3 to median×3 (where ‘median’ is
the median of the data, normally a good approximation to Tsys). If the
observation includes both radar-like shifted boards and noise-like shifted
boards, then a logarithmic y-scale can be applied to help to see all the data
at once.
As with Phil's masmon routine, a menu inside the program (called by hitting
any key) allows further control of the scaling and a number of other
functions. This menu also allows the user to quit the program or to interrupt
it for debugging. The menu appears in the IDL terminal window (not the graphics
window) and focus must be on the IDl terminal window to interrupt plotting
and bring up the menu.
Cmd CurVal function
--> PLOTTING:
p -1 pol to use (1..4,-1=all)
h low high set horizontal plot range ..no args --> autoscale
v low high set vertical plot range ..no args --> autoscale
delay 0.25 plot delay secs
l 0 logarithmic y-axis. 1-on,0-off
--> POSITIONING:
d 20121217 move to first file of date
dn 20121217 00000 move to date and filenum
num 00000 number of file to use
r 11 row of file to position. maxRows: 60
f ('all'/date) list project files for this date
('all' --> all dates, date --> that date)
--> MISC:
cur track cursor position
hdr print current header
s 0 step mode. 1-on,0-off
z stop in procedure (for debugging)
q to quit
otherKeys continue plotting
:
The menu prompts the user for input, then carries out the operation
requested and returns to the display of the spectra. If an invalid input is
given, it returns to the spectra without carrying out an operation. Note that
keys will not register until the menu appears - this can take a short while,
depending on when in the program cycle a key is pressed to interrupt
plotting. Polarisations should be supplied as p 1234, etc., not
p 0123.
Known issues: There may be a lun leak somewhere in the program. If it
crashes, try masclose,/all and then restart (after retall of
course).
Dependencies: Requires AOIDL, and masplotall2.
Format: masmonall, projid, num=num, date=date, noavg=noavg,
pollist=pollist, dirI=dirI, col=col, auto=auto, ylog=ylog