pro tykw_rd_stt,file,rdstt ;+ ; NAME: ; TYKW_RD_STT ; ; PURPOSE: ; This procedure is for reading the status data of TYKW. ; ; CALLING SEQUENCE: ; tykw_rd_stt,file,rdstt ; ; INPUTS: ; file: file name of TYKW status data ; ; OPTIONAL INPUT KEYWORDS: ; ; OUTPUTS: ; rdstt: structure of the status data ; ; HISTORY: ; 4/6/79 ver.0.0 K. Shibasaki as fortran program ; Sep. 09, 1994 ver.1.0 M. Nishio ; Jan. 10, 1995 ver.2.0 M. Nishio ; Apr. 13, 1995 ver.3.2 M. Nishio ; Apr. 13, 1995 ver.4.0 M. Nishio ; May. 23, 1995 ver.5.0 M. Nishio ; May 01, 1995 ver.5.2 M. Nishio ; Apr. 25, 1995 ver.5.0 M. Nishio ; ; 1999-01-12 ported to IDL by TY ; 2006-02-15 added swap_endian for x86 system by MS ; 2013-09-02 added swap_endian for x86_64 system by MS ; ;- rdstt0 = { rstt, ichng: lonarr(2,32,4,5), iachng: lonarr(2,32,4,5)} if ((!version.arch eq 'x86') or (!version.arch eq 'x86_64'))then begin ; swap endian openr, uin, file,/get_lun,/f77_unformatted,/swap_endian readu, uin, rdstt0 free_lun,uin endif else begin openr, uin, file,/get_lun,/f77_unformatted readu, uin, rdstt0 free_lun,uin endelse ; reconstruct tmp = { stt, freq: long(0), ichng: lonarr(5,32,2), iachng: lonarr(5,32,2) } mfreqx=4 rdstt = replicate( {stt} , mfreqx ) for mfreq=0,mfreqx-1 do begin for m=0,1 do begin rdstt(mfreq).ichng(*,*,m)=transpose(reform(rdstt0.ichng(m,*,mfreq,*))) rdstt(mfreq).iachng(*,*,m)=transpose(reform(rdstt0.iachng(m,*,mfreq,*))) endfor endfor rdstt(0).freq=9400 rdstt(1).freq=3750 rdstt(2).freq=2000 rdstt(3).freq=1000 return end