I think it's a good idea to return np.float32 by default (although I'm not 100% sure because the default type in NumPy is np.float64).
If the file has 64bit values, however, they shouldn't be truncated by default.
So probably the default argument to read() should be format=None which should be changed appropriately within the function.
BTW, format may not be the best name choice for this parameter, maybe dtype would be rather what people would expect?