function rwwapp,file,exten=exten if not(keyword_set(exten)) then exten=1 print,"Reading ",file fxbopen,lun,file,exten,hdr, access='R' fxbfind,lun,"TTYPE",cols,params,nfields naxis=fxpar(hdr,"NAXIS") naxis1=fxpar(hdr,"NAXIS1") naxis2=fxpar(hdr,"NAXIS2") naxis2=100 ints=[1,naxis2] cnt=0 ;Missing: OBSDATE,CTYPE2-5,CRPIX2-5,CDELT2-5,CUNIT2-5 ;Does off_cs, rate_ra, rate_dec, rate_cs, rate_time, raj, decj matter? ;is CRVAL1V really velocity? ;what are crval2a, crval2b, etc? ;tcal calue is bogus ;is rfnum = beam num? for kk=1,naxis2 do begin j=0 for i=0,n_elements(params)-1 do begin if (strtrim(params[i],2) ne 'DATA') then begin fxbread,lun,tmp,params[i],kk ;fxbreadm,lun,params[i],row=ints,tmp name=strtrim(params[i],2) name2=strsplit(name,'-',/extract) if (n_elements(name2) gt 1) then name=name2[0]+name2[1] if (name eq 'RESTFRQV') then name='RESTFRQ' if (name eq 'CRVAL1V') then name='VELOCITY' if (name eq 'TCAL') then tmp=reform(tmp[0,*]) if (name eq 'PATTERN_SCAN') then begin name='SCAN' tmp=fix(tmp - fix(tmp/1E5)*1E5) endif if (name eq 'RFNUM') then name='BEAM' if (name eq 'CTYPE1V') then veltype=tmp if (name eq 'SPECSYS') then specsys=tmp if (j eq 0) then data=create_struct(name,tmp) if (j eq 1) then data=create_struct(data1,name,tmp) data1=data j=1 endif endfor data1=data lagspos=fix(where(strcompress(params,/remove_all) eq 'LAGS_IN')+1) datapos=fix(where(strcompress(params,/remove_all) eq 'DATA')+1) fxbread,lun,nlags2,lagspos,kk fxbread,lun,data2,datapos,kk data=create_struct('DATA',data2,data1) if (cnt eq 1) then all_dat=replicate(data,naxis2) if (cnt gt 1) then all_dat[cnt]=data cnt=cnt+1 endfor close,lun free_lun,lun print,'Done reading in original file' file2='out_new.fits' for i=0,naxis2-1 do begin a=strsplit(hdr[i],count=7,/extract) if (a[0] eq 'EXTNAME') then begin a=hdr[i] strput,a,"SINGLE DISH'",11 hdr[i]=a endif endfor sxdelpar,hdr,'THEAP' sxdelpar,hdr,'TDISP17' sxdelpar,hdr,'TDISP18' sxdelpar,hdr,'TDISP19' sxdelpar,hdr,'TDISP20' obsid=sxpar(hdr,'OBS_ID') sxaddpar,hdr,'PROJID',obsid,after='OBS_ID' ;ctype1=strsplit(veltype,"-",/extract) ;sxaddpar,hdr,'CTYPE1','FREQ-'+ctype1[0] sxaddpar,hdr,'CTYPE1','FREQ-LSRK' ;ctype1=strmid(specsys,0,3) ;sxaddpar,hdr,'CTYPE1',ctype1[0] ;IS THIS CORRECT?: tdim='('+string(nlags2)+',1,1,1,1)' sxaddpar,hdr,'TDIM1',tdim,after='TFORM1' ; mwrfits,all_dat,file2,hdr,/create print,'done writing new fits file' ;fxhmodify,file2,'EXTNAME','SINGLE DISH',extension=exten ;fxhmodify,file2,'TELESCOPE','ARECIBO',extension=exten ; ;sxdelpar,hdr,'DATE-OBS' ;sxaddpar,hdr,'VELFRAME','BARY',after='TDIM1' ;modfits,file2,0,hdr,/ext ; ;print,'done with header changes' ;fxbfinish,lun ;close,lun ;free_lun,lun return,all_dat end