;|-----------------------------------------------------------------| ;| | ;| Subroutine DUCT | ;| | ;| extracts basic parameters from Ddata. | ;| | ;|-----------------------------------------------------------------| pro duct @gia_var.inc time=fltarr(512*ddimsizes(1)) timehr=lonarr(512*ddimsizes(1)) timemin=lonarr(512*ddimsizes(1)) timesec=lonarr(512*ddimsizes(1)) N=fltarr(512*ddimsizes(1)) LogN=fltarr(512*ddimsizes(1)) DUTS=strarr(512*ddimsizes(1)) dut=fltarr(ddimsizes(1)*ddimsizes(0)) duthr=lonarr(ddimsizes(1)*ddimsizes(0)) dutmin=lonarr(ddimsizes(1)*ddimsizes(0)) dutsec=lonarr(ddimsizes(1)*ddimsizes(0)) dutx=strarr(ddimsizes(1)*ddimsizes(0)) ;DUT=fltarr(ddimsizes(1)*ddimsizes(0)) DILAT=fltarr(ddimsizes(1)*ddimsizes(0)) DMLT=fltarr(ddimsizes(1)*ddimsizes(0)) DALT=fltarr(ddimsizes(1)*ddimsizes(0)) DGLAT=fltarr(ddimsizes(1)*ddimsizes(0)) DGLON=fltarr(ddimsizes(1)*ddimsizes(0)) icount=long(-1) incr=1000./64. l_step=72 ; ddimsizes(1)..L_step is the Legend Step Orbit='Orbit #: '+strcompress(fix(ddata(4,0)),/remove_all) max3=-1.e3 min3=+1.e3 ;print,'data dimensions are ',ddimsizes for j=0,ddimsizes(1)-1 do begin for i=167,678 do begin icount=icount + 1 time(icount)= ddata(2,j)+ddata(165,j)+(i-167)*incr timehr(icount)=fix(time(icount)/3600000.) timemin(icount)=(time(icount)/1000.-timehr(icount)*3600)/60 timesec(icount)=time(icount)/1000.-(timehr(icount)*3600+timemin(icount)*60) DUTS(icount)=strcompress(timehr(icount),/remove_all)+':'+strcompress(timemin(icount),/remove_all)+':'+strcompress(timesec(icount),/remove_all) N(icount)= ddata(i,j) if (N(icount) gt max3) then max3=N(icount) if (N(icount) lt min3) then min3=N(icount) endfor endfor for j=0,ddimsizes(1)-1 do begin dut(j)=ddata(2,j) duthr(j)=fix(dut(j)/3600000.) dutmin(j)=(dut(j)/1000.-duthr(j)*3600)/60 dutsec(j)=dut(j)/1000.-(duthr(j)*3600+dutmin(j)*60) dutx(j)=strcompress(duthr(j),/remove_all)+':'+strcompress(dutmin(j),/remove_all)+':'+strcompress(dutsec(j),/remove_all) endfor for j=0,ddimsizes(1)-2 do begin col=j*ddimsizes(0) dut(col)=ddata(2,j) ; UT dutlen=dut(col+1)-dut(col) dalt(col)=ddata(9,j) ; Altitude daltlen=dalt(col+1)-dalt(col) dglat(col)=ddata(10,j) ; Latitude dglatlen=dglat(col+1)-dglat(col) dglon(col)=ddata(11,j) ; Longitude dglonlen=dglon(col+1)-dglon(col) dmlt(col)=ddata(12,j) ; MLT dmltlen=dmlt(col+1)-dmlt(col) dilat(col)=ddata(13,j) ; Invariant Latitude dilatlen=dilat(col+1)-dilat(col) for i=1,ddimsizes(0)-1 do begin dut(col+1)=dut(col)+dutlen*i/ddimsizes(0) dalt(col+1)=dalt(col)+daltlen*i/ddimsizes(0) dglat(col+1)=dglat(col)+dglatlen*i/ddimsizes(0) dglon(col+1)=dglon(col)+dglonlen*i/ddimsizes(0) dmlt(col+1)=dmlt(col)+dmltlen*i/ddimsizes(0) dilat(col+1)=dilat(col)+dilatlen*i/ddimsizes(0) endfor endfor ; Get rid of these and see if it still works the same way... ;DUTS=DUTS(0:icount-1) ;String (12:22:34) ;N=N(0:icount-1) ;time=time(0:icount-1) ; UT in Msec ;time2=time(81578:122367) ; Keep the rest please LogN = alog10(N) index=where(time gt 21100000 and time lt 21500000 ) ;index2=where(i gt 35 and i lt 85) ; plot,time(index),N(index),yrange=[2400000,2800000],xrange=[21100000,21500000] ; xyouts,21500000,2780000,Orbit, charsize=1.5,alignment=1 end;---------------------------------------------------------------------------------------