Here is IDL code: pro read_binary_file
file = "3B42RT.2014010318.7.bin" num_lon = 1440 num_lat = 480 data = {header: bytarr(num_lon*2), precip: intarr(num_lon,num_lat), precip_error: intarr(num_lon,num_lat), $ source_of_estimate: bytarr(num_lon,num_lat), precip_uncal: intarr(num_lon,num_lat)} close, 1 openr, 1, file readu, 1, data close, 1 precip = swap_endian(data.precip) print, precip end My attempt in Python is here: fname = '3B42RT.2014010318.7.bin' num_lon = 1440 num_lat = 480 with open(fname, 'rb') as fi: contents = fi.read() precip = struct.unpack_from('>'+str(num_lon*num_lat)+'I', contents, offset = num_lon*2) precip = np.array(data,dtype=int) precip data But, the results obtained from two codes above are not same. The IDL code is correct, but what is wrong with my python code? Here is binary file I was working with: ftp://trmmopen.gsfc.nasa.gov/pub/merged/3B42RT/3B42RT.2014010318.7.bin.gz cleo
-- https://mail.python.org/mailman/listinfo/python-list