---
name: "comunpack.c"
section: "3"
platform: "linux"
package: "libg2c-dev"
version: "2.1.0-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/comunpack.c"
---

# comunpack.c(3)

Unpack a data field that was packed using a complex packing algorithm as defined in the GRIB2 documention.

## NAME

comunpack.c - Unpack a data field that was packed using a complex packing algorithm as defined in the GRIB2 documention.

## SYNOPSIS

`#include 'grib2_int.h'`\
 `#include <stdio.h>`\
 `#include <stdlib.h>`\

### Functions

int **comunpack** (unsigned char \*cpack, **g2int** lensec, **g2int** idrsnum, **g2int** \*idrstmpl, **g2int** ndpts, float \*fld)\
 Unpack a data field that was packed using a complex packing algorithm, using info from the GRIB2 Data Representation `Template 5.2` or `Template 5.3`.

## Detailed Description

Unpack a data field that was packed using a complex packing algorithm as defined in the GRIB2 documention.

**Author**

Stephen Gilbert

**Date**

2002-10-29

Definition in file **comunpack.c**.

## Function Documentation

### int comunpack (unsigned char \* cpack, g2int lensec, g2int idrsnum, g2int \* idrstmpl, g2int ndpts, float \* fld)

Unpack a data field that was packed using a complex packing algorithm, using info from the GRIB2 Data Representation `Template 5.2` or `Template 5.3`. Supports GRIB2 complex packing templates with or without spatial differences (i.e. DRTs 5.2 and 5.3).

### Program History Log

Date   Programmer   Comments    2002-10-29   Gilbert   Initial    2004-12-16   Gilbert   Added test (from Arthur Taylor/MDL) verifying group widths/lengths

**Parameters**

*cpack* pointer to the packed data field. \
 *lensec* length of section 7 (used for error checking). \
 *idrsnum* Data Representation Template number. Must equal 2 or 3. \
 *idrstmpl* pointer to the array of values for Data Representation Template 5.2 or 5.3 \
 *ndpts* The number of data values to unpack \
 *fld* Contains the unpacked data values. Must be allocated with at least ndpts \* sizeof(float) bytes before calling this routine.

**Returns**

0 for success, error code otherwise.

**Author**

Stephen Gilbert

**Date**

2002-10-29

Definition at line **41** of file **comunpack.c**.

References **gbit()**, **gbits()**, **int\_power()**, **LOG**, and **rdieee()**.

Referenced by **g2c\_unpack7\_int()**.

## Author

Generated automatically by Doxygen for NCEPLIBS-g2c from the source code.
