g2cinq.c(3)

NAME
g2cinq.c - Inquiry functions.

SYNOPSIS

#include 'grib2_int.h'
#include <stdarg.h>

  Functions

EXTERN_MUTEX (m)
If pthreads are enabled, use externally-defined mutex for thread-safety.
int g2c_inq (int g2cid, int *num_msg)
Learn about a GRIB2 file.
int g2c_inq_dim (int g2cid, int msg_num, int prod_num, int dim_num, size_t *len, char *name, float *val)
Learn about the one of the dimensions of a GRIB2 product.
int g2c_inq_dim_info (int g2cid, int msg_num, int prod_num, int dim_num, size_t *len, char *name)
Learn about the one of the dimensions of a GRIB2 product.
int g2c_inq_msg (int g2cid, int msg_num, unsigned char *discipline, int *num_fields, int *num_local, short *center, short *subcenter, unsigned char *master_version, unsigned char *local_version)
Learn about a GRIB2 message.
int g2c_inq_msg_time (int g2cid, int msg_num, unsigned char *sig_ref_time, short *year, unsigned char *month, unsigned char *day, unsigned char *hour, unsigned char *minute, unsigned char *second)
Learn about the date/time information in a GRIB2 message.
int g2c_inq_prod (int g2cid, int msg_num, int prod_num, int *pds_template_len, long long int *pds_template, int *gds_template_len, long long int *gds_template, int *drs_template_len, long long int *drs_template)
Inquire about a product.

  Variables

G2C_FILE_INFO_T g2c_file [G2C_MAX_FILES+1]
Global file information.

Detailed Description

Inquiry functions.

Author
    Ed Hartnett

Date
    10/21/22

Definition in file g2cinq.c.

Function Documentation

  EXTERN_MUTEX (m )

If pthreads are enabled, use externally-defined mutex for thread-safety.

  int g2c_inq (int g2cid, int * num_msg)

Learn about a GRIB2 file.

Parameters
    g2cid ID of the opened file, as from g2c_open().
    num_msg Pointer that gets the number of messages in the file. Ignored if NULL.

Returns

    •   G2C_NOERROR No error.

    •   G2C_EBADID File ID not found.

Author
    Ed Hartnett

Date
    10/21/22

Definition at line 31 of file g2cinq.c.

References G2C_EBADID, g2c_file, G2C_MAX_FILES, G2C_NOERROR, MUTEX_LOCK, and MUTEX_UNLOCK.

  int g2c_inq_dim (int g2cid, int msg_num, int prod_num, int dim_num, size_t * len, char * name, float * val)

Learn about the one of the dimensions of a GRIB2 product. This function will return the size, name, and values along the dimension.

Parameters
    g2cid ID of the opened file, as from g2c_open().
    msg_num Number of the message in the file, starting with the first message as 0.
    prod_num Product number.
    dim_num Dimension number, with the first dimension as 0.
    len Pointer that gets the length of this dimension. Ignored if NULL.
    name Pointer that gets the name of this dimension. Must have memory of size G2C_MAX_NAME. Ignored if NULL.
    val Pointer that gets array of dimension values, of length len. Ignored if NULL.

Returns

    •   G2C_NOERROR No error.

    •   G2C_EBADID File ID not found.

    •   G2C_ENOMSG Message not found.

    •   G2C_ENOPRODUCT Product not found.

    •   G2C_ENOSECTION GDS not found.

Author
    Ed Hartnett

Date
    10/21/22

Definition at line 372 of file g2cinq.c.

References G2C_EBADID, G2C_EINVAL, G2C_ENOMSG, G2C_ENOPRODUCT, G2C_ENOSECTION, g2c_file, G2C_MAX_FILES, G2C_MAX_NAME, G2C_NOERROR, g2c_dim_info::len, g2c_message_info::msg_num, MUTEX_LOCK, MUTEX_UNLOCK, g2c_dim_info::name, g2c_message_info::next, g2c_section_info::next, g2c_section_info::prev, g2c_message_info::sec, g2c_section_info::sec_info, g2c_section_info::sec_num, and g2c_dim_info::value.

Referenced by g2c_inq_dim_info().

  int g2c_inq_dim_info (int g2cid, int msg_num, int prod_num, int dim_num, size_t * len, char * name)

Learn about the one of the dimensions of a GRIB2 product. This function will return the size and name of the dimension.

Parameters
    g2cid ID of the opened file, as from g2c_open().
    msg_num Number of the message in the file, starting with the first message as 0.
    prod_num Product number.
    dim_num Dimension number, with the first dimension as 0.
    len Pointer that gets the length of this dimension. Ignored if NULL.
    name Pointer that gets the name of this dimension. Must have memory of size G2C_MAX_NAME. Ignored if NULL.

Returns

    •   G2C_NOERROR No error.

    •   G2C_EBADID File ID not found.

    •   G2C_ENOMSG Message not found.

    •   G2C_ENOPRODUCT Product not found.

    •   G2C_ENOSECTION GDS not found.

Author
    Ed Hartnett

Date
    10/21/22

Definition at line 468 of file g2cinq.c.

