@C:\Users\robgillies\SuperDARN\code\time.pro @C:\Users\robgillies\SuperDARN\code\rprm.pro @C:\Users\robgillies\SuperDARN\code\oldfit.pro @C:\Users\robgillies\SuperDARN\code\genlib.pro @C:\Users\robgillies\SuperDARN\code\fit.pro @C:\Users\robgillies\SuperDARN\code\datamap.pro @C:\Users\robgillies\SuperDARN\code\fit_reduce.pro @C:\Users\robgillies\SuperDARN\code\fit_clipped.pro @C:\Users\robgillies\SuperDARN\code\read_fit_data.pro pro SDdatagrab, filename,gate1, gate2, beam,timeint,velret ;spawn, 'cp '+filename+' .' ;spawn,'gunzip *fitacf.gz' ;filename2='*.fitacf*';'*.C0.'+radar+'.fit*' ;;;;;;;;;;;;;;change this back to *.fitacf* for new files ;spawn,'cp '+path+time+'*.C0.'+radar+'.fit*'+ ' /home/rgillies/SDARN_freqshifting/allshifts/' ;files=file_search(filename2,count=filecount) print, 'file:', filename beam_num=-1;beam ;this selects all beams (choose number otherwise) max_range=75; this sets the maximum range to seventy range gates read_fit_data,fname=filename,prm_=prm_,fit_=fit_,beam=beam_num,max_range=max_range rows=n_elements(prm_) par1=prm_ par2=fit_ ;spawn, 'rm *.fit*' num=n_elements(par1) numavg=make_array(24*60/timeint) velavg=make_array(24*60/timeint) for g=gate1, gate2 do begin for i=0, num-1 do begin ngrid=0 if par1(i).bmnum eq 6 and par2(i).v(g) ne 0. then begin if par2(i-1).v(g-1) ne 0. then ngrid=ngrid+1 if par2(i-1).v(g) ne 0. then ngrid=ngrid+1 if par2(i-1).v(g+1) ne 0. then ngrid=ngrid+1 if par2(i).v(g-1) ne 0. then ngrid=ngrid+1 if par2(i).v(g+1) ne 0. then ngrid=ngrid+1 if par2(i+1).v(g-1) ne 0. then ngrid=ngrid+1 if par2(i+1).v(g) ne 0. then ngrid=ngrid+1 if par2(i+1).v(g+1) ne 0. then ngrid=ngrid+1 if ngrid ge 4 then begin velavg(uint(par1(i).time.hr*60+par1(i).time.mt)/timeint)= velavg(uint(par1(i).time.hr*60+par1(i).time.mt)/timeint)+par2(i).v(g) numavg(uint(par1(i).time.hr*60+par1(i).time.mt)/timeint)= numavg(uint(par1(i).time.hr*60+par1(i).time.mt)/timeint)+1 endif endif endfor endfor for t=0, 24*60/timeint-1 do begin if numavg(t) gt 0 then velavg(t)=velavg(t)/numavg(t) if numavg(t) eq 0 then velavg(t)=0. print, t, velavg(t), numavg(t) endfor velret=velavg end pro sdvellist;,hourw,minw filename='E:\SuperDARN\data\20150829.C0.cly.fitacf' stlat=70.49 stlon=360.-68.50 ;laarr=make_array(16*75*3600) ;loarr=make_array(16*75*3600) ;gfl=make_array(16*75*3600) ;pow=make_array(16*75*3600) ;vel=make_array(16*75*3600) ;wid=make_array(16*75*3600) ;elev=make_array(16*75*3600) ;stla=make_array(16*75*3600) ;stlo=make_array(16*75*3600); ;beamazi=make_array(16*75*36;00) ;beamnum=make_array(16*75*36;00) ;rangegate=make_array(16*75*3600) ;hourarr=make_array(16*75*3600) ;minarr=make_array(16*75*3600) k=long(0) beam_num=-1;beam ;this selects all beams (choose number otherwise) max_range=75; this sets the maximum range to seventy range gates read_fit_data,fname=filename,prm_=prm_,fit_=fit_,beam=beam_num,max_range=max_range rows=n_elements(prm_) par1=prm_ par2=fit_ openu,sdf,'E:\SuperDARN\data\20150829_cly.txt',/append,/get_lun for i=long(0),n_elements(par1)-1 do begin ;if minw eq par1(i).time.mt and hourw eq par1(i).time.hr and par1(i).bmnum le 9 then begin if par1(i).time.hr ge 12 and par1(i).bmnum le 9 then begin ; for j=0,n_elements(par2(i).p_l)-1 do begin for j=18, 23 do begin rangle=(par1(i).rsep*j+par1(i).frang)/6438. bazi=par1(i).bmazm latt=acos(cos((90.-stlat)*!pi/180.)*cos(rangle)+sin((90.-stlat)*!pi/180.)*sin(rangle)*cos(bazi*!pi/180.)) lont=acos((cos(rangle)-cos((90.-stlat)*!pi/180.)*cos(latt))/sin((90.-stlat)*!pi/180.)/sin(latt)) laarr=90.-latt*180./!pi loarr=stlon+lont*180./!pi stla=stlat stlo=stlon if bazi lt 0. then loarr=stlon-lont*180./!pi pow=par2(i).p_l(j) vel=par2(i).v(j) wid=par2(i).w_L(j) elev=par2(i).elv(j) beamazi=bazi beamnum=par1(i).bmnum rangegate=j hourarr=uint(par1(i).time.hr) minarr=uint(par1(i).time.mt) if vel ne 0. then printf,sdf, hourarr,minarr, stla,stlo,laarr,loarr,beamazi,beamnum,rangegate,vel,wid,pow,format='(i02,1x,i02,1x,f6.2,1x,f7.2,1x,f6.2,1x,f7.2,1x,f8.2,1x,i2,1x,i2,1x,f8.2,1x,f8.2,1x,f6.2)' if vel ne 0. then print,hourarr,minarr, stla,stlo,laarr,loarr,beamazi,beamnum,rangegate,vel,wid,pow k=k+1 endfor endif endfor close,sdf free_lun,sdf ;openu,sd,'E:\SuperDARN\data\20150829_cly.txt',/append,/get_lun ; for i=0, n_elements(laarr)-1 do begin ; if vel(i) ne 0. then printf,sd, hourw,minw, stla(i),stlo(i),laarr(i),loarr(i),beamazi(i),beamnum(i),rangegate(i),vel(i),wid(i),pow(i),format='(i02,1x,i02,1x,f6.2,1x,f7.2,1x,f6.2,1x,f7.2,1x,f8.2,1x,i2,1x,i2,1x,f8.2,1x,f8.2,1x,f6.2)' ; if vel(i) ne 0. then print, hourw,minw, stla(i),stlo(i),laarr(i),loarr(i),beamazi(i),beamnum(i),rangegate(i),vel(i),wid(i),pow(i) ; endfor ;close,sd ; free_lun,sd end pro sdvellistbatch for h=12,23 do begin for m=0,59 do begin sdvellist,h,m endfor endfor end pro clydelatlon stlat=70.49 stlon=291.5 stbs=-54./2.-57.24/2. for i=0, 23 do begin latw=74.375-i*0.25 lonw=265.125-i*0.25 for b=0, 15 do begin bazi=(b-8)*3.24+3.24/2.+stbs for r=0, 75 do begin rangle=(45.*r+180.)/6438. latt=acos(cos((90.-stlat)*!pi/180.)*cos(rangle)+sin((90.-stlat)*!pi/180.)*sin(rangle)*cos(bazi*!pi/180.)) lont=acos((cos(rangle)-cos((90.-stlat)*!pi/180.)*cos(latt))/sin((90.-stlat)*!pi/180.)/sin(latt)) laarr=90.-latt*180./!pi loarr=stlon+lont*180./!pi if bazi lt 0. then loarr=stlon-lont*180./!pi if abs(laarr-latw) lt 0.75 and abs(loarr-lonw) lt 0.75 then print, i, b, r, laarr, loarr, laarr-latw,loarr-lonw endfor endfor endfor end