#FOR INFORMATION ON THE CALIBRATION THAT YOU ARE USING, GO TO http://www.naic.edu/~phil #PLEASE NOTE THAT THIS ASSUMES YOU WILL BE USING ONLY LBAND, AND WILL BE #AVERAGING THE TWO POLARIZATIONS. IF THIS IS NOT TRUE, YOU NEED TO RESET THE GAIN/ZA/AZ VALUES!!!!!! # # THESE ROUTINES ARE SIMPLY TO GET YOUR ANALYZ SPACE SET-UP # attach "/usr/local/phil/philib.anz" ulib2:atphil atphil;scratch 5;setxterm;corinfodef;toggle 'echo;fcidisp 0:autoexecute doc autoexecute "autoexecute script" # # THESE ROUTINES PUT THE CORRECT FREQ & VEL INFO INTO REGISTERS 8 & 41 # # fcidisp 1;correw;corget pr1;sto 8;fcidisp 0;setfrq%1b:setfrq%1 doc setfrq%1 "setfreq. with no corr" hdr1=@ci(5);hdr2=@ci(7):stf stf;s;rcl 8;p1=@ci(5);p2=@ci(7);s p1 p2;0;sto 8;s:setfrq%1a setfrq%1a;rcl 8;shiftr p1;sto 41;s 1 p1;0;sto 41;s:setfrq%1aa setfrq%1aa pr1;rcl 41;rcl 8;+;sto 8;p1=@ci(5);p2=@ci(5)-1:setfrq%1ab setfrq%1ab pr1;rcl 8;x(p1)=x(p2);sto 8:setfrq%1b # 1420.4058;rcl 8;-;rcl 8;/;* 299792.458;+ @ci(11);sto 41:helvel doc helvel "gets velocities from first data dump" setfrq%1 pr1;helvel;rcl 41;/ 299792.458;+ 1;invt;* 1420.4058;sto 8:setfrq doc setfrq "stores freq. in register 8 (only if A & B pols. are same)" # #HERE I WILL GET THE DATA, STORING IT IN REGISTERS 100 - 100+pr2*2 + 2 #(ON/OFF - - r.m.s.) IS THEN STORED IN 100 - 100+pr2 # corget pr1;setfrq pr1 pr2;s;p2=pr2*2 + 2;storec 100 pr1 p2:getdat%1 p1=100;p2=100+pr2;loop pr2;rcl p1;rcl p2;/;- 1;sto p1;p1=p1+1;p2=p2+1;end:gtdt%2 #p7=100;loop pr2;rcl p7;rms;- pl(1);sto p7;p7=p7+1;end:getdat%2a p7=100+pr2:getdat%2a getdat%2a pr1 pr2;p8=p7-1;print "on/off -1 raw in 100 -",p8:getdat%2b # #NEXT I NEED TO GET THE AZ & ZA INFO FOR THE DUMPS # getdat%2b pr1 pr2;p2=102+2*pr2;corpwrl p2 pr1 pr2:getdat%3 # #NOW I'M GOING TO GET A CONVERSION INTO Jy/K # p2=118+2*pr2;rcl p2;@tmp2=x;p2=119+2*pr2;rcl p2;@tmp3=x:gzac%1 p1=8.78131;p2=-0.11062;p3=0.00183;p4=-0.000310:gzac%2a p5=0.37864;p6=0.16833;p7=-0.10007;p8=0.02403:gzac%2b p9=-0.26800;p10=-0.14245:gzac%2c gzac%2a;gzac%2b;gzac%2c:gzac%2 # cza51=@tmp2;@za2=2*@tmp2;@za3=3*@tmp2:getza%1 i=@za1;loop 4;if i gt 360;i=i-360;end;end;@za1=i:getza%2 i=@za2;loop 8;if i gt 360;i=i-360;end;end;@za2=i:getza%3 i=@za3;loop 12;if i gt 360;i=i-360;end;end;@za3=i:getza%4 @za1=@za1*pi/180;@za2=@za2*pi/180;@za3=@za3*pi/180:getza%5 getza%1;getza%2;getza%3;getza%4;getza%5:getza # ii=1;loop pr2;if @tmp3(ii) le 14;gzac%4;else;gzac%5;end;ii=ii+1;end:gzac%3 @tmp4(ii)=p1+p2*@tmp3(ii):gzac%4a @tmp4(ii)=@tmp4(ii)+p5*cos(@za1)+p6*sin(@za1)+p7*cos(@za2):gzac%4b @tmp4(ii)=@tmp4(ii)+p8*sin(@za2)+p9*cos(@za3)+p10*sin(@za3):gzac%4c getza;gzac%4a;gzac%4b;gzac%4c:gzac%4 @tmp4(ii)=p1+p2*@tmp3(ii)+p3*(@tmp3(ii)-14)*(@tmp3(ii)-14):gzac%5a @tmp4(ii)=@tmp4(ii)+p4*(@tmp3(ii)-14)*(@tmp3(ii)-14)*(@tmp3(ii)-14):gzac%5b @tmp4(ii)=@tmp4(ii)+p5*cos(@za1)+p6*sin(@za1)+p7*cos(@za2):gzac%5c @tmp4(ii)=@tmp4(ii)+p8*sin(@za2)+p9*cos(@za3)+p10*sin(@za3):gzac%5d getza;gzac%5a;gzac%5b;gzac%5c;gzac%5d:gzac%5 gzac%1 pr1 pr2;gzac%2;gzac%3 pr1 pr2:gzac # getdat%4a pr1 pr2;loop pr2;getdat%4b pr1 pr2;end;getdat%4c pr1 pr2:getdat%4 j=1;gzac pr1 pr2;p1=100:getdat%4a rcl p1;/ @tmp4(j);p7=p1+pr2;sto p7;j=j+1;p1=p1+1:getdat%4b p8=100+pr2;print "on/off -1 corr in",p8,"-",p7:getdat%4c # #AVERAGE DATA, STORE IN p7=102+2*pr2; # p1=100+pr2;x=0;loop pr2;rcl p1;+;p1=p1+1;end;/ pr2;p7=102+2*pr2;sto p7:gtdt%5 gtdt%5 pr1 pr2;print "on/off -1 corrected average in",p7:gtdt%5c # #NOW, GET ON/OFF OF CALS, STORE IN 101+2*pr2 # #p9=@ci(7)-1;s 1 p9;p7=100+2*pr2:calonoff%1a #calonoff%1a pr1 pr2;p8=p7+1;rcl p7;rcl p8;-;rcl p8;/;sto p8:calonoff%1 #p9=@ci(4);0;sto p7;rcl p8;shiftl p9;rcl p8;+;/ 2;sto p7:calonoff%2 #p8=2*p9;rcl p7;s p9 p8;0;sto p7;s:calonoff%3 #calonoff%1 pr1 pr2;calonoff%2 pr1 pr2;calonoff%3:calonoff #USE CALS TO GET TEMPERATURE #calonoff pr1 pr2;p1=@ci(4)-1:calt%1a #calt%1a pr1 pr2;s 1 p1;rcl p7;/ @ctmp(1);invt x;sto p7:calt%1b #calt%1b pr1 pr2;print "CAL (in K) in reg",p7:calt%1 #p8=102+2*pr2;p9=p8+1;rcl p7;calt%2b;rcl p8;* pl(1);sto p9:calt%2 #p1=@ci(4);p1=p1-200;s 200 p1;rms;s:calt%2b #print "Calibrated data in register",p9:calt%3 # #NOW, GET ON/OFF OF CALS, STORE IN 101+2*pr2 # s;p7=100+2*pr2;p8=p7+1;rcl p7;rcl p8;-;rcl p8;/;sto p7:calonoff%1 calonoff%1 pr1 pr2;rcl p7;shiftl hdr1;rcl p7;+;/ 2;sto p7:calonoff%2 calonoff%2 pr1 pr2;rcl p7;s hdr1 hdr2;0;sto p7;s:calonoff # #USE CALS TO GET TEMPERATURE # calonoff pr1 pr2;rcl p7;/ @ctmp(1);invt x;sto p7:calt%1a calt%1a pr1 pr2;print "CAL (in K) in reg",p7:calt%1 p8=102+2*pr2;p9=p8+1;rcl p7;s 1 hdr1;rms;s;rcl p8;* pl(1);sto p9:calt%2 print "Temperature is",pl(1):calt%4 print "Calibrated data in register",p9:calt%3 calt%1 pr1 pr2;calt%2 pr1 pr2;calt%3;calt%4:calt # # # getdat%1 pr1 pr2;gtdt%2 pr1 pr2;getdat%3 pr1 pr2:getdat%6a getdat%6a pr1 pr2;getdat%4 pr1 pr2;gtdt%5c pr1 pr2;calt pr1 pr2:getdat%6b # p6=103+2*pr1;p7=p6+1;0;sto p7;p5=@ci(4);p4=@ci(7):stodat%1a rcl p6;shiftl p5;sto p7;rcl p6;rcl p7;+;/ 2;sto p7:stodat%1b rcl p7;s p5 p4;0;sto p7;s;rcl p7;sto 42:stodat%1c stodat%1a pr1;stodat%1b;stodat%1c:stodat%1 print "on/off -1 corr, AB avg'd in",p7,42:stodat%3 # getdat%6b pr1 pr2;stodat%1 pr2;stodat%3:getdata doc getdata "getdat(LN) . uses registers 100 - 100+pr2*2 + p1" # rcl 42;s 1 hdr1;rms;s;- pl(1);sto 43;rcl 43:mbase%1 mbase%1;print "rms subtracted data in 43":mbase # correw;getdata pr1 pr2;s;mbase;rcl 43;p8=@ci(7):redata%1 @ctmp(1)=pr3;redata%1 pr1 pr2;hor 1 p8;plot:redata doc redata "redata " # rcl 41;s pr1 pr2;sto 30;rcl 43;hor;ver;plot:setvel doc setvel "rcls vel. in 41, sections data from pr1 - pr2, sto 30" # $baseh -5; -;sto 47;rcl 47;plot;plot;msrtest:basgauss doc basgauss "Baseline red;Det. the central velocity, flux, and widths ofthe data" # pl(1,5) .5 .2 .5 .2 .2;$msrj 11223:msrtest # setvel pr1 pr2;basgauss:getres doc getres "sections data, gets widths, etc - getres " #