5 integer,
intent(in) :: nbits
6 real(4),
intent(out) :: compress_err
7 real(4) dataMin, dataMax, scale_fact, offset
9 if (nbits <= 0 .or. nbits > 31)
then
14 datamax = maxval(datain); datamin = minval(datain)
19 scale_fact = (datamax - datamin) / (2**nbits-1); offset = datamin
20 dataout = scale_fact*(nint((datain - offset) / scale_fact)) + offset
21 compress_err = maxval(abs(datain-dataout))