function freq_write_bin, master_bin,output_bin, $ time_mark, freq_mark, freq_data, debug=debug ;modified by G. Burgess 11/6/2001 for 'freq' and 'freq_mark' !quiet = 1 ; turn off message infile = master_bin unit1 = 1 unit2 = 2 openr, unit1, infile ;, /get_lun openw, unit2, output_bin ;, /get_lun firstbyte = lonarr(1) lastbyte = lonarr(1) ; read and write the header record header = lonarr(40) readu, unit1,firstbyte,header,lastbyte writeu, unit2,firstbyte,header,lastbyte ; read and write the frequency marker records freq_time = dblarr(2) for j=0, 21 do begin readu, unit1, firstbyte, freq_time, lastbyte freq_time[0] = freq_mark[j] freq_time[1] = time_mark[j] * 1000.0 freq_time = swap_endian(freq_time) writeu, unit2, firstbyte, freq_time, lastbyte endfor ; read and write the number of colums and rows column_row = {col: 1L, row: 1L} readu, unit1, firstbyte, column_row, lastbyte writeu, unit2, firstbyte, column_row, lastbyte column_row = swap_endian(column_row) ; read and write the delay time and apparant range time_range = dblarr(column_row.row) readu, unit1, firstbyte, time_range, lastbyte writeu, unit2, firstbyte, time_range, lastbyte appar_range = dblarr(column_row.row) readu, unit1, firstbyte, appar_range, lastbyte writeu, unit2, firstbyte, appar_range, lastbyte ; read and print the ionogram ionogram = {d: dblarr(2), b: bytarr(column_row.row)} freq_iono = dblarr(column_row.col) time_iono = dblarr(column_row.col) isis = bytarr(column_row.col, column_row.row) for i = 0, column_row.col-1 do begin readu, unit1, firstbyte, ionogram, lastbyte ionogram = swap_endian(ionogram) ; time_iono(i) = ionogram.d(0) ; freq_iono(i) = ionogram.d(1) ; for j = 0, column_row.row-1 do isis(i, j) = ionogram.b(j) freq_iono(i) = freq_data(i) ionogram.d(1) = freq_iono(i) ionogram = swap_endian(ionogram) writeu, unit2, firstbyte, ionogram, lastbyte endfor close,unit1 close,unit2 !quiet = 0; turn messages back on return, 1 end