Joint Astronomy Centre
Show document only
JAC Home
JCMT
UKIRT
Contact info
JAC Divisions
OMP
Outreach
Seminars
Staff-only Wiki
Weather
Web Cameras
____________________

JCMT home
Observing at JCMT
OMP Observation Manager
Telescope
Spectral Line Observing
Continuum Observing
Schedule
Data Archive
Future Developments
Legacy Surveys
Newsletter & Publications
Jiggle-map polarimetry data reduction

Reducing jiggle-map polarimetry data


The polarimetric jiggle-map data reduction uses POLPACK (for complete details, see the locally available online manual) running under the automatic reduction pipeline ORACDR. A detailed knowledge of SURF and POLPACK is not required, but looking at the manuals will help in understanding the reduction steps.

While observing, you will normally have the ORACDR pipeline running, and polarimetry images at 850 microns will be reduced automatically. Procedures for reducing the data when not at the telescope (offline) are very similar. In either case, first set up useful variables based on UT date:

  • surf
  • scusetenv

This defaults to reducing data for the current night, so if you are working offline, use 'scusetenv yyyymmdd', where yyyymmdd is a date such as 19990101. You also need to tell ORACDR where to put the output files, so to use the current directory,

  • setenv ORAC_DATA_OUT `pwd`

noting that those are backwards apostrophes!!

To run the pipeline at the telescope you need only set it going:

  • oracdr

while offline, you should also supply the date and observation numbers:

  • oracdr -ut 19990101 -list 1:10

ORACDR reduces the data as follows. Each waveplate cycle produced 16 images, which give 4 sets of the Stokes parameters I, Q and U (where Q and U are the two orthogonal components of linear polarization). First, 16 rebinned images are generated, with the outer ring of the LW array used for sky-noise removal and instrumental polarization subtracted. (A default IP file is used for 850/450 micron observations; if you observed at 750/350, consult your support scientist for how to use an alternative file.) The polarized modulation repeats every 90 degrees of the waveplate position (giving the 4 sets), so next the data are 'stacked' and each 4 equivalent measurements used to generate error images. Then the 'polcal' task in POLPACK is used to fit a sine wave through data points in the 4 rebinned images, to produce the Q,U parameters and the mean intensity I. Finally the pixels are binned to improve the signal-to-noise, and a catalogue of the polarization parameters p,theta (the percentage and position angle of the polarization) is generated from Q/I and U/I.

The ORACDR display screen will first show the results from an individual cycle, binned to produce a polarization vector every 6 arcsec. After 2 or more cycles, the screen will then produce a new display, with the co-added results (from averaging of the I,Q,U data cube), but showing a vector only every 9 arcsec and only if better than 3 sigma (theta defined to +/- 10 degrees). Thus you can see first if the last cycle produced any results, and then how you're doing with all the data. The binning and S/N criteria are somewhat arbitrary - the actual sampling on the sky is 6 arcsec, but using a 3 arcsec pixel gives a neater I image, while binning just the polarimetry data to larger pixels improves the S/N.

If there are noisy (or dead) bolometers, these may produce a few spurious vectors. It is advisable to turn these off in the pipeline - simply add (for example) -cal badbols=h6:h14 at the end of the oracdr command. Note that the bolometers should be separated by colons, not commas!

To reduce data for the short-wave array, you need to copy the data reduction recipe, SCUBA_JIGPOLMAP, from $ORAC_DIR/recipes/SCUBA to your current directory, and change the line

_EXTINCTION_CORRECT_ SUBS=long
to
_EXTINCTION_CORRECT_ SUBS=short

You then need to use

  • setenv ORAC_RECIPE_DIR `pwd`

to run your 'local' version of the recipe.

Similarly, you can use different bolometers for sky-noise removal by changing e.g.
_REMOVE_SKY_NOISE_JIGGLE_ BOLOMETERS=r3 MODE=mean ADD=false
to

_REMOVE_SKY_NOISE_JIGGLE_ BOLOMETERS=[r3,-i7,-i8,-i9] MODE=mean ADD=false

if you want to use the outer ring, but not bolometers which have flux in them, or

_REMOVE_SKY_NOISE_JIGGLE_ BOLOMETERS=[i5,i6,i7,i8,i9] MODE=mean ADD=false

to use only certain bolometers which look empty. Or, you can just change the mode used for sky subtraction to 'median', and then provided your source emission fills less than half the outer ring, the median bolometer will be a true 'sky' bolometer. This is often preferable, as sky rotation means that bolometers picked as 'sky' may be 'source' later on! Also, to pick bolometers you need to display the rebinned image (..._long_reb.sdf) and then use the SURF command 'scuover' to plot the bolometer positions and see which ones are empty for the current observation.

If your source is faint, you may need to change the default smoothing, binning and S/N criteria to produce any vectors in real-time. Copy the SCUBA_JIGPOLMAP recipe to your local directory, rename it, edit it and then call it instead of the default (as described above, now just add the name of your personal recipe at the end of the oracdr command - for example 'oracdr MY_JIGPOLMAP', no hyphens or option names required). You will see the name of your recipe come up in the oracdr information screen. For the editing, I suggest changing the binning first, in the _CALCULATE_POLARISATION_FROM_CUBE_GROUP_ line, from BIN=3 to BIN=5 (which will be about a beam-width, or 5 pixels). If really desperate to see something, change to S2N=2.0 (or less) in this line. If still nothing, increase SMOOTH=5 in the _REBIN_INTEGRATIONS_ line (this is in arcsec, try up to 15 which will be a beam-width).

It may be simpler to fiddle around with the S/N when you have reduced all the data for an object (note that fields will have been automatically mosaiced if they have the same source name or belong to the same group). Start by running up the packages POLPACK and CURSA. Then use 'polbin' to rebin the polarization catalogue (....grp..._cat.FIT) by a specified number of 3-arcsec pixels, e.g. 5 pixels, and save this with an output catalogue name of your choice (the .FIT extension will be added automatically). Then use 'catselect' to specify your criteria - the selection type should be set to 'e' (short for 'expression') and you can choose any expression similar to 'p < 15 & p/dp > 3 & i > 0', using & symbols to separate criteria. In this example, p will be OK if less than 15%, you want at least 3-sigma detections (equivalent to position angles accurate to at least +/- 10 degrees; you can specify 'dang < 10' instead if you want), and you want positive flux (which eliminates any problems with chopping onto the source).

To get a hardcopy of the image with polarization vectors on top, the easiest method is to press the 'print' button on the oracdr display window. Then save the plot to a file (.ps or .eps) and send it to the printer (e.g. 'lp -d jcmt' at the telescope). This does not give great quality however, so if you want to get publication quality, you need to run up the KAPPA (or GAIA) packages. In KAPPA, for example, using

display axes device=epsfcol_l lut=$KAPPA_DIR/heat_lut ...._avcube'(,,1)'

plots the intensity image (part of the whole datacube ..._avcube.sdf), and from POLPACK,

polplot noclear device=epsfcol_l noaxes cat=my_cat

(where my_cat.FIT is your final catalogue) will plot the vectors. You can add angrot=90 at the end if you want rotated vectors, showing the magnetic field directions. You can also use style='colour(vec)=red' or style='width(vec)=3' to fiddle with vector colours and thicknesses. When you're happy, use something like 'psmerge -e gks74.ps gks74.ps.1 > my_plot.ps' to get the combined image-and-vectors plot file, and print as above.

Contact: Remo Tilanus. Updated: Wed Sep 22 16:35:39 HST 2004

Return to top ^