[1636] | 1 | ================================================ |
---|
| 2 | Tutorial 2 â Data Reduction for multiple spectra |
---|
| 3 | ================================================ |
---|
| 4 | |
---|
| 5 | |
---|
| 6 | .. sectionauthor:: Kate Brooks |
---|
| 7 | |
---|
| 8 | **Main goal:** Handle multiple Spectral windows (IFs) and plot spectral-line catalogues |
---|
| 9 | |
---|
| 10 | |
---|
| 11 | Files |
---|
| 12 | ----- |
---|
| 13 | |
---|
| 14 | * 2006-07-09_1431-M168.rpf Data file (63 Mb) |
---|
| 15 | |
---|
| 16 | * 3mm.txt Emission line catalogue |
---|
| 17 | |
---|
| 18 | * QuickData.py Data Reduction GUI (by Cormac Purcell) |
---|
| 19 | |
---|
| 20 | Data Log |
---|
| 21 | -------- |
---|
| 22 | |
---|
| 23 | * ON-OFF-OFF-ON Position switching mode with Mopra |
---|
| 24 | |
---|
| 25 | * 4 Scans (2 OFF and 2 ON) |
---|
| 26 | |
---|
| 27 | * 4 x 2-GH bands (IF 0, 1, 2, 3) |
---|
| 28 | |
---|
| 29 | Instructions |
---|
| 30 | ------------ |
---|
| 31 | |
---|
| 32 | 1. Work through the list of commands given in the text file to |
---|
| 33 | calibrate data taken with the Mopra telescope and identify the |
---|
| 34 | emission lines. Commands should be typed line-by-line into |
---|
| 35 | ASAP. Seek help from the tutors if there are any commands |
---|
| 36 | you donât understand. |
---|
| 37 | |
---|
| 38 | 2. The commands given in the text file are for 1 Mopra frequency |
---|
| 39 | band only (IF0). Now work on the other 3 bands and make a |
---|
| 40 | final plot showing all four frequency bands stitched together. |
---|
| 41 | |
---|
| 42 | 3. Now repeat the calibration steps using the Mopra Data |
---|
| 43 | Reduction GUI. This GUI has been created via a python script |
---|
| 44 | (QuickData.py). |
---|
| 45 | |
---|
| 46 | Commands |
---|
| 47 | -------- |
---|
| 48 | |
---|
| 49 | .. code-block:: python |
---|
| 50 | |
---|
| 51 | # Load data into memory and display short description |
---|
| 52 | s = scantable('2006-07-09_1431-M168.rpf') |
---|
| 53 | print s |
---|
| 54 | # Set the plotting mode |
---|
| 55 | plotter.set_mode(stacking='i', panelling='t') |
---|
| 56 | plotter.set_histogram() |
---|
| 57 | plotter.set_colours('black') |
---|
| 58 | plotter.set_linestyles('solid') |
---|
| 59 | # Plot all the raw data |
---|
| 60 | plotter.plot(s) |
---|
| 61 | # Form the quotient spectra |
---|
| 62 | q = s.auto_quotient() |
---|
| 63 | # Average all scans in time, weighting according to Tsys value |
---|
| 64 | av = q.average_time(weight='tsys') |
---|
| 65 | # Average the two polarisations together, weighting according to Tsys value |
---|
| 66 | iav = av.average_pol(weight='tsys') |
---|
| 67 | ### Work on IF0 only |
---|
| 68 | # Define a selector |
---|
| 69 | sel1 = selector() |
---|
| 70 | # Select the first IF for scantable 'iav' |
---|
| 71 | sel1.set_ifs(0) |
---|
| 72 | iav.set_selection(sel1) |
---|
| 73 | # Plot the first IF with x-axis in channel number |
---|
| 74 | iav.set_unit('channel') |
---|
| 75 | plotter.plot(iav) |
---|
| 76 | # Flag out the end channels |
---|
| 77 | msk1 = iav.create_mask([0,120]) |
---|
| 78 | iav.flag(msk1) |
---|
| 79 | msk1 = iav.create_mask([7900,8200]) |
---|
| 80 | iav.flag(msk1) |
---|
| 81 | # Redo the plot |
---|
| 82 | plotter.plot(iav) |
---|
| 83 | # Identify emission lines |
---|
| 84 | iav.set_unit('GHz') |
---|
| 85 | plotter.plot(iav) |
---|
| 86 | # Load in catalogue of emission lines and overlay on plot |
---|
| 87 | lc3 = linecatalog('3mm.txt') |
---|
| 88 | plotter.plot_lines(lc3,location='top',rotate=90,doppler=-45) |
---|