source: branches/newfiller/tutorials/tutorial_4.rst@ 2759

Last change on this file since 2759 was 1757, checked in by Kana Sugimoto, 14 years ago

New Development: Yes

JIRA Issue: Yes (CAS-2211)

Ready for Test: Yes

Interface Changes: Yes

What Interface Changed: ASAP 3.0.0 interface changes

Test Programs:

Put in Release Notes: Yes

Module(s): all the CASA sd tools and tasks are affected.

Description: Merged ATNF-ASAP 3.0.0 developments to CASA (alma) branch.

Note you also need to update casa/code/atnf.


File size: 3.1 KB

Tutorial 4 – Data Reduction for Parkes Methanol Multibeam

?
=========================================================
Tutorial 4 – Data Reduction for Parkes Methanol Multibeam
=========================================================
?
.. sectionauthor:: Jimi Green

Files

  • mmb-mx.rpf Data file (9.4 Mb)

Data Log

  • 7 Spectra taken with Parkes Methanol Multibeam

Instructions

  1. Work through the list of commands given in the text file to calibrate data taken with the Parkes Methanol Multibeam. Commands should be typed line-by-line into ASAP. Seek help from the tutors if there are any commands you don’t understand.

  2. Write a python script to automate the calibration procedure for data taken with the Parkes Methanol Multibeam. Incorporate the list of commands used in step 1 as well as a routine to cycle through the 7 different beams.

    Note: Your python script should be executed in a terminal (and not within ASAP) with the following command:

    python -i myscript.py
    

Commands

# Load data (with filename mmb-mx.rpf) into memory and display
data = scantable("mmb-mx.rpf")
print data
# Set the polarisation feed type
data.set_feedtype("circular")
# Select just the first IF (the data actually contains two, the
# methanol transition at 6.7GHz and the excited-state OH transition
# at 6GHz, but we will only look at methanol).
sel=selector()
sel.set_ifs(0)
data.set_selection(sel)
# Set the rest frequency
data.set_restfreqs(6.6685192e9)
# Set the cal values for the 7 beams, both polarisations.
calfact = (( 2.29, 2.28 ), ( 2.18, 1.93 ), ( 4.37, 4.37 ), \
     (2.53,3.20 ), ( 3.69, 3.89 ), ( 3.74, 3.51 ), ( 1.98, 1.70 ))
# Apply cal factors to first beam, first polarisation
sel.reset()
sel.set_beams(0)
sel.set_polarisations(0)
data.set_selection(sel)
data.scale(calfact[0][0], insitu=True, tsys=True)
# Apply cal factors to first beam, second polarisation
sel.reset()
sel.set_beams(0)
sel.set_polarisations(1)
data.set_selection(sel)
data.scale(calfact[0][1], insitu=True, tsys=True)
# Now repeat above 10 steps for the other 6 beams
# Reset selection parameter
data.set_selection()
# Set plotter output to show both polarisations on the same plot,
# but each beam on a separate plot.
plotter.plot(data)
plotter.set_mode("p","b")
# Plot the first scan only
sel = selector()
sel.set_scans(1)
plotter.set_selection(sel)
# Average "off-source" scans for each beam, then use as the
# reference scan to form a quotient.
q = data.mx_quotient()
plotter.plot(q)
# Define the channel unit.
q.set_unit("km/s")
plotter.plot()
plotter.set_range(-60,-10)
# Average all the multiple beam data together to form
# a long integration spectrum.
avb = q.average_beam()
plotter.plot(avb)
plotter.set_range()
# Average polarisations together
avp = avb.average_pol()
plotter.plot(avp)
# Fit a linear baseline (avoiding the maser feature)
msk=avp.create_mask([-110,-70],[10,40])
avp.poly_baseline(msk,order=1)
plotter.plot(avp)
# Make a nice file
plotter.set_colors("black")
plotter.set_legend(mode=-1)
plotter.set_title("G300.969+1.148")
plotter.save("G300p96.ps")
Note: See TracBrowser for help on using the repository browser.