; GBTIDL functions to setup data reduction parameters for a GBT on-off ; observing run. ; use: @gbt_setup ; ; print,'enter gbt_setup.pro' ;; compile .comp /Users/jhibbard/Desktop/data2/gbtpro/ottflux .comp /Users/jhibbard/Desktop/data2/gbtpro/spcalflux .comp /Users/jhibbard/Desktop/data2/gbtpro/accumscans .comp /Users/jhibbard/Desktop/data2/gbtpro/write_spectra .comp /Users/jhibbard/Desktop/data2/gbtpro/GBTreduce1 .comp /Users/jhibbard/Desktop/data2/gbtpro/GBTreduce ; raw data and summary file will be night-specific rawdata='/Users/jhibbard/Desktop/data2/GBTrawdata/AGBT05C_029_02.raw.acs.fits' Summaryfile='AGBT05C_029_02_summary.txt' night_preface='02' ; the keep file can be the same for multiple nights keepfile='AGBT05C_029_keep.fits' ;; Global reduction parameter values: fitting_order=3 ;; Default fit order for baseline subtraction. ;; This can be changed for individual sources Nbox=20 ;; Parameter for boxcar smoothing & ;; decimation; in channels default_region=[40,380,450,475,630,790] default_region=[50,300,500,790] ;; Default egion used for baseline subtraction. ;; This needs to be in pixels, after any ;; decimation by Nbox. ;; This can be changed for individual sources do_out=1 ;; keep accumulated spectra and ps and ascii ;; versions of final baseline subtracted data ;; Modify these based on your data: number of scans that have RFI, ;; number of calibration sources, number of target sources Num_RFI_scans=6 Num_Calibs=3 Num_Sources=5 ; define structures for setting up data reduction parameters interference={scan: 0, ints:lonarr(128,/NOZERO)} interference.ints=-1 rec = {target, name:"blank", scans:lonarr(256,/NOZERO), $ Nbox:20, region:lonarr(128,/NOZERO), nfit:1, type:0} rfi = replicate(interference, Num_RFI_scans) calib = replicate({target}, Num_Calibs) source = replicate({target}, Num_Sources) ;; initialize scans and regions calib.scans=-1 calib.region=-1 calib.Nbox=Nbox calib.region=default_region calib.nfit=fitting_order source.scans=-1 source.region=-1 source.Nbox=Nbox source.region=default_region source.nfit=fitting_order print,'Define RFI parameters' i=0 rfi[i].scan=15 & rfi[i].ints=[0,1,2] & i+=1 rfi[i].scan=25 & rfi[i].ints=[20,21,22] & i+=1 rfi[i].scan=39 & rfi[i].ints=[3,4,5,6,7] & i+=1 rfi[i].scan=51 & rfi[i].ints=[7,8,9,10,11,12] & i+=1 rfi[i].scan=62 & rfi[i].ints=[0,1,2,3] & i+=1 rfi[i].scan=72 & rfi[i].ints=[11,12,13,14] & i+=1 print,'Define Calibrator parameters' ;; first calibrator listed is the primary calibrator. Others are just ;; for comparison. type=0 for spectral line calibrators, type=1 for ;; flux calibrators. For flux calibrators, the mean flux will be ;; calculated from the first to last element of region (in channels). i=0 calib[i].name= 'UGC0317a' & calib[i].scans=[5] & calib[i].nfit=3 & calib[i].type=0 & i+=1 calib[i].name= 'UGC0317b' & calib[i].scans=[35] & calib[i].nfit=3 & calib[i].type=0 & i+=1 calib[i].name='3C48Line' & calib[i].scans=[62] & calib[i].nfit=3 calib[i].type=1 & calib[i].region=[200,600] & i+=1 print,'Define Source parameters' ;; here, region can be any size i=0 source[i].name='J0031-0934' & source[i].scans=[7,9,11,25,27,29] & i+=1 source[i].name='J0215-0846' & source[i].scans=[13,15,17,19,21,23] & i+=1 source[i].name='J0236-005' & source[i].scans=[37,39,41,43,45,47,70,72] & i+=1 source[i].name='HS2236+1344' & source[i].scans=[49,51,53,55,57,59] & i+=1 source[i].name='J0133+1342' & source[i].scans=[64,66,68] & i+=1 print, 'Done with setup. Reduce all data with GBTreduce.pro' print, 'Syntax: GBTreduce, rawdata, rfi, calib, source, summaryfile, ', $ 'do_out, keepfile, night_preface' GBTreduce, rawdata, rfi, calib, source, summaryfile, do_out, keepfile, night_preface print, 'Review set-up parameters with GBTreduce1.pro (syntax: j=3 & GBTreduce1, source[j])'