Here is the background story. The digital data in the Neuromag systems are either 16-bit or 32-bit integers, depending on the precision of the A/D converters. These readings are directly stored to the fif files when the data are acquired. The 'range' field of the channel information converts these readings to Volts in the electronics and 'cal' converts these voltage values to physical units (T, T/m, or V in EEG) in the sensors. Therefore, to avoid loosing precision, both range and cal should be kept at their original values when the data are saved as A/D converter values (integers). When floating point is used, range can be set to unity because there is no problem with the precision. In all cases, the data should be 'decalibrated' by the product of 'range' and 'cal' before writing.