References g2c_inq_dim().

  int g2c_inq_msg (int g2cid, int msg_num, unsigned char * discipline, int * num_fields, int * num_local, short * center, short * subcenter, unsigned char * master_version, unsigned char * local_version)

Learn about a GRIB2 message.

Parameters
    g2cid ID of the opened file, as from g2c_open().
    msg_num Number of the message in the file, starting with the first message as 0.
    discipline Pointer that gets the discipline from the message. Ignored if NULL.
    num_fields Pointer that gets the number of fields in the message. Ignored if NULL.
    num_local Pointer that gets the number of local sections in the message. Ignored if NULL.
    center Pointer that gets the code for the producing center from the message. Ignored if NULL.
    subcenter Pointer that gets the code for the producing subcenter from the message. Ignored if NULL.
    master_version Pointer that gets the master version from the message. Ignored if NULL.
    local_version Pointer that gets the local version from the message. Ignored if NULL.

Returns

    •   G2C_NOERROR No error.

    •   G2C_EBADID File ID not found.

    •   G2C_ENOMSG Message not found.

Author
    Ed Hartnett

Date
    10/21/22

Definition at line 87 of file g2cinq.c.

References g2c_message_info::center, g2c_message_info::discipline, G2C_EBADID, G2C_EINVAL, G2C_ENOMSG, g2c_file, G2C_MAX_FILES, G2C_NOERROR, g2c_message_info::local_version, g2c_message_info::master_version, g2c_message_info::msg_num, MUTEX_LOCK, MUTEX_UNLOCK, g2c_message_info::next, g2c_message_info::num_fields, g2c_message_info::num_local, and g2c_message_info::subcenter.

  int g2c_inq_msg_time (int g2cid, int msg_num, unsigned char * sig_ref_time, short * year, unsigned char * month, unsigned char * day, unsigned char * hour, unsigned char * minute, unsigned char * second)

Learn about the date/time information in a GRIB2 message.

Parameters
    g2cid ID of the opened file, as from g2c_open().
    msg_num Number of the message in the file, starting with the first message as 0.
    sig_ref_time Pointer that gets Significane of reference time value from the message. Ignored if NULL.
    year Pointer that gets the year from the message. Ignored if NULL.
    month Pointer that gets the month from the message. Ignored if NULL.
    day Pointer that gets the day from the message. Ignored if NULL.
    hour Pointer that gets the hour from the message. Ignored if NULL.
    minute Pointer that gets the minute from the message. Ignored if NULL.
    second Pointer that gets the seconds from the message. Ignored if NULL.

Returns

    •   G2C_NOERROR No error.

    •   G2C_EBADID File ID not found.

    •   G2C_ENOMSG Message not found.

Author
    Ed Hartnett

Date
    10/22/22

Definition at line 170 of file g2cinq.c.

References g2c_message_info::day, G2C_EBADID, G2C_EINVAL, G2C_ENOMSG, g2c_file, G2C_MAX_FILES, G2C_NOERROR, g2c_message_info::hour, g2c_message_info::minute, g2c_message_info::month, g2c_message_info::msg_num, MUTEX_LOCK, MUTEX_UNLOCK, g2c_message_info::next, g2c_message_info::second, g2c_message_info::sig_ref_time, and g2c_message_info::year.

  int g2c_inq_prod (int g2cid, int msg_num, int prod_num, int * pds_template_len, long long int * pds_template, int * gds_template_len, long long int * gds_template, int * drs_template_len, long long int * drs_template)

Inquire about a product.

Parameters
    g2cid File ID.
    msg_num Message number.
    prod_num Product number.
    pds_template_len PDS template length. Ignored if NULL.
    pds_template Pointer that gets the PDS template. Ignored if NULL.
    gds_template_len GDS template length. Ignored if NULL.
    gds_template Pointer that gets the GDS template. Ignored if NULL.
    drs_template_len The DRS template length. Ignored if NULL.
    drs_template Pointer that gets the DRS template. Ignored if NULL.

Returns

    •   G2C_NOERROR No error.

    •   G2C_EBADID File ID not found.

    •   G2C_ENOMSG Message not found.

    •   G2C_ENOPRODUCT Product not found.

    •   G2C_ENOSECTION Section not found.

Author
    Ed Hartnett

Date
    10/21/22

Definition at line 247 of file g2cinq.c.

References G2C_EBADID, G2C_EINVAL, G2C_ENOMSG, G2C_ENOPRODUCT, G2C_ENOSECTION, g2c_file, G2C_MAX_FILES, G2C_NOERROR, g2c_message_info::msg_num, MUTEX_LOCK, MUTEX_UNLOCK, g2c_message_info::next, g2c_section_info::next, g2c_section_info::prev, g2c_message_info::sec, g2c_section_info::sec_info, g2c_section_info::sec_num, g2c_section_info::template, and g2c_section_info::template_len.

Variable Documentation

  G2C_FILE_INFO_T g2c_file[G2C_MAX_FILES+1] [extern]

Global file information.

Definition at line 10 of file g2cfile.c.

Author

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