enum Def_NCEP_Table {rean, opn, rean_nowarn, opn_nowarn}; unsigned char *seek_grib(FILE *file, long *pos, long *len_grib, unsigned char *buffer, unsigned int buf_len); int read_grib(FILE *file, long pos, long len_grib, unsigned char *buffer); double ibm2flt(unsigned char *ibm); void BDS_unpack(float *flt, unsigned char *bds, unsigned char *bitmap, int n_bits, int n, double ref, double scale); double int_power(double x, int y); int flt2ieee(float x, unsigned char *ieee); int wrtieee(float *array, int n, int header, FILE *output); int wrtieee_header(unsigned int n, FILE *output); void levels(int, int, int); void PDStimes(int time_range, int p1, int p2, int time_unit); int missing_points(unsigned char *bitmap, int n); void EC_ext(unsigned char *pds, char *prefix, char *suffix); int GDS_grid(unsigned char *gds, unsigned char *bds, int *nx, int *ny, long int *nxny); void GDS_prt_thin_lon(unsigned char *gds); void GDS_winds(unsigned char *gds, int verbose); int PDS_date(unsigned char *pds, int option, int verf_time); int add_time(int *year, int *month, int *day, int *hour, int dtime, int unit); int verf_time(unsigned char *pds, int *year, int *month, int *day, int *hour); void print_pds(unsigned char *pds, int print_PDS, int print_PDS10, int verbose); void print_gds(unsigned char *gds, int print_GDS, int print_GDS10, int verbose); void ensemble(unsigned char *pds, int mode);