|
NCEPLIBS-w3emc
2.11.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. More... | |
| 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. |