FUNCTION dustem_read_chrg,file,silent=silent ;CAUTION: the data is read as strings ... st='' Nmax=10000L sts=strarr(Nmax) openr,unit,file,/get_lun ;==read comments str='' comments=[''] first_char='#' Ncomments=0L WHILE first_char EQ '#' DO BEGIN readf,unit,str first_char=strmid(str,0,1) comments=[comments,str] IF first_char EQ '#' THEN Ncomments=Ncomments+1 ENDWHILE comments=comments[1:*] IF Ncomments NE 0 THEN comments=comments[0:Ncomments-1] ;stop ;==read data ;last line in previous WHILE loop is first data tmp = [str] WHILE NOT EOF(unit) DO BEGIN readf, unit, str tmp = [tmp, str] ENDWHILE ;==save and return structure full_st={file:file,fchrg:tmp,comments:comments} close,unit free_lun,unit RETURN,full_st END