Man page - aecpack(3)
Packages contains this manual
- g2c_get_drs_template(3)
- sbits(3)
- cmplxpack(3)
- g2_unpack4.c(3)
- g2_info.c(3)
- reduce(3)
- g2c_get_msg(3)
- specpack(3)
- g2intu(3)
- int_power.c(3)
- bytes_to_bms(3)
- g2c_file_io_byte(3)
- dimid(3)
- idrtnum(3)
- g2ccsv.c(3)
- g2c_pngpackd(3)
- g2c_file_io(3)
- decenc_png.c(3)
- g2_miss.c(3)
- file(3)
- g2c_open_index1(3)
- g2_unpack2(3)
- g2int(3)
- pngunpack(3)
- specpack.c(3)
- g2cutil.c(3)
- g2c_rw_section6_metadata(3)
- g2_addgrid(3)
- g2c_next_g2cid(3)
- sec_len(3)
- g2c_inq_dim(3)
- jpcunpack.c(3)
- png_stream(3)
- maplen(3)
- minute(3)
- subcenter(3)
- g2c_inq(3)
- g2_unpack5.c(3)
- g2c_file_io_template(3)
- dec_aec(3)
- griddef(3)
- num_opt(3)
- g2num(3)
- decenc_openjpeg.c(3)
- g2c_file_io_ubyte(3)
- map(3)
- bytes_to_msg(3)
- g1num(3)
- jpcunpack_int(3)
- g2c_aecunpackd(3)
- num_local(3)
- pngpack_int(3)
- read_hdr_rec2(3)
- g2_addfield(3)
- aecpack.c(3)
- section_number(3)
- status(3)
- bytes_to_sec(3)
- g2_addfield.c(3)
- drstemplates.c(3)
- year(3)
- g2c_degrib2(3)
- g2_create.c(3)
- misspack(3)
- version(3)
- enc_aec(3)
- g2c_dec_jpeg2000(3)
- g2c_enc_jpeg2000(3)
- extgridtemplate(3)
- next(3)
- section_offset(3)
- g2c_open(3)
- read_msg_metadata(3)
- num_data_points(3)
- unpacked(3)
- jpcpack(3)
- igdtnum(3)
- g2_gribend(3)
- bytes_in_msg(3)
- g2c_file_io_ulonglong(3)
- discipline(3)
- dim(3)
- g2c_rw_section1_metadata(3)
- g2_create(3)
- free_metadata(3)
- g2c_open_index(3)
- g2c_find_table(3)
- g2_unpack7.c(3)
- g2c_csv_init(3)
- templatesgrid(3)
- g2c_log_section(3)
- g2c_csv_strsep(3)
- main(3)
- g2c_param_all(3)
- data_def(3)
- g2c_log_section1(3)
- aecunpack_int(3)
- g2_getfld(3)
- reduce.c(3)
- pack_gp(3)
- g2c_gbit_int(3)
- extpdstemplate(3)
- g2cio.c(3)
- g2c_inq_prod(3)
- sec1_len(3)
- g2c_file(3)
- g2c_start_index_record_lf(3)
- int_dec_jpeg2000(3)
- g2c_seekmsg(3)
- g2_addlocal(3)
- g2c_set_log_level(3)
- g2cat(3)
- gbits.c(3)
- g2c_get_pds_template(3)
- numoct_opt(3)
- g2c_aecpackd(3)
- simunpack.c(3)
- igdtlen(3)
- grib2.h(3)
- g2c_table(3)
- g2c_jpcunpackf(3)
- num(3)
- expanded(3)
- getgridtemplate(3)
- g2c_file_io_longlong(3)
- gbit(3)
- g2c_rw_section5_metadata(3)
- sig_ref_time(3)
- g2c_find_desc(3)
- g2c_write_index(3)
- month(3)
- g2_unpack1.c(3)
- idrtlen(3)
- g2c_free_tables(3)
- g2_getfld.c(3)
- decenc_aec.c(3)
- g2c_start_index1_record(3)
- fld(3)
- g2cinq.c(3)
- g2c_pngunpackd(3)
- g2c_file_io_uint(3)
- num_fields(3)
- g2cdegrib2.c(3)
- format_level(3)
- gtemplate(3)
- decenc_jpeg2000.c(3)
- g2c_add_file(3)
- f(3)
- source_grid_def(3)
- g2c_compare(3)
- g2_unpack6(3)
- msg(3)
- g2_unpack1(3)
- compack(3)
- g2c_start_index_record(3)
- g2c_file_io_short(3)
- g2c_inq_dim_info(3)
- bmap(3)
- len(3)
- g2c_get_datetime(3)
- g2_unpack4(3)
- master_version(3)
- ndpts(3)
- abbrev(3)
- igdtmpl(3)
- prod_def(3)
- comunpack(3)
- center(3)
- pdstemplates.c(3)
- hton64(3)
- field_num(3)
- simpack.c(3)
- g2_gribend.c(3)
- ipdtnum(3)
- g2c_jpcunpackd(3)
- type(3)
- title(3)
- rdieee(3)
- getdrstemplate(3)
- bytes_to_data(3)
- code(3)
- add_section(3)
- g2c_rw_section3_metadata(3)
- g2c_unpack7_int(3)
- extdrstemplate(3)
- dec_png(3)
- getpoly.c(3)
- specunpack(3)
- entry(3)
- num_messages(3)
- g2c_log_file(3)
- g2c_file_io_int(3)
- mkieee(3)
- cmplxpack.c(3)
- dec_jpeg2000(3)
- g2_addgrid.c(3)
- num_sections(3)
- getpoly(3)
- g2c_dec_png(3)
- g1ver(3)
- ibmap(3)
- sec(3)
- user_flush_data(3)
- g2c_jpcpackd(3)
- jpcpack_int(3)
- template_len(3)
- g2float(3)
- g2c_rw_section4_metadata(3)
- local_version(3)
- indicator(3)
- compack.c(3)
- g2c_get_pds_template_extension(3)
- seekgb(3)
- g2c_get_level_desc(3)
- g2c_enc_png(3)
- gbits(3)
- pngunpack.c(3)
- msg_num(3)
- bytes_to_local(3)
- pngpack.c(3)
- user_read_data(3)
- g2cprod.c(3)
- local(3)
- specunpack.c(3)
- jpcpack.c(3)
- day(3)
- g2c_close(3)
- add_msg(3)
- aecpack(3)
- ngrdpts(3)
- g2cparams.c(3)
- g2_unpack3(3)
- list_opt(3)
- template(3)
- pngpack(3)
- g2c_inq_msg(3)
- g2cid(3)
- mkieee.c(3)
- g2c_aecunpackf(3)
- g2cfile.c(3)
- value(3)
- g2_free.c(3)
- ipdtlen(3)
- g2_free(3)
- g2_info(3)
- g2_addlocal.c(3)
- idsectlen(3)
- g2c_get_prod(3)
- g2c_gbits_int(3)
- simunpack(3)
- int_power(3)
- enc_png(3)
- section1(3)
- idsect(3)
- g2c_strerror(3)
- g2c_pngunpackf(3)
- ntoh64(3)
- templatespds(3)
- g2disc(3)
- coord_list(3)
- idrtmpl(3)
- grib2_int.h(3)
- user_write_data(3)
- rdieee.c(3)
- aecunpack(3)
- g2c_file_io_ushort(3)
- g2_unpack2.c(3)
- hour(3)
- gridtemplates.c(3)
- find_available_g2cid(3)
- interp_list(3)
- getdim(3)
- g2c_param_g2tog1(3)
- getgridindex(3)
- g2c_jpcpackf(3)
- g2_unpack6.c(3)
- comunpack.c(3)
- g2c_find_msg2(3)
- getpdstemplate(3)
- g2c_get_prod_sections(3)
- g2c_degrib2.c(3)
- g2_unpack7(3)
- extlen(3)
- aecunpack.c(3)
- param(3)
- seekgb.c(3)
- g2c_find_desc_str(3)
- misspack.c(3)
- optional(3)
- g2_unpack3.c(3)
- doc(3)
- g2ccompare.c(3)
- g2c_get_grid_template(3)
- g2c_param_g1tog2(3)
- g2c_unpack7(3)
- templatesdrs(3)
- g2c_get_grid_template_extension(3)
- path(3)
- grid_def(3)
- needext(3)
- prev(3)
- sec_info(3)
- ext(3)
- g2c_inq_msg_time(3)
- g2c_aecpackf(3)
- pngunpack_int(3)
- g2c_compare.c(3)
- g2c_param_abbrev(3)
- name(3)
- g2c_find_entry(3)
- sbit(3)
- read_hdr_rec1(3)
- gribfield(3)
- sec_num(3)
- g2cindex.c(3)
- locallen(3)
- sec_id(3)
- pack_gp.c(3)
- g2_miss(3)
- getdim.c(3)
- jpcunpack(3)
- g2_unpack5(3)
- g2c_pngpackf(3)
- read_metadata(3)
- g2c_check_msg(3)
- util.c(3)
- num_coord(3)
- desc(3)
- getpdsindex(3)
- interp_opt(3)
- getdrsindex(3)
- g2c_print_tables(3)
- enc_jpeg2000(3)
- ipdtmpl(3)
- aecpack_int(3)
- g2c_index.c(3)
- simpack(3)
- determine_dims(3)
- ifldnum(3)
apt-get install libg2c-dev
Manual
aecpack.c
NAMESYNOPSIS
Functions
Detailed Description
Program History Log
Function Documentation
void aecpack (float * fld, g2int width, g2int height, g2int * idrstmpl,unsigned char * cpack, g2int * lcpack)
static int aecpack_int (void * fld, int fld_is_double, g2int width, g2intheight, g2int * idrstmpl, unsigned char * cpack, g2int * lcpack, intverbose) [static]
int g2c_aecpackd (double * fld, size_t width, size_t height, int *idrstmpl, unsigned char * cpack, size_t * lcpack)
int g2c_aecpackf (float * fld, size_t width, size_t height, int * idrstmpl,unsigned char * cpack, size_t * lcpack)
Author
NAME
aecpack.c - Pack array of float/double using AEC/CCSDS compression.
SYNOPSIS
#include
βgrib2_int.hβ
#include <libaec.h>
#include <math.h>
#include <stdint.h>
#include <stdlib.h>
Functions
void
aecpack
(float *fld,
g2int
width,
g2int
height,
g2int
*idrstmpl, unsigned char *cpack,
g2int
*lcpack)
This function packs up a float array into a AEC code stream.
static int
aecpack_int
(void *fld, int fld_is_double,
g2int
width,
g2int
height,
g2int
*idrstmpl, unsigned char *cpack,
g2int
*lcpack, int
verbose)
Pack a float or double array into a AEC/CCSDS code stream.
int
g2c_aecpackd
(double *fld, size_t width, size_t
height, int *idrstmpl, unsigned char *cpack, size_t *lcpack)
This function packs up a double array into a AEC code
stream.
int
g2c_aecpackf
(float *fld, size_t width, size_t
height, int *idrstmpl, unsigned char *cpack, size_t *lcpack)
This function packs up a float array into a AEC code
stream.
Detailed Description
Pack array of float/double using AEC/CCSDS compression.
Author
Eric Engle
Date
2023-09-10
Program History Log
Date Programmer Comments 2023-09-10 Engle Initial; Adapted from aecpack.c . 2023-10-16 Engle Added include libaec to set default values for CCSDS parameters.
Definition in file aecpack.c .
Function Documentation
void aecpack (float * fld, g2int width, g2int height, g2int * idrstmpl,unsigned char * cpack, g2int * lcpack)
This function packs up a float array into a AEC code stream. After the data are scaled, and the reference value is subtracted out, the data are passed to the AEC encoder.
This function also fills in GRIB2 Data Representation Template 5.42 with the appropriate values.
Parameters
fld
Pointer to the float
data values to pack.
width
The number of points in the x direction.
height
The number of points in the y direction.
idrstmpl
Contains the array of values for Data
Representation Template
Table 5.42
.
|
β’ |
0 Reference value - ignored on input, set by aecpack routine. |
||
|
β’ |
1 Binary Scale Factor - used on input, unchanged by aecpack routine. |
||
|
β’ |
2 Decimal Scale Factor - used on input, unchanged by aecpack routine. |
||
|
β’ |
3 number of bits for each data value - ignored on input |
||
|
β’ |
4 Original field type - currently ignored on input Data values assumed to be reals. Set to 0 on output. |
||
|
β’ |
5 CCSDS compression options mask. |
||
|
β’ |
6 Block size. |
||
|
β’ |
7 Reference sample interval. May be modified in this function. |
cpack
A
pointer that will get the packed data field. Must be
allocated before this function is called. Pass the allocated
size in the lcpack parameter.
lcpack
Pointer that gets the length of packed field in
cpack. This must be set by the calling function to the size
available in cpack.
Author
Eric Engle (adapted from jpcpack)
Definition at line 297 of file aecpack.c .
References aecpack_int() .
Referenced by g2_addfield() .
static int aecpack_int (void * fld, int fld_is_double, g2int width, g2intheight, g2int * idrstmpl, unsigned char * cpack, g2int * lcpack, intverbose) [static]
Pack a float or double array into a AEC/CCSDS code stream.
Parameters
fld
Pointer to the float
or double data values to pack.
fld_is_double
If non-zero, then fld points to array of
doubles, otherwise an array of floats.
width
The number of points in the x direction.
height
The number of points in the y direction.
idrstmpl
Contains the array of values for Data
Representation Template
Table 5.42
. May be modified
in this function.
cpack
A pointer that will get the packed data field.
Must be allocated before this function is called. Pass the
allocated size in the lcpack parameter.
lcpack
Pointer that gets the length of packed field in
cpack. This must also be set by the calling function to the
size available in cpack.
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_EAEC Error encoding/decoding AEC data. |
Author
Eric Engle
Definition at line 52 of file aecpack.c .
References ALOG2 , enc_aec() , G2C_EAEC , G2C_NOERROR , int_power() , LOG , mkieee() , and sbits() .
Referenced by aecpack() , g2c_aecpackd() , and g2c_aecpackf() .
int g2c_aecpackd (double * fld, size_t width, size_t height, int *idrstmpl, unsigned char * cpack, size_t * lcpack)
This function packs up a double array into a AEC code stream. After the data are scaled, and the reference value is subtracted out, the data are passed to the AEC encoder.
This function also fills in GRIB2 Data Representation Template 5.42 with the appropriate values.
This function is the V2 API version of aecpack() for floats.
Parameters
fld
Pointer to the float
data values to pack.
width
The number of points in the x direction.
height
The number of points in the y direction.
idrstmpl
Contains the array of values for Data
Representation Template
Table 5.42
.
|
β’ |
0 Reference value - ignored on input, set by aecpack routine. |
||
|
β’ |
1 Binary Scale Factor - used on input, unchanged by aecpack routine. |
||
|
β’ |
2 Decimal Scale Factor - used on input, unchanged by aecpack routine. |
||
|
β’ |
3 number of bits for each data value - ignored on input |
||
|
β’ |
4 Original field type - currently ignored on input Data values assumed to be reals. Set to 0 on output. |
||
|
β’ |
5 CCSDS compression options mask. |
||
|
β’ |
6 Block size. |
||
|
β’ |
7 Reference sample interval. May be modified in this function. |
cpack
A
pointer that will get the packed data field. Must be
allocated before this function is called. Pass the allocated
size in the lcpack parameter.
lcpack
Pointer that gets the length of packed field in
cpack. This must be set by the calling function to the size
available in cpack.
Returns
|
β’ |
G2C_NOERROR No error. |
|||
|
β’ |
G2C_EAEC Error encoding/decoding AEC data. |
Author
Eric Engle (adapted from jpcpack)
Definition at line 410 of file aecpack.c .
References aecpack_int() , and G2C_AEC_DRS_TEMPLATE_LEN .
int g2c_aecpackf (float * fld, size_t width, size_t height, int * idrstmpl,unsigned char * cpack, size_t * lcpack)
This function packs up a float array into a AEC code stream. After the data are scaled, and the reference value is subtracted out, the data are passed to the AEC encoder.
This function also fills in GRIB2 Data Representation Template 5.42 with the appropriate values.
This function is the V2 API version of aecpack() for floats.
Parameters
fld
Pointer to the float
data values to pack.
width
The number of points in the x direction.
height
The number of points in the y direction.
idrstmpl
Contains the array of values for Data
Representation Template
Table 5.42
.
|
β’ |
0 Reference value - ignored on input, set by aecpack routine. |
||
|
β’ |
1 Binary Scale Factor - used on input, unchanged by aecpack routine. |
||
|
β’ |
2 Decimal Scale Factor - used on input, unchanged by aecpack routine. |
||
|
β’ |
3 number of bits for each data value - ignored on input |
||
|
β’ |
4 Original field type - currently ignored on input Data values assumed to be reals. Set to 0 on output. |
||
|
β’ |
5 CCSDS compression options mask. |
||
|
β’ |
6 Block size. |
||
|
β’ |
7 Reference sample interval. May be modified in this function. |
cpack
A
pointer that will get the packed data field. Must be
allocated before this function is called. Pass the allocated
size in the lcpack parameter.
lcpack
Pointer that gets the length of packed field in
cpack. This must be set by the calling function to the size
available in cpack.
Returns
|
β’ |
G2C_NOERROR No error. |
|||
|
β’ |
G2C_EAEC Error encoding/decoding AEC data. |
Author
Eric Engle (adapted from jpcpack)
Definition at line 346 of file aecpack.c .
References aecpack_int() , and G2C_AEC_DRS_TEMPLATE_LEN .
Author
Generated automatically by Doxygen for NCEPLIBS-g2c from the source code.