def parse_indy(str,meta)
ne = meta[:nelement]
np = meta[:nplane]
nt = meta[:nvalidtime]
nm = meta[:nmember]
hash = Hash.new
size = nm*nt*np*ne
na = endian( NArray.to_na(str[0,8*size], NArray::INT, 2, ne, np, nt, nm) )
na_long = NArray.object(2, ne, np, nt, nm)
mask = na.lt(0)
na_long[true,true,true,true,true] = na
na_long[mask] = (1<<32)+na_long[mask]
na_long = na_long[0,false]*(1<<32) + na_long[1,false]
mask = na_long.ge(1<<63)
na_long[mask] = na_long[mask]-(1<<64)
hash[:record_pos] = na_long
return hash
end