LINE POLARIMETRY AT THE JCMT ---------------------------- JSG, 5-Jan-00 V.1 (original text 9-Jun-97) (updated 16-Aug-2000!!! most recent instructions for use are in Appendix J) - This assumes the use of RxA and the 1100 micron waveplate (and membrane cancellator) from the UKT14 polarimeter, to do line polarimetry at ~ 220-230 GHz (13CO or 12CO 2-1). A procedure such as hetpol16.icl is used to step the waveplate at 22.5 degree intervals, to get 16 individual spectra in a 360 degree cycle. - Reduction can be done in 2 ways: - using SIT to find Stokes parameters from input integral TA* dv over a specified velocity range - using SPECX directly to produce polarized spectra - In both methods, you need to (a) subtract IP in receiver co-ordinate frame (b) correct for parallactic angle and 'receiver-position in cabin' angle (c) average results for all cycles Step (a) gives Qrx (= Qraw - Qip) and Urx (= Uraw - Uip); step (b) uses theta = -thetarx + r + 106, where r is parallactic angle in mid-cycle (in system clockwise = positive), e.g. from parangle.for or a unix equivalent. SIT reduction: -------------- (i) from spectra of an IP source, e.g. planet, find a suitable region of baseline to use for IP measurement. (If using a circularly symmetric line source such as IRC+10216, this region must be where the line is; otherwise use as much of the passband as looks stable, or the region where the source lines will be). (ii) in SPECX, use obscont.spx to produce a file of integral TA* dv values, per waveplate position, in SIT's input format. (If using a line-IP-source, use obsline.spx.) Edit these if necessary: the cont version assumes a bright source so divides spectra by 100 before integrating for numerical reasons; the line version subtracts a baseline; both assume das-merging (i.e. not DAS 125 spectra). (iii) use SIT to find Qip and Uip; remember that theta -> -theta conversion has already been done in SIT, so these are Qip,-Uip in the receiver frame. (NB: the sign changes are because of the number of input mirror reflections; the SCUBA version of SIT has an even number while the older UKT14 version has an odd number - this was assumed in the original manual and CONTINUES HERE.) Use IP, angle-track = false, no rotations (see online SIT manual). (iv) in SPECX, use obsline.spx to produce SIT files from the source observations. (Can also use obsline_nobase.spx if you think the source has polarized continuum emission.) (v) use SPECX to analyse the source data, treating the data AS AN IP. Tabulate the values SIT gives for Qraw,-Uraw. (NB theta -> -theta swap has already been done in the SIT version used to date, although incorrect for RxA2 data...) (vi) subtract IP: tabulate Qrx = Qraw - Qip and -Urx = -Uraw - (-Uip). (vii) want to find Q,U corresponding to theta = -thetarx + r + 106, so first find Q',U' for theta' = -thetarx + r. These are given by: Q' = P cos 2theta' = Qrx cos 2r - (-Urx) sin 2r U' = P sin 2theta' = Qrx sin 2r + (-Urx) cos 2r - tabulate these values, getting r from the LST and source position, e.g. in program parangle.for or any unix equivalent. (viii) average the Q' and U'; find their standard errors dQ' and dU'; then find pbias = sqrt(Q'^2 + U'^2) and theta = 1/2 tan-1 (U'/Q') + 106, remembering that the quadrant of theta depends on the signs of Q',U'. (ix) produce final answers by - finding error on p dp = sqrt(Q'^2 dQ'^2 + U'^2 dU'^2) / pbias - debiasing pbias pdb = sqrt(pbias^2 - dp^2) - finding error on theta dtheta = 28.6 degrees (or 0.5 radians) x dp/pbias (need to use graphed errors from lit. if pdb/dp < 1.5 or so) Spectra reduction: ------------------ (i) in SPECX, use rawip.spx to create IP spectra; these can show if the IP is a function of velocity. Process ends up with 3 spectra in SPECX storage registers #3,4,5; these are respectively Qip, Uip and Iip, all in K. To find percentage IP's, divide Qip and Uip by Iip. Note also that these are in the receiver frame, no correction to the sign of theta has been made. Can instead use the SIT IP results: write down Qip and -Uip from SIT (i.e. take OUT the sign correction SIT has done, to end up with +Uip). (ii) use raw.spx to produce the source polarization spectra, with no corrections done. These go into storage registers #3,4,5 and are Qraw, Uraw and I(average) respectively. (iii) use correc.spx to correct source data for IP, parallactic angle and 106 degrees 'receiver position' rotation. (This uses the storage registers from step (ii), so dont fiddle with them!) Need to edit this procedure to include desired IP parameters: line 5 should have -Qip and line 11 should have -Uip, since SPECX uses 'add-spectra' here, not 'subtract-spectra'. Therefore e.g. if SIT gives Qip = -0.4%, Uip = +0.5% (sign swapped) [Saturn, 1996 data], the numbers that need to go in are +0.004 (line 5) and +0.005 (line 11). (NB rawip.spx would have given -0.4%,-0.5%.) The correc.spx routine also prompts for 4 numbers which are: [cosA, sinA, sinA, -cosA], where A = 2r + 212, i.e. the correction needed to 2thetarx. NB, you also need a file open with SPECX write-access! (iv) the previous step wrote spectra of Q,U to an output file. Analysing all the source data will give scans in the file that are Q(v) (#1,3,5...) and U(v) (#2,4,6...). Convention is to add 3 scans at the end that are the average Q(v) (#n-2), average U(v) (#n-1) and average I(v) (#n) of all the spectra. (v) can also remove IP(v), ie. the velocity-dependent IP, using correc_vip.spx instead of correc.spx. Use after rawip.spx as usual. Need to have TWO files open: one is read-only, with 2 spectra, first is Qip(v) and second is Uip(v); second file is write-only and gets the reduced spectra in the usual way. Need to make sure that the source and IP spectra have compatible channels - the easiest way is to regrid all data to 1.0 km s-1 channels and use drop or truncate to get the same velocity ranges. Must edit correc_vip.spx to do this correctly! (NB I seem to have lost this one, so not appended....) Appendix A: definitions ----------------------- DAS - digital autocorrelation spectrometer IP - instrumental polarization SIT - the 'step-and-integrate-true' software to reduce single-pixel polarimetry data, written by Ramon Nartallo; has separate online manual SPECX - the spectral line data reduction package written by Rachael Padman Appendix B: hetpol16.icl ------------------------ proc hetpol16 move 0 wait 2 sample 16 1 move 22.5 wait 2 sample 16 1 move 45 wait 2 sample 16 1 move 67.5 wait 2 sample 16 1 move 90 wait 2 sample 16 1 move 112.5 wait 2 sample 16 1 move 135 wait 2 sample 16 1 move 157.5 wait 2 sample 16 1 move 180 wait 2 sample 16 1 move 202.5 wait 2 sample 16 1 move 225 wait 2 sample 16 1 move 247.5 wait 2 sample 16 1 move 270 wait 2 sample 16 1 move 292.5 wait 2 sample 16 1 move 315 wait 2 sample 16 1 move 337.5 wait 2 sample 16 1 exception CTRLC end exception end proc Appendix C: obscont.spx ----------------------- declare start i4 ask 'First scan number in cycle?',start,? declare file c11 ask 'Output file name (e.g. obs1234.dat)?',file,? r-g-d\start\ das-mer\\\ p-s-h s-l-f\f\file\ declare date r4 declare rev i4 ask 'Revise obs date (1 for yes,0 for no)?',rev,? if (rev = 1) then ask 'Current date, in format yyyy.mmdd?',date,? endif if scan_no < 10 then print source_name,' ',2.998e8/f_cen:f4.2,' ','obs_000':a7,scan_no:i1,' ',date:f10.4 print ' 16 1 ',ra:f10.5,' ',dec:f10.5,' 0.00' endif if (scan_no >= 10)&(scan_no < 100) then print source_name,' ',2.998e8/f_cen:f4.2,' ','obs_00':a6,scan_no:i2,' ',date:f10.4 print ' 16 1 ',ra:f10.5,' ',dec:f10.5,' 0.00' endif if (scan_no >= 100)&(scan_no < 1000) then print source_name,' ',2.998e8/f_cen:f4.2,' ','obs_0':a5,scan_no:i3,' ',date:f10.4 print ' 16 1 ',ra:f10.5,' ',dec:f10.5,' 0.00' endif if scan_no >= 1000 then print source_name,' ',2.998e8/f_cen:f4.2,' ','obs_':a4,scan_no:i4,' ',date:f10.4 print ' 16 1 ',ra:f10.5,' ',dec:f10.5,' 0.00' endif s-l-f\t\ r-g-d\start\ das-mer\\\ div\100.0\ f-i\?\ declare int1 r4 int1=totint r-g-d\start+1\ das-mer\\\ div\100.0\ f-i\\ declare int2 r4 int2=totint r-g-d\start+2\ das-mer\\\ div\100.0\ f-i\\ declare int3 r4 int3=totint r-g-d\start+3\ das-mer\\\ div\100.0\ f-i\\ declare int4 r4 int4=totint r-g-d\start+4\ das-mer\\\ div\100.0\ f-i\\ declare int5 r4 int5=totint r-g-d\start+5\ das-mer\\\ div\100.0\ f-i\\ declare int6 r4 int6=totint r-g-d\start+6\ das-mer\\\ div\100.0\ f-i\\ declare int7 r4 int7=totint r-g-d\start+7\ das-mer\\\ div\100.0\ f-i\\ declare int8 r4 int8=totint r-g-d\start+8\ das-mer\\\ div\100.0\ f-i\\ declare int9 r4 int9=totint r-g-d\start+9\ das-mer\\\ div\100.0\ f-i\\ declare int10 r4 int10=totint r-g-d\start+10\ das-mer\\\ div\100.0\ f-i\\ declare int11 r4 int11=totint r-g-d\start+11\ das-mer\\\ div\100.0\ f-i\\ declare int12 r4 int12=totint r-g-d\start+12\ das-mer\\\ div\100.0\ f-i\\ declare int13 r4 int13=totint r-g-d\start+13\ das-mer\\\ div\100.0\ f-i\\ declare int14 r4 int14=totint r-g-d\start+14\ das-mer\\\ div\100.0\ f-i\\ declare int15 r4 int15=totint r-g-d\start+15\ das-mer\\\ div\100.0\ f-i\\ declare int16 r4 int16=totint declare badpt i4 declare diff1 r4 declare diff2 r4 declare diff3 r4 declare diff4 r4 declare diff9 r4 declare diff10 r4 declare diff11 r4 declare diff12 r4 declare noise r4 badpt=0 diff1=abs(int1-int5) if diff1 > (0.1*int1) then badpt=badpt+1 diff1=0.0 endif diff2=abs(int2-int6) if diff2 > (0.1*int2) then badpt=badpt+1 diff2=0.0 endif diff3=abs(int3-int7) if diff3 > (0.1*int3) then badpt=badpt+1 diff3=0.0 endif diff4=abs(int4-int8) if diff4 > (0.1*int4) then badpt=badpt+1 diff4=0.0 endif diff9=abs(int9-int13) if diff9 > (0.1*int9) then badpt=badpt+1 diff9=0.0 endif diff10=abs(int10-int14) if diff10 > (0.1*int10) then badpt=badpt+1 diff10=0.0 endif diff11=abs(int11-int15) if diff11 > (0.1*int11) then badpt=badpt+1 diff11=0.0 endif diff12=abs(int12-int16) if diff12 > (0.1*int12) then badpt=badpt+1 diff12=0.0 endif noise=(diff1+diff2+diff3+diff4+diff9+diff10+diff11+diff12)/(1.414*(8-badpt)) print 'No. of bad noise values is' print badpt,' out of 8' s-l-f\f\file\ print int1:f8.2,noise:f8.2 print int2:f8.2,noise:f8.2 print int3:f8.2,noise:f8.2 print int4:f8.2,noise:f8.2 print int5:f8.2,noise:f8.2 print int6:f8.2,noise:f8.2 print int7:f8.2,noise:f8.2 print int8:f8.2,noise:f8.2 print int9:f8.2,noise:f8.2 print int10:f8.2,noise:f8.2 print int11:f8.2,noise:f8.2 print int12:f8.2,noise:f8.2 print int13:f8.2,noise:f8.2 print int14:f8.2,noise:f8.2 print int15:f8.2,noise:f8.2 print int16:f8.2,noise:f8.2 s-l-f\t\ Appendix D: obsline.spx ----------------------- declare start i4 ask 'First scan number in cycle?',start,? declare file c11 ask 'Output file name (e.g. obs1234.dat)?',file,? r-g-d\start\ das-mer\\\ p-s-h s-l-f\f\file\ declare date r4 declare rev i4 ask 'Revise obs date (1 for yes,0 for no)?',rev,? if (rev = 1) then ask 'Current date, in format yyyy.mmdd?',date,? endif if scan_no < 10 then print source_name,' ',2.998e8/f_cen:f4.2,' ','obs_000':a7,scan_no:i1,' ',date:f10.4 print ' 16 1 ',ra:f10.5,' ',dec:f10.5,' 0.00' endif if (scan_no >= 10)&(scan_no < 100) then print source_name,' ',2.998e8/f_cen:f4.2,' ','obs_00':a6,scan_no:i2,' ',date:f10.4 print ' 16 1 ',ra:f10.5,' ',dec:f10.5,' 0.00' endif if (scan_no >= 100)&(scan_no < 1000) then print source_name,' ',2.998e8/f_cen:f4.2,' ','obs_0':a5,scan_no:i3,' ',date:f10.4 print ' 16 1 ',ra:f10.5,' ',dec:f10.5,' 0.00' endif if scan_no >= 1000 then print source_name,' ',2.998e8/f_cen:f4.2,' ','obs_':a4,scan_no:i4,' ',date:f10.4 print ' 16 1 ',ra:f10.5,' ',dec:f10.5,' 0.00' endif s-l-f\t\ r-g-d\start\ das-mer\\\ r-l-b\?\?\ f-i\?\ declare int1 r4 int1=totint r-g-d\start+1\ das-mer\\\ r-l-b\\\ f-i\\ declare int2 r4 int2=totint r-g-d\start+2\ das-mer\\\ r-l-b\\\ f-i\\ declare int3 r4 int3=totint r-g-d\start+3\ das-mer\\\ r-l-b\\\ f-i\\ declare int4 r4 int4=totint r-g-d\start+4\ das-mer\\\ r-l-b\\\ f-i\\ declare int5 r4 int5=totint r-g-d\start+5\ das-mer\\\ r-l-b\\\ f-i\\ declare int6 r4 int6=totint r-g-d\start+6\ das-mer\\\ r-l-b\\\ f-i\\ declare int7 r4 int7=totint r-g-d\start+7\ das-mer\\\ r-l-b\\\ f-i\\ declare int8 r4 int8=totint r-g-d\start+8\ das-mer\\\ r-l-b\\\ f-i\\ declare int9 r4 int9=totint r-g-d\start+9\ das-mer\\\ r-l-b\\\ f-i\\ declare int10 r4 int10=totint r-g-d\start+10\ das-mer\\\ r-l-b\\\ f-i\\ declare int11 r4 int11=totint r-g-d\start+11\ das-mer\\\ r-l-b\\\ f-i\\ declare int12 r4 int12=totint r-g-d\start+12\ das-mer\\\ r-l-b\\\ f-i\\ declare int13 r4 int13=totint r-g-d\start+13\ das-mer\\\ r-l-b\\\ f-i\\ declare int14 r4 int14=totint r-g-d\start+14\ das-mer\\\ r-l-b\\\ f-i\\ declare int15 r4 int15=totint r-g-d\start+15\ das-mer\\\ r-l-b\\\ f-i\\ declare int16 r4 int16=totint declare badpt i4 declare diff1 r4 declare diff2 r4 declare diff3 r4 declare diff4 r4 declare noi1st r4 badpt=0 diff1=abs(int1-int5) if diff1 > (0.1*int1) then badpt=badpt+1 diff1=0.0 endif diff2=abs(int2-int6) if diff2 > (0.1*int2) then badpt=badpt+1 diff2=0.0 endif diff3=abs(int3-int7) if diff3 > (0.1*int3) then badpt=badpt+1 diff3=0.0 endif diff4=abs(int4-int8) if diff4 > (0.1*int4) then badpt=badpt+1 diff4=0.0 endif noi1st=(diff1+diff2+diff3+diff4)/(1.414*(4-badpt)) print 'No. of bad noise values in 1st half is' print badpt,' out of 4' declare diff9 r4 declare diff10 r4 declare diff11 r4 declare diff12 r4 declare noi2nd r4 badpt=0 diff9=abs(int9-int13) if diff9 > (0.1*int9) then badpt=badpt+1 diff9=0.0 endif diff10=abs(int10-int14) if diff10 > (0.1*int10) then badpt=badpt+1 diff10=0.0 endif diff11=abs(int11-int15) if diff11 > (0.1*int11) then badpt=badpt+1 diff11=0.0 endif diff12=abs(int12-int16) if diff12 > (0.1*int12) then badpt=badpt+1 diff12=0.0 endif noi2nd=(diff9+diff10+diff11+diff12)/(1.414*(4-badpt)) print 'No. of bad noise values in 2nd half is' print badpt,' out of 4' s-l-f\f\file\ print int1:f8.2,noi1st:f8.2 print int2:f8.2,noi1st:f8.2 print int3:f8.2,noi1st:f8.2 print int4:f8.2,noi1st:f8.2 print int5:f8.2,noi1st:f8.2 print int6:f8.2,noi1st:f8.2 print int7:f8.2,noi1st:f8.2 print int8:f8.2,noi1st:f8.2 print int9:f8.2,noi2nd:f8.2 print int10:f8.2,noi2nd:f8.2 print int11:f8.2,noi2nd:f8.2 print int12:f8.2,noi2nd:f8.2 print int13:f8.2,noi2nd:f8.2 print int14:f8.2,noi2nd:f8.2 print int15:f8.2,noi2nd:f8.2 print int16:f8.2,noi2nd:f8.2 s-l-f\t\ Appendix E: obsline_nobase.spx ------------------------------ declare start i4 ask 'First scan number in cycle?',start,? declare file c11 ask 'Output file name (e.g. obs1234.dat)?',file,? r-g-d\start\ das-mer\\\ p-s-h s-l-f\f\file\ declare date r4 declare rev i4 ask 'Revise obs date (1 for yes,0 for no)?',rev,? if (rev = 1) then ask 'Current date, in format yyyy.mmdd?',date,? endif if scan_no < 10 then print source_name,' ',2.998e8/f_cen:f4.2,' ','obs_000':a7,scan_no:i1,' ',date:f10.4 print ' 16 1 ',ra:f10.5,' ',dec:f10.5,' 0.00' endif if (scan_no >= 10)&(scan_no < 100) then print source_name,' ',2.998e8/f_cen:f4.2,' ','obs_00':a6,scan_no:i2,' ',date:f10.4 print ' 16 1 ',ra:f10.5,' ',dec:f10.5,' 0.00' endif if (scan_no >= 100)&(scan_no < 1000) then print source_name,' ',2.998e8/f_cen:f4.2,' ','obs_0':a5,scan_no:i3,' ',date:f10.4 print ' 16 1 ',ra:f10.5,' ',dec:f10.5,' 0.00' endif if scan_no >= 1000 then print source_name,' ',2.998e8/f_cen:f4.2,' ','obs_':a4,scan_no:i4,' ',date:f10.4 print ' 16 1 ',ra:f10.5,' ',dec:f10.5,' 0.00' endif s-l-f\t\ r-g-d\start\ das-mer\\\ f-i\?\ declare int1 r4 int1=totint r-g-d\start+1\ das-mer\\\ f-i\\ declare int2 r4 int2=totint r-g-d\start+2\ das-mer\\\ f-i\\ declare int3 r4 int3=totint r-g-d\start+3\ das-mer\\\ f-i\\ declare int4 r4 int4=totint r-g-d\start+4\ das-mer\\\ f-i\\ declare int5 r4 int5=totint r-g-d\start+5\ das-mer\\\ f-i\\ declare int6 r4 int6=totint r-g-d\start+6\ das-mer\\\ f-i\\ declare int7 r4 int7=totint r-g-d\start+7\ das-mer\\\ f-i\\ declare int8 r4 int8=totint r-g-d\start+8\ das-mer\\\ f-i\\ declare int9 r4 int9=totint r-g-d\start+9\ das-mer\\\ f-i\\ declare int10 r4 int10=totint r-g-d\start+10\ das-mer\\\ f-i\\ declare int11 r4 int11=totint r-g-d\start+11\ das-mer\\\ f-i\\ declare int12 r4 int12=totint r-g-d\start+12\ das-mer\\\ f-i\\ declare int13 r4 int13=totint r-g-d\start+13\ das-mer\\\ f-i\\ declare int14 r4 int14=totint r-g-d\start+14\ das-mer\\\ f-i\\ declare int15 r4 int15=totint r-g-d\start+15\ das-mer\\\ f-i\\ declare int16 r4 int16=totint declare badpt i4 declare diff1 r4 declare diff2 r4 declare diff3 r4 declare diff4 r4 declare noi1st r4 badpt=0 diff1=abs(int1-int5) if diff1 > (0.1*int1) then badpt=badpt+1 diff1=0.0 endif diff2=abs(int2-int6) if diff2 > (0.1*int2) then badpt=badpt+1 diff2=0.0 endif diff3=abs(int3-int7) if diff3 > (0.1*int3) then badpt=badpt+1 diff3=0.0 endif diff4=abs(int4-int8) if diff4 > (0.1*int4) then badpt=badpt+1 diff4=0.0 endif noi1st=(diff1+diff2+diff3+diff4)/(1.414*(4-badpt)) print 'No. of bad noise values in 1st half is' print badpt,' out of 4' declare diff9 r4 declare diff10 r4 declare diff11 r4 declare diff12 r4 declare noi2nd r4 badpt=0 diff9=abs(int9-int13) if diff9 > (0.1*int9) then badpt=badpt+1 diff9=0.0 endif diff10=abs(int10-int14) if diff10 > (0.1*int10) then badpt=badpt+1 diff10=0.0 endif diff11=abs(int11-int15) if diff11 > (0.1*int11) then badpt=badpt+1 diff11=0.0 endif diff12=abs(int12-int16) if diff12 > (0.1*int12) then badpt=badpt+1 diff12=0.0 endif noi2nd=(diff9+diff10+diff11+diff12)/(1.414*(4-badpt)) print 'No. of bad noise values in 2nd half is' print badpt,' out of 4' s-l-f\f\file\ print int1:f8.2,noi1st:f8.2 print int2:f8.2,noi1st:f8.2 print int3:f8.2,noi1st:f8.2 print int4:f8.2,noi1st:f8.2 print int5:f8.2,noi1st:f8.2 print int6:f8.2,noi1st:f8.2 print int7:f8.2,noi1st:f8.2 print int8:f8.2,noi1st:f8.2 print int9:f8.2,noi2nd:f8.2 print int10:f8.2,noi2nd:f8.2 print int11:f8.2,noi2nd:f8.2 print int12:f8.2,noi2nd:f8.2 print int13:f8.2,noi2nd:f8.2 print int14:f8.2,noi2nd:f8.2 print int15:f8.2,noi2nd:f8.2 print int16:f8.2,noi2nd:f8.2 s-l-f\t\ Appendix F: rawip.spx --------------------- i=\? do m i i 1 cle-sta r-g-d\m\ das-mer\\\ r-g-d\m+4\ das-mer\\\ r-g-d\m+8\ das-mer\\\ r-g-d\m+12\ das-mer\\\ av av av store\1 cle-sta r-g-d\m+2\ das-mer\\\ r-g-d\m+6\ das-mer\\\ r-g-d\m+10\ das-mer\\\ r-g-d\m+14\ das-mer\\\ av av av store\2 cle-sta reca\1 reca\2 sub div\2.0 store\3 cle-sta r-g-d\m+1\ das-mer\\\ r-g-d\m+5\ das-mer\\\ r-g-d\m+9\ das-mer\\\ r-g-d\m+13\ das-mer\\\ av av av store\1 cle-sta r-g-d\m+3\ das-mer\\\ r-g-d\m+7\ das-mer\\\ r-g-d\m+11\ das-mer\\\ r-g-d\m+15\ das-mer\\\ av av av store\2 cle-sta reca\1 reca\2 sub div\2.0 store\4 cle-sta r-g-d\m\ r-g-d\m+1\ av r-g-d\m+2\ av r-g-d\m+3\ av r-g-d\m+4\ av r-g-d\m+5\ av r-g-d\m+6\ av r-g-d\m+7\ av r-g-d\m+8\ av r-g-d\m+9\ av r-g-d\m+10\ av r-g-d\m+11\ av r-g-d\m+12\ av r-g-d\m+13\ av r-g-d\m+14\ av r-g-d\m+15\ av das-mer\\\ store\5 cle-sta s-s-r enddo return Appendix G: raw.spx ------------------- i=\? do m i i 1 cle-sta r-g-d\m\ das-mer\\\ r-l-b\?\?\ r-g-d\m+4\ das-mer\\\ r-l-b\\\ r-g-d\m+8\ das-mer\\\ r-l-b\\\ r-g-d\m+12\ das-mer\\\ r-l-b\\\ av av av store\1 cle-sta r-g-d\m+2\ das-mer\\\ r-l-b\\\ r-g-d\m+6\ das-mer\\\ r-l-b\\\ r-g-d\m+10\ das-mer\\\ r-l-b\\\ r-g-d\m+14\ das-mer\\\ r-l-b\\\ av av av store\2 cle-sta reca\1 reca\2 sub div\2.0 store\3 cle-sta r-g-d\m+1\ das-mer\\\ r-l-b\\\ r-g-d\m+5\ das-mer\\\ r-l-b\\\ r-g-d\m+9\ das-mer\\\ r-l-b\\\ r-g-d\m+13\ das-mer\\\ r-l-b\\\ av av av store\1 cle-sta r-g-d\m+3\ das-mer\\\ r-l-b\\\ r-g-d\m+7\ das-mer\\\ r-l-b\\\ r-g-d\m+11\ das-mer\\\ r-l-b\\\ r-g-d\m+15\ das-mer\\\ r-l-b\\\ av av av store\2 cle-sta reca\1 reca\2 sub div\2.0 store\4 cle-sta r-g-d\m\ r-g-d\m+1\ av r-g-d\m+2\ av r-g-d\m+3\ av r-g-d\m+4\ av r-g-d\m+5\ av r-g-d\m+6\ av r-g-d\m+7\ av r-g-d\m+8\ av r-g-d\m+9\ av r-g-d\m+10\ av r-g-d\m+11\ av r-g-d\m+12\ av r-g-d\m+13\ av r-g-d\m+14\ av r-g-d\m+15\ av das-mer\\\ r-l-b\\\ store\5 cle-sta s-s-r enddo return Appendix H: correc.spx ---------------------- do m 1 1 1 cle-sta reca\3 reca\5 mult\0.0033 add-sp store\1 cle-sta reca\4 reca\5 mult\0.0045 add-sp store\2 cle-sta reca\1 mult\?\ reca\2 mult\?\ add-sp wr-sp\\ cle-sta reca\1 mult\?\ reca\2 mult\?\ add-sp wr-sp\\ cle-sta enddo return Appendix I: using the line polarimeter -------------------------------------- (see also below) (1) (with micro already in receiver cabin) - make sure the telescope system is run down and the micro is OFF (2) put the correct waveplate (450, 800 or 1100 micron) in the polarimeter module (3 small screws overlap the edge of the waveplate) and push the cancellator (membrane sample in black mounting ring) onto the polarimeter unit. The cancellator should have weave stripes VERTICAL and say 'UKT14POL' on the LEFT hand side. (3) connect polarimeter to the micro: motor cable plus small cable with the opto-sensor (red dots align). (4) connect the micro to the bus if necessary (this is in the bay with a set of buses; uses the same one as the heterodyne receivers?). (5) turn the micro on (waveplate may rotate slowly); press reset button on the micro. (6) check rotation goes to zero degrees; there is a 360-degree protractor with a diamond marked for this purpose. (7) mount the polarimeter on the receiver frame: B3 has a mounting plate and bolts in a track in the frame; a G-clamp has been used for the RxA frame; in any case, check the centre of the waveplate is centred in the optical path. It doesnt matter if the polarimeter is upside down! (but back-to-front or askew DO matter - back-to-front should be impossible becuase the motor housing sticks out and wont lie flush against the frame). (8) use retaining straps/cables through e.g. the hole at the top of the polarimeter - if the mounting slips, these retainers must stop the polarimeter swinging into anything else in the receiver cabin! (9) type ukt14pol_load and datum on the TSS control screen; type load unix_user:hetpol16.icl or load observe:[guest.jcmt01]hetpol16.icl at the dollar prompt in the observer's account. (10) for polarimeter removal: type datum; type ukt14pol_kill; in the receiver cabin, check the polarimeter is at the datum position; turn the micro power OFF; uncable the polarimeter and remove it from the cabin; secure loose cables. Appendix J: using the line polarimeter (update) ----------------------------------------------- - we now have mounting brackets for both A3 and B3, which bolt directly onto the receiver frames (the new A3 one is very easy to use, has 3 small screws which are now in the Rx frame and a plate attached to the pol itself; to use on B3, use the alternative plate in the equipment box) - instructions for using the pol are in document MT/UN/201.1 and the hardware is located in SCUBA Locker C in the prep room (this is not particularly logical; we should get a proper box and move the whole thing to the RxA or RxB locker?) - the pol micro (above the right elevation bearing) is in general turned off and disconnected, but the cables are ready to be plugged in (lashed to the side of the bay); the connection at the back of bus 3 is awkward to reach, but I'm not sure what we can do about this... - the ICL observing script is accessed via ukt14pol_load (for historical reasons!) followed by load mt_prcdir:hetpol16 and hetpol16 (with the prompt off); each complete waveplate cycle takes about 10 mins to run