NCEPLIBS-w3emc 2.12.0
|
Form and pack positive, scaled differences. More...
Go to the source code of this file.
Functions/Subroutines | |
subroutine | w3fi59 (field, npts, nbits, nwork, npfld, iscale, len, rmin) |
Converts an array of single precision real numbers into an array of positive scaled differences (number(s) - minimum value), in integer format and packs the argument-specified number of significant bits from each difference. | |
subroutine w3fi59 | ( | real, dimension(*) | field, |
npts, | |||
nbits, | |||
integer, dimension(*) | nwork, | ||
character*1, dimension(*) | npfld, | ||
iscale, | |||
len, | |||
rmin | |||
) |
Converts an array of single precision real numbers into an array of positive scaled differences (number(s) - minimum value), in integer format and packs the argument-specified number of significant bits from each difference.
Program history log:
[in] | FIELD | Array of floating point data for processing (real) |
[in] | NPTS | Number of data values to process in field (and nwork) where, npts > 0 |
[in] | NBITS | Number of significant bits of processed data to be packed where, 0 < nbits < 32+1 |
[out] | NWORK | Array for integer conversion (integer) if packing performed (see note below), the array will contain the pre-packed, right adjusted, scaled, integer differences upon return to the user. (the user may equivalence field and nwork. Same size.) |
[out] | NPFLD | Array for packed data (character*1) (dimension must be at least (nbits * npts) / 64 + 1) |
[out] | ISCALE | Power of 2 for restoring data, such that datum = (difference * 2**iscale) + rmin |
[out] | LEN | Number of packed bytes in npfld (set to 0 if no packing) where, len = (nbits * npts + 7) / 8 without remainder |
[out] | RMIN | Minimum value (reference value subtracted from input data) this is a cray floating point number, it will have to be converted to an ibm370 32 bit floating point number at some point in your program if you are packing grib data. |