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

# aecunpack.c(3)

Unpack a data field that was packed with AEC compression.

## NAME

aecunpack.c - Unpack a data field that was packed with AEC compression.

## SYNOPSIS

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

### Functions

**g2int** **aecunpack** (unsigned char \*cpack, **g2int** len, **g2int** \*idrstmpl, **g2int** ndpts, float \*fld)\
 Unpack AEC compressed data into an array of floats, using info from the GRIB2 Data Representation `Template 5.42`.  static int **aecunpack\_int** (unsigned char \*cpack, **g2int** len, **g2int** \*idrstmpl, **g2int** ndpts, void \*fld, int fld\_is\_double, int verbose)\
 Unpack AEC compressed data into an array of floats or doubles, using info from the GRIB2 Data Representation `Template 5.42`.  int **g2c\_aecunpackd** (unsigned char \*cpack, size\_t len, int \*idrstmpl, size\_t ndpts, double \*fld)\
 Unpack AEC compressed data into an array of doubles, using info from the GRIB2 Data Representation `Template 5.42`.  int **g2c\_aecunpackf** (unsigned char \*cpack, size\_t len, int \*idrstmpl, size\_t ndpts, float \*fld)\
 Unpack AEC compressed data into an array of floats, using info from the GRIB2 Data Representation `Template 5.42`.

## Detailed Description

Unpack a data field that was packed with AEC compression.

stream

**Author**

Eric Engle

**Date**

2023-10-16

Definition in file **aecunpack.c**.

## Function Documentation

### g2int aecunpack (unsigned char \* cpack, g2int len, g2int \* idrstmpl, g2int ndpts, float \* fld)

Unpack AEC compressed data into an array of floats, using info from the GRIB2 Data Representation `Template 5.42`.

**Parameters**

*cpack* The packed data. \
 *len* The length of the packed data. \
 *idrstmpl* Pointer to array of values for Data Representation `Template 5.42`. \
 *ndpts* The number of data values to unpack. \
 *fld* A pointer that gets the unpacked data values as an array of float.

**Returns**

- •

  **G2C\_NOERROR** No error.

**Author**

Eric Engle

**Date**

2023-10-16

Definition at line **161** of file **aecunpack.c**.

References **aecunpack\_int()**, and **LOG**.

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

### static int aecunpack\_int (unsigned char \* cpack, g2int len, g2int \* idrstmpl, g2int ndpts, void \* fld, int fld\_is\_double, int verbose)` [static]`

Unpack AEC compressed data into an array of floats or doubles, using info from the GRIB2 Data Representation `Template 5.42`. This function is used by **aecunpack()**, **g2c\_aecunpackf()**, and **g2c\_aecunpackd()**.

**Parameters**

*cpack* The packed data. \
 *len* The length of the packed data. \
 *idrstmpl* Pointer to array of values for Data Representation `Template 5.42`. \
 *ndpts* The number of data values to unpack. \
 *fld* A pointer that gets the unpacked data values. \
 *fld\_is\_double* Non-zero if the data are to be unpacked into a double array, otherwise data will be unpacked into a float array. \
 *verbose* If non-zero, error messages will be printed in case of error. Otherwise, error codes will be return but no error messages printed. Calls to the original g2c API may cause error messages to be printed in case of error. For the new g2c\_ API, no error messages will be printed - instead an error code will be returned. Call **g2c\_strerror()** to get the error message for any error code.

**Returns**

- •

  **G2C\_NOERROR** No error.

- •

  **G2C\_ENOMEM** Out of memory.

**Author**

Eric Engle

**Date**

2023-10-16

Definition at line **43** of file **aecunpack.c**.

References **dec\_aec()**, **G2C\_ENOMEM**, **G2C\_NOERROR**, **gbits()**, **int\_power()**, **LOG**, and **rdieee()**.

Referenced by **aecunpack()**, **g2c\_aecunpackd()**, and **g2c\_aecunpackf()**.

### int g2c\_aecunpackd (unsigned char \* cpack, size\_t len, int \* idrstmpl, size\_t ndpts, double \* fld)

Unpack AEC compressed data into an array of doubles, using info from the GRIB2 Data Representation `Template 5.42`. This function is the V2 API version of **aecunpack()** for doubles.

**Parameters**

*cpack* The packed data. \
 *len* The length of the packed data. \
 *idrstmpl* Pointer to array of values for Data Representation `Template 5.42`. \
 *ndpts* The number of data values to unpack. \
 *fld* A pointer that gets the unpacked data values as an array of double.

**Returns**

- •

  **G2C\_NOERROR** No error.

- •

  **G2C\_ENOMEM** Out of memory.

**Author**

Eric Engle

**Date**

2023-10-16

Definition at line **232** of file **aecunpack.c**.

References **aecunpack\_int()**, **G2C\_AEC\_DRS\_TEMPLATE\_LEN**, and **LOG**.

### int g2c\_aecunpackf (unsigned char \* cpack, size\_t len, int \* idrstmpl, size\_t ndpts, float \* fld)

Unpack AEC compressed data into an array of floats, using info from the GRIB2 Data Representation `Template 5.42`.

**Parameters**

*cpack* The packed data. \
 *len* The length of the packed data. \
 *idrstmpl* Pointer to array of values for Data Representation `Template 5.42`. \
 *ndpts* The number of data values to unpack. \
 *fld* A pointer that gets the unpacked data values as an array of float.

**Returns**

- •

  **G2C\_NOERROR** No error.

- •

  **G2C\_ENOMEM** Out of memory.

**Author**

Eric Engle

**Date**

2022-10-16

Definition at line **194** of file **aecunpack.c**.

References **aecunpack\_int()**, **G2C\_AEC\_DRS\_TEMPLATE\_LEN**, and **LOG**.

## Author

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