function rdascii,lu,flnm,frame ; ; Read data from ascii file flnm, and return a frame structure: ; ; Four line header, to be used later as follows: ; line 1: fieldlab ; line 2: infolab ; line 3: histlab ; line 4: frame # ; on_ioerror,bad hdr = strarr(4) line = '' line = string(line,format="(a80)") nx=1 & ny=1 for i=0,3 do begin readf,lu,line hdr(i) = strtrim(line,2) endfor ; ; nx, xx: ; xlab = '' readf,lu,line nx = 0 reads,line,nx,xlab,format="(3x,i4,5x,a)" xx = fltarr(nx) if nx gt 1 then readf,lu,xx ; ; ny, yy: ; ylab = '' readf,lu,line ny = 0 reads,line,ny,ylab,format="(3x,i4,5x,a)" yy = fltarr(ny) if ny gt 1 then readf,lu,yy ; ; Now the data: ; zz = fltarr(nx,ny) readf,lu,zz ; frame = { $ hdr:hdr, $ nx:nx, $ xx:xx, $ xlab:xlab, $ ny:ny, $ yy:yy, $ ylab:ylab, $ zz:zz, $ toplab:hdr(0), $ infolab:hdr(1), $ botlab:hdr(2) } ; ; return,0 bad: print,'>>> rdascii: i/o error reading from file ',flnm,$ ' -- please try again' if nx eq 1 or ny eq 1 then begin print,'(Looks like this frame is single dimensioned (nx,ny=',$ nx,ny,')' print,' -- sorry, line plots are not yet available' endif return,1 end