NCEPLIBS-g2c  1.6.4
simpack.c File Reference

Pack up a data field using the simple packing algorithm. More...

#include <stdlib.h>
#include <math.h>
#include "grib2.h"

Go to the source code of this file.

Functions

void simpack (g2float *fld, g2int ndpts, g2int *idrstmpl, unsigned char *cpack, g2int *lcpack)
 This subroutine packs up a data field using the simple packing algorithm as defined in the GRIB2 documention. More...
 

Detailed Description

Pack up a data field using the simple packing algorithm.

Author
Stephen Gilbert
Date
2002-11-06

Definition in file simpack.c.

Function Documentation

◆ simpack()

void simpack ( g2float fld,
g2int  ndpts,
g2int idrstmpl,
unsigned char *  cpack,
g2int lcpack 
)

This subroutine packs up a data field using the simple packing algorithm as defined in the GRIB2 documention.

It also fills in GRIB2 Data Representation Template 5.0 with the appropriate values.

Parameters
fldContains the data values to pack.
ndptsThe number of data values in array fld.
idrstmplContains the array of values for [Data Representation Template 5.0](https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_temp5-0.shtml).
  • 0 Reference value - ignored on input - set by simpack routine.
  • 1 Binary Scale Factor - unchanged from input.
  • 2 Decimal Scale Factor - unchanged from input.
  • 3 Number of bits used to pack data, if value is > 0 and <= 31. If this input value is 0 or outside above range then the num of bits is calculated based on given data and scale factors.
  • 4 Original field type - currently ignored on input. Data values assumed to be reals. Set to 0 by simpack routine.
cpackThe packed data field
lcpacklength of packed field starting at cpack.
Author
Stephen Gilbert
Date
2002-11-06

Definition at line 34 of file simpack.c.

References int_power(), mkieee(), sbit(), and sbits().

Referenced by g2_addfield(), and specpack().