;*************************************************************************************** ;* read_ti_mono_esr.pro ;* ;* read ti file and make ASCII files for each anntena position. ;* need monoesr.date ;* ;* Version 1.0 December 1, 2000 Made ;+ 1.1 February 22, 2001 Last edition ;*************************************************************************************** ; sample for monoesr.date ;980921 <- date ;_lpsugi <- extention ;lp <--ac or lp ; pro print_proname,proname date='February 22, 2001: V1.1 ' & s='-----' & s2=' ' print,' ' & print,s,s2,proname,s2,date,s2,s & print,' ' end pro make_output_arrays,nend,numalt,time_all,altstandard,alt_all,temp_av, $ temp_sigma,temp_n,temp_all,temperr_all,latall,lonall,qmono_all i=numalt time_all=intarr(nend) & alt_all=fltarr(4,i,nend) ;qmono_all=intarr(4,i,nend) & qmono_all(*,*,*)=-999 ; if -999 remains, it means no data. temp_all=intarr(4,i,nend) & temp_av=fltarr(i,nend) temp_sigma=fltarr(i,nend) & temperr_all=intarr(4,i,nend) temp_n=intarr(i,nend) & latall=intarr(4,i,nend) & lonall=intarr(4,i,nend) qmono_all=intarr(4,i,nend) end function check_time,t,ist,iet i=0 if t ge ist and t le iet then i=1 return,i end pro read_data,file,numalt,nend,time_all,altstandard,alt_all,temp_av,temp_sigma,temp_n,temp_all,$ temperr_all,latall,lonall,qmono_all openr,1,file & print,'----- Open (r) = ',file ;i1=long(n_elements(temp_all(0,*,0))) ; altitute ;i2=long(n_elements(temp_all(0,0,*))) ; time i1=0l & i2=0l readu,1,i1,i2 numalt=i1 & nend=i2 make_output_arrays,nend,numalt,time_all,altstandard,alt_all,temp_av, $ temp_sigma,temp_n,temp_all,temperr_all,latall,lonall,qmono_all altstandard=fltarr(numalt) readu,1,time_all,altstandard,alt_all,temp_av,temp_sigma,temp_n,temp_all,$ temperr_all,latall ,lonall,qmono_all & close,1 end pro set_tail,i,tail case i of 0:tail='.V_1' 1:tail='.W_2' 2:tail='.WM_3' 3:tail='.FA_4' endcase end pro read_date,date,path,year,ext2,aclp ; ext2 is new on July 24, 2000 ; aclp is new on October 28, 2000 machine='stesun6' ;openr,1,'machine.dat' & readf,1,machine & close,1 & print,machine date=0l if machine eq 'stesun6' then begin openr,1,'monoesr.date' & readf,1,format='(I6)',date ext2='no' & if EOF(1) ne 1 then readf,1,ext2 aclp='ac' if EOF(1) ne 1 then readf,1,aclp k=strpos(ext2,';') if k ne -1 then begin temp=strmid(ext2,0,k-1) & ext2=strcompress(temp,/REMOVE_ALL) endif close,1 year='19'+strcompress(string(date/10000),/REMOVE_ALL) path='/work14/'+year+'/' path='./' & print,'data path = ',path endif else path='./' end ;Aug 4, 1997 function its,i s=strcompress(string(i),/REMOVE_ALL) return,s end ;------------------------------------------------------------------- ; MAIN, Main, main ; ;------------------------------------------------------------------- proname='read_ti_mono_esr.pro' & print_proname,proname ext3='NO' ; you can add special extension read_date,date,path,year,ext2,aclp & cp='cp2l' sdate0=its(date) readfile='ti'+sdate0+cp+'_esr'+ext2+ext3+'.dat' ; read file if ext3 eq 'NO' then readfile='ti'+sdate0+cp+'_esr'+ext2+'.dat' ; read file read_data,readfile,numalt,nend,time_all,altstandard,alt_all,temp_av,temp_sigma,temp_n,temp_all,$ temperr_all,latall ,lonall,qmono_all ;------- read end --------------------------------------------------- ist=2400+600 iet=2400+1200 ist=0 iet=30000l time=time_all & date1=long(sdate0) mod 10000 t=(time/60)*100 + (time mod 60) d1=t/2400 & date=date1 + d1 & time2=t mod 2400 str1='(I5,I5,f7.1,I6,I7,2I5)' str1='(I5,I5,I5,f7.1,I6,I7,2I5)' for i=0,3 do begin set_tail,i,tail file='ti'+sdate0+cp+'_esr'+ext2+ext3+tail+'.das' if ext3 eq 'NO' then file='ti'+sdate0+cp+'_esr'+ext2+tail+'.das' openw,1,file & print,'----- Open (w) = ',file printf,1,'Format = '+str1+': qual=1 should be used only: -32768 stands for Inf.' printf,1,'Altitude in km, Ti and Tierr in K, Lat and Lon in 0.01 deg.' printf,1,' Date Time qual. Alt. Ti Tierr Lat Lon' ;printf,1,' (UT) (km) (K) (K) deg. ' q=reform(qmono_all(i,*,*)) ti=reform(temp_all(i,*,*)) tierr=reform(temperr_all(i,*,*)) lat0=reform(latall(i,*,*)) lon0=reform(lonall(i,*,*)) alt0=reform(alt_all(i,*,*)) nalt=n_elements(alt0(*,0)) ntime=n_elements(time_all) for j=0,ntime-1 do begin ; print,'j=',its(j) k=0 & iend=0 while k lt nalt and iend ne 1 do begin time=time_all(j) & t=(time/60)*100 + (time mod 60) if check_time(t,ist,iet) then $ printf,1,format=str1,date(j),time2(j),q(k,j),alt0(k,j),ti(k,j),tierr(k,j),lat0(k,j),lon0(k,j) ; if check_time(t,ist,iet) then $ ; print,format=str1,(t mod 2400),q(k,j),alt0(k,j),ti(k,j),tierr(k,j),lat0(k,j),lon0(k,j) ; if alt0(k,j) ge 300 then iend=1 k=k+1 endwhile endfor close,1 endfor ; loop of i end