15 void cobfl(
const char *bfl,
char io);
16 void crbmg(
char *bmg,
int mxmb,
int *nmb,
int *iret);
17 void cwbmg(
const char *bmg,
int nmb,
int *iret);
21 #define VERS_STR_LEN 8
35 void open_f(
int unit,
const char *filepath);
58 void openbf_f(
int bufr_unit,
const char *cio,
int table_file_id);
96 int ireadmg_f(
int bufr_unit,
char *subset,
int *iddate,
int subset_len);
113 void readmg_f(
int bufr_unit,
char *subset,
int *iddate,
int subset_len,
int *ires);
167 void writsa_f(
int bufr_unit,
int bufr_len,
int *bufr,
int *nbufr);
183 void ufbint_f(
int bufr_unit,
void **c_data,
int dim_1,
int dim_2,
184 int *iret,
const char *table_b_mnemonic);
200 void ufbrep_f(
int bufr_unit,
void **c_data,
int dim_1,
int dim_2,
201 int *iret,
const char *table_b_mnemonic);
217 void ufbstp_f(
int bufr_unit,
void **c_data,
int dim_1,
int dim_2,
218 int *iret,
const char *table_b_mnemonic);
235 void ufbevn_f(
int bufr_unit,
void **c_data,
int dim_1,
int dim_2,
int dim_3,
236 int *iret,
const char *table_b_mnemonic);
249 void mtinfo_f(
const char *path,
int file_unit_1,
int file_unit_2);
263 void status_f(
int file_unit,
int *lun,
int *il,
int *im);
281 const char *mnemonic,
305 const char *mnemonic,
326 const char *mnemonic,
393 void get_typ_f(
char **typ_ptr,
int *typ_len,
int *mem_size);
404 void get_tag_f(
char **tag_ptr,
int *tag_len,
int *mem_size);
456 void get_val_f(
int lun,
double **val_ptr,
int *val_size);
480 void readlc_f(
int lunit,
const char *str_id,
char *output_str,
int output_str_len);
492 void writlc_f(
int lunit,
const char *str,
const char *chr);
573 void drfini_f(
int bufr_unit,
int *mdrf,
int ndrf,
const char *table_d_mnemonic);
589 void ufbseq_f(
int bufr_unit,
void **c_data,
int dim_1,
int dim_2,
590 int *iret,
const char *table_d_mnemonic);
608 int ireadns_f(
int bufr_unit,
char *subset,
int *iddate,
int subset_len);
626 void readns_f(
int bufr_unit,
char *subset,
int *iddate,
int subset_len,
int *ires);
653 void openmb_f(
int bufr_unit,
const char *c_subset,
int iddate);
667 void openmg_f(
int bufr_unit,
const char *c_subset,
int iddate);
755 void ufbqcd_f(
int lunit,
const char *cnemo,
int *iqcd);
769 void ufbqcp_f(
int lunit,
int iqcp,
char *cnemo,
int cnemo_len);
787 void getcfmng_f(
int lunit,
const char *cnemoi,
int ivali,
const char *cnemod,
int ivald,
788 char *cmeang_c,
int lcmgc,
int *iret);
804 void upftbv_f(
int lunit,
const char *cnemo,
double val,
int *
ibit,
int mxib,
int *nib);
820 void ufbtab_f(
int bufr_unit,
void **c_data,
int dim_1,
int dim_2,
821 int *iret,
const char *table_b_mnemonic);
837 void ufbpos_f(
int bufr_unit,
int irec,
int isub,
char *subset,
int *iddate,
int subset_len);
905 void datebf_f(
int bufr_unit,
int *mear,
int *mmon,
int *mday,
int *mour,
int *
idate);
918 void dumpbf_f(
int bufr_unit,
int *jdate,
int *jdump);
973 void strcpt_f(
const char *cf,
int iyr,
int imo,
int idy,
int ihr,
int imi);
990 void rtrcpt_f(
int lunit,
int *iyr,
int *imo,
int *idy,
int *ihr,
int *imi,
int *iret);
1104 void readerme_f(
int *mesg,
int bufr_unit,
char *subset,
int *iddate,
int subset_len,
int *ires);
1131 void ufbmem_f(
int lunit,
int inew,
int *iret,
int *iunit);
1146 void ufbmex_f(
int lunit,
int lundx,
int inew,
int *iret,
int *mesg);
1161 void ufbmms_f(
int imsg,
int isub,
char *subset,
int *jdate,
int subset_len);
1190 void rdmemm_f(
int imsg,
char *subset,
int *jdate,
int subset_len,
int *iret);
1219 void ufbrms_f(
int imsg,
int isub,
void **c_data,
int dim_1,
int dim_2,
1220 int *iret,
const char *table_b_mnemonic);
1236 int *iret,
const char *table_b_mnemonic);
1284 void stndrd_f(
int lunit,
int *msgin,
int lmsgot,
int *msgot);
1312 void gettagpr_f(
int lunit,
const char *tagch,
int ntagch,
char *tagpr,
int tagpr_len,
int *iret);
1329 void gettagre_f(
int lunit,
const char *tagi,
int ntagi,
char *tagre,
int tagre_len,
int *ntagre,
int *iret);
1373 void setvalnb_f(
int lunit,
const char *tagpv,
int ntagpv,
const char *tagnb,
int ntagnb,
double r8val,
int *iret);
1390 double getvalnb_f(
int lunit,
const char *tagpv,
int ntagpv,
const char *tagnb,
int ntagnb);
1404 void getabdb_f(
int lunit,
int itab,
char (*ctabdb)[128],
int *jtab);
1419 void ufbget_f(
int bufr_unit,
double *tab,
int i1,
int *iret,
const char *table_b_mnemonic);
1437 void ufbinx_f(
int bufr_unit,
int imsg,
int isub,
void **c_data,
int dim_1,
int dim_2,
1438 int *iret,
const char *table_b_mnemonic);
1454 void ufbovr_f(
int bufr_unit,
void **c_data,
int dim_1,
int dim_2,
1455 int *iret,
const char *table_b_mnemonic);
1545 int iupm_f(
const char *cbay,
int nbits,
int lcbay);
int catch_borts_f(const char *cf)
Specify the use of compression when writing BUFR messages.
void closbf_f(int bufr_unit)
Close a previously opened file and disconnect it from the library.
void ufbtab_f(int bufr_unit, void **c_data, int dim_1, int dim_2, int *iret, const char *table_b_mnemonic)
Read one or more data values from every data subset in a BUFR file.
void gettagre_f(int lunit, const char *tagi, int ntagi, char *tagre, int tagre_len, int *ntagre, int *iret)
Get the parent for a specified occurrence of a Table B or Table D mnemonic.
void get_jmpb_f(int **jmpb_ptr, int *jmpb_size)
Get copy of the moda_tables JMPB array.
void getabdb_f(int lunit, int itab, char(*ctabdb)[128], int *jtab)
Get Table B and Table D information from the internal DX tables.
void rdmgsb_f(int lunit, int imsg, int isub)
Read a specified data subset from a BUFR file.
int iupm_f(const char *cbay, int nbits, int lcbay)
Decode an integer from a character string.
int nmsub_f(int bufr_unit)
Get the total number of data subsets available within a BUFR message.
void ufbrep_f(int bufr_unit, void **c_data, int dim_1, int dim_2, int *iret, const char *table_b_mnemonic)
Read/write one or more data values from/to a data subset.
void get_nval_f(int lun, int *num_nodes)
Get the number of values in the current subset.
void copysb_f(int lunin, int lunot, int *iret)
Copy a BUFR data subset from one Fortran logical unit to another.
void get_inode_f(int lun, int *start_node)
Get the bufr node idx for the start node of the subset.
void openmg_f(int bufr_unit, const char *c_subset, int iddate)
Open a new message for output in a BUFR file that was previously opened for writing.
int iupbs01_f(int *bufr, const char *mnemonic)
Read a data value from Section 0 or Section 1 of a BUFR message.
void copymg_f(int lunin, int lunot)
Copy a BUFR message from one Fortran logical unit to another.
void cpymem_f(int lunot)
Copy a message from internal arrays to a file.
void ufbevn_f(int bufr_unit, void **c_data, int dim_1, int dim_2, int dim_3, int *iret, const char *table_b_mnemonic)
Read one or more data values from a data subset.
void drfini_f(int bufr_unit, int *mdrf, int ndrf, const char *table_d_mnemonic)
Explicitly initialize delayed replication factors for writing to a data subset.
void dumpbf_f(int bufr_unit, int *jdate, int *jdump)
Get the Section 1 date-time from the first two "dummy" messages of an NCEP dump file.
void ufbmem_f(int lunit, int inew, int *iret, int *iunit)
Read an entire BUFR file into internal arrays.
int igetprm_f(const char *cprmnm)
Get the current value of a parameter.
void ufbmms_f(int imsg, int isub, char *subset, int *jdate, int subset_len)
Read a specified data subset from internal arrays.
void rdmems_f(int isub, int *iret)
Read a specified data subset from internal arrays.
void copybf_f(int lunin, int lunot)
Copy an entire BUFR file from one Fortran logical unit to another.
void writsa_f(int bufr_unit, int bufr_len, int *bufr, int *nbufr)
Write the next data subset to a BUFR message, and return a copy of any completed message.
void rdmemm_f(int imsg, char *subset, int *jdate, int subset_len, int *iret)
Read a specified message from internal arrays.
void ipkm_f(char *cbay, int nbyt, int ival, int cbay_len)
Encode an integer into a character string.
void minimg_f(int bufr_unit, int mini)
Write a minutes value into Section 1 of a BUFR message.
void get_val_f(int lun, double **val_ptr, int *val_size)
Get pointer to the moda_usrint VAL array.
void stndrd_f(int lunit, int *msgin, int lmsgot, int *msgot)
Standardize a copy of a BUFR message.
void ufbovr_f(int bufr_unit, void **c_data, int dim_1, int dim_2, int *iret, const char *table_b_mnemonic)
Overwrite one or more data values within a data subset.
void mesgbc_f(int lunin, int *mesgtyp, int *icomp)
Get information from the first data message in a BUFR file.
void ufbmex_f(int lunit, int lundx, int inew, int *iret, int *mesg)
Read an entire BUFR file into internal arrays.
void cobfl(const char *bfl, char io)
Open a new file for reading or writing BUFR messages via a C language interface.
void datebf_f(int bufr_unit, int *mear, int *mmon, int *mday, int *mour, int *idate)
Get the Section 1 date-time from the first data message of a BUFR file.
void check_for_bort_f(char *error_str, int error_str_len)
Check whether a bort error was caught during a previous call to a library function or subroutine.
void cnved4_f(int *msgin, int lmsgot, int *msgot)
Convert a BUFR message to edition 4.
void mesgbf_f(int lunit, int *mesgtyp)
Get information from the first data message in a BUFR file.
void cwbmg(const char *bmg, int nmb, int *iret)
Write a BUFR message to the file that was opened via the most recent call to function cobfl() with io...
void ufbseq_f(int bufr_unit, void **c_data, int dim_1, int dim_2, int *iret, const char *table_d_mnemonic)
Read/write an entire sequence of data values from/to a data subset.
void ufdump_f(int lunit, int luprt)
Print a verbose listing of the contents of a data subset.
void strcpt_f(const char *cf, int iyr, int imo, int idy, int ihr, int imi)
Specify a tank receipt time to be written into Section 1 of all future BUFR messages.
int igetmxby_f(void)
Get the maximum length of a BUFR message that can be written to an output file.
void maxout_f(int max0)
Define a customized maximum length for output BUFR messages.
void gettagpr_f(int lunit, const char *tagch, int ntagch, char *tagpr, int tagpr_len, int *iret)
Get the parent for a specified occurrence of a Table B or Table D mnemonic.
int ireadsb_f(int bufr_unit)
Read the next data subset from a BUFR message.
void openbf_f(int bufr_unit, const char *cio, int table_file_id)
Connect a new file to the library, or initialize the library, or change verbosity associated with alr...
void readerme_f(int *mesg, int bufr_unit, char *subset, int *iddate, int subset_len, int *ires)
Read a BUFR message from a memory array.
int ifbget_f(int bufr_unit)
Check if there are any more data subsets available within a BUFR message.
void ufbcup_f(int lunin, int lunot)
Copy unique elements of a data subset from one file to another.
void get_tag_f(char **tag_ptr, int *tag_len, int *mem_size)
Get copy of the moda_tables TAG array.
int isetprm_f(const char *cprmnm, int ipval)
Define a customized parameter value for dynamic allocation.
void get_inv_f(int lun, int **inv_ptr, int *inv_size)
Get pointer to the moda_usrint INV array.
void ufbqcd_f(int lunit, const char *cnemo, int *iqcd)
Return a prepbufr program code corresponding to a mnemonic.
void nemspecs_f(int file_unit, const char *mnemonic, int mnemonic_idx, int *scale, int *reference, int *bits, int *iret)
Get the scale factor, reference value and bit width associated with a specified occurrence of a Table...
void status_f(int file_unit, int *lun, int *il, int *im)
Check whether a file is connected to the library.
double getvalnb_f(int lunit, const char *tagpv, int ntagpv, const char *tagnb, int ntagnb)
Read a data value corresponding to a specific occurrence of a mnemonic.
void get_typ_f(char **typ_ptr, int *typ_len, int *mem_size)
Get copy of the moda_tables TYP array.
void get_link_f(int **link_ptr, int *link_size)
Get copy of the moda_tables LINK array.
void setvalnb_f(int lunit, const char *tagpv, int ntagpv, const char *tagnb, int ntagnb, double r8val, int *iret)
Write a data value corresponding to a specific occurrence of a mnemonic.
void codflg_f(const char *cf)
Specify whether to read code and flag table information from master BUFR tables.
void crbmg(char *bmg, int mxmb, int *nmb, int *iret)
Read the next BUFR message from the file that was opened via the most recent call to function cobfl()...
int ireadmg_f(int bufr_unit, char *subset, int *iddate, int subset_len)
Read the next message from a BUFR file.
int ibfms_f(double r8val)
Test whether a data value is "missing".
void ufbrms_f(int imsg, int isub, void **c_data, int dim_1, int dim_2, int *iret, const char *table_b_mnemonic)
Read one or more data values from internal arrays.
void readsb_f(int bufr_unit, int *ires)
Read the next data subset from a BUFR message.
void stdmsg_f(const char *cf)
Specify whether to standardize future output BUFR messages.
void pkbs1_f(int ival, int *mbay, const char *c_s1m)
Specify a value to be written into Section 1 of a BUFR message.
void get_isc_f(int **isc_ptr, int *isc_size)
Get copy of the moda_tables ISC array.
void mtinfo_f(const char *path, int file_unit_1, int file_unit_2)
Specify location of master BUFR tables on local file system.
void ufbpos_f(int bufr_unit, int irec, int isub, char *subset, int *iddate, int subset_len)
Jump forwards or backwards to a specified data subset within a BUFR file.
void nemdefs_f(int file_unit, const char *mnemonic, char *unit_c, int unit_str_len, char *desc_c, int desc_str_len, int *iret)
Get the element name and units associated with a Table B mnemonic.
void ufbget_f(int bufr_unit, double *tab, int i1, int *iret, const char *table_b_mnemonic)
Read one or more data values from a data subset without advancing the subset pointer.
void ufbinx_f(int bufr_unit, int imsg, int isub, void **c_data, int dim_1, int dim_2, int *iret, const char *table_b_mnemonic)
Read one or more data values from a specified data subset.
void readmg_f(int bufr_unit, char *subset, int *iddate, int subset_len, int *ires)
Read the next message from a BUFR file.
void close_f(int unit)
Close a Fortran file from a C program.
int iupvs01_f(int bufr_unit, const char *c_s01m)
Read a specified value from within Section 0 or 1 of a BUFR message.
void upftbv_f(int lunit, const char *cnemo, double val, int *ibit, int mxib, int *nib)
Get the bit settings equivalent to a given numerical value for a flag table mnemonic.
void ccbfl(void)
Close all files that were opened via previous calls to function cobfl().
void ufbint_f(int bufr_unit, void **c_data, int dim_1, int dim_2, int *iret, const char *table_b_mnemonic)
Read/write one or more data values from/to a data subset.
void rtrcpt_f(int lunit, int *iyr, int *imo, int *idy, int *ihr, int *imi, int *iret)
Get the tank receipt time from Section 1 of a BUFR message.
void wrdxtb_f(int lundx, int lunot)
Generate DX BUFR table messages and write them to a output file.
void readlc_f(int lunit, const char *str_id, char *output_str, int output_str_len)
Read a long string from the BUFR file.
void upds3_f(int *mbay, int lcds3, char(*ccds3)[6], int *nds3)
Get the sequence of data descriptors contained within Section 3 of a BUFR message.
int ireadns_f(int bufr_unit, char *subset, int *iddate, int subset_len)
Read the next data subset from a BUFR file.
void exitbufr_f()
Reset the library.
void dxdump_f(int lunit, int luprt)
Print a copy of the DX BUFR table associated with a specified Fortran logical unit.
void ufbdmp_f(int lunit, int luprt)
Print a verbose listing of the contents of a data subset.
void nemtbb_f(int lun, int table_idx, char *unit_str, int unit_str_len, int *scale, int *reference, int *bits)
Get information about a Table B descriptor.
void datelen_f(int len)
Specify the format of Section 1 date-time values that will be output by future calls to message-readi...
void getcfmng_f(int lunit, const char *cnemoi, int ivali, const char *cnemod, int ivald, char *cmeang_c, int lcmgc, int *iret)
Get the meaning of a numerical value from a code or flag table.
void closmg_f(int bufr_unit)
Close a BUFR message.
void open_f(int unit, const char *filepath)
Open a Fortran file from a C program.
void openmb_f(int bufr_unit, const char *c_subset, int iddate)
Open a new message for output in a BUFR file that was previously opened for writing.
void delete_table_data_f()
Deletes the copies of the moda_tables arrays.
void nemtab_f(int lun, const char *mnemonic, int *descriptor, char *table_type, int *table_idx)
Get information about a descriptor.
int igetsc_f(int bufr_unit)
Check for an abnormal status code associated with the processing of a file.
void ufbtam_f(void **c_data, int dim_1, int dim_2, int *iret, const char *table_b_mnemonic)
Read one or more data values from every data subset in internal arrays.
void bvers_f(char *cverstr, int cverstr_len)
Get the version number of the NCEPLIBS-bufr software.
void atrcpt_f(int *msgin, int lmsgot, int *msgot)
Read a BUFR message and output an equivalent message with a tank receipt time added to Section 1.
void ufbcpy_f(int lunin, int lunot)
Copy a BUFR data subset from one Fortran logical unit to another.
void readns_f(int bufr_unit, char *subset, int *iddate, int subset_len, int *ires)
Read the next data subset from a BUFR file.
void get_irf_f(int **irf_ptr, int *irf_size)
Get copy of the moda_tables IRF array.
void ufbmns_f(int irep, char *subset, int *idate, int subset_len)
Read a specified data subset from internal arrays.
void invmrg_f(int lubfi, int lubfj)
Merge parts of data subsets.
void ufbcnt_f(int lunit, int *kmsg, int *ksub)
Get the current location of the file pointer within a BUFR file.
void cmpmsg_f(const char *cf)
Specify the use of compression when writing BUFR messages.
void get_itp_f(int **itp_ptr, int *itp_size)
Get copy of the moda_tables ITP array.
void ufbstp_f(int bufr_unit, void **c_data, int dim_1, int dim_2, int *iret, const char *table_b_mnemonic)
Read/write one or more data values from/to a data subset.
void writsb_f(int bufr_unit)
Write the next data subset to a BUFR message.
void ufbqcp_f(int lunit, int iqcp, char *cnemo, int cnemo_len)
Return a mnemonic corresponding to a prepbufr program code.
void writlc_f(int lunit, const char *str, const char *chr)
Write a long string to the BUFR file.
int lcmgdf_f(int bufr_unit, const char *c_subset)
Check if a subset definition contains any long character strings.
void pkvs01_f(const char *c_s01m, int ival)
Specify a value to be written into Section 0 or 1 of all future BUFR messages.
integer ibit
Bit pointer within ibay.
integer, dimension(:,:), allocatable mbay
Current BUFR message for each file ID.
integer *8, dimension(:), allocatable ival
BUFR data subset values.
integer, dimension(:), allocatable idate
Section 1 date-time of message.
real *8, dimension(:,:), allocatable, target val
Data values.