40 if ( setjmp(
context) == 1 )
return;
43 cio[cio_str_len] =
'\0';
60 if ( setjmp(
context) == 1 )
return;
80 if ( setjmp(
context) == 1 )
return;
103 if ( setjmp(
context) == 1 )
return;
106 readmg_f(lunxx, subset, jdate, subset_str_len, iret);
123 if ( setjmp(
context) == 1 )
return;
126 subset[subset_str_len] =
'\0';
146 if ( setjmp(
context) == 1 )
return;
149 subset[subset_str_len] =
'\0';
166 if ( setjmp(
context) == 1 )
return;
189 if ( setjmp(
context) == 1 )
return;
192 readns_f(lunit, subset, jdate, subset_str_len, iret);
209 if ( setjmp(
context) == 1 )
return;
226 if ( setjmp(
context) == 1 )
return;
246 if ( setjmp(
context) == 1 )
return;
249 writsa_f(lunxx, bufr_len, bufr, nbufr);
269 if ( setjmp(
context) == 1 )
return;
272 cstr[cstr_len] =
'\0';
295 if ( setjmp(
context) == 1 )
return;
298 cstr[cstr_len] =
'\0';
321 if ( setjmp(
context) == 1 )
return;
324 cstr[cstr_len] =
'\0';
348 if ( setjmp(
context) == 1 )
return;
351 cstr[cstr_len] =
'\0';
372 if ( setjmp(
context) == 1 )
return;
375 drftag[drftag_len] =
'\0';
378 drfini_f(lunit, mdrf, ndrf, drftag);
398 if ( setjmp(
context) == 1 )
return;
401 cstr[cstr_len] =
'\0';
429 cstr[cstr_len] =
'\0';
434 *nchr = (int) strlen(chr);
452 if ( setjmp(
context) == 1 )
return;
455 cstr[cstr_len] =
'\0';
458 cchr[cchr_len] =
'\0';
477 if (setjmp(
context) == 1)
return;
497 if (setjmp(
context) == 1)
return;
500 cnemo[cnemo_len] =
'\0';
527 ufbqcp_f(lunit, iqcp, cnemo, cnemo_len);
529 *ncn = (int) strlen(cnemo);
551 char *cmeang_c,
int lcmgc,
int *lnmng,
int *iret)
564 getcfmng_f(lunit, cnemoi, ivali, cnemod, ivald, cmeang_c, lcmgc, iret);
566 *lnmng = (int) strlen(cmeang_c);
586 if (setjmp(
context) == 1)
return;
608 if (setjmp(
context) == 1)
return;
629 if (setjmp(
context) == 1)
return;
632 crbmg(bmg, mxmb, nmb, iret);
649 if (setjmp(
context) == 1)
return;
652 cwbmg(bmg, nmb, iret);
672 if ( setjmp(
context) == 1 )
return;
675 cstr[cstr_len] =
'\0';
697 if ( setjmp(
context) == 1 )
return;
700 ufbpos_f(lunit, irec, isub, subset, jdate, subset_str_len);
715 if ( setjmp(
context) == 1 )
return;
735 if ( setjmp(
context) == 1 )
return;
738 s01mnem[s01mnem_str_len] =
'\0';
756 if ( setjmp(
context) == 1 )
return;
775 if ( setjmp(
context) == 1 )
return;
778 s01mnem[s01mnem_str_len] =
'\0';
800 if ( setjmp(
context) == 1 )
return;
819 if ( setjmp(
context) == 1 )
return;
837 if ( setjmp(
context) == 1 )
return;
857 if ( setjmp(
context) == 1 )
return;
877 if ( setjmp(
context) == 1 )
return;
880 s1mnem[s1mnem_str_len] =
'\0';
902 if ( setjmp(
context) == 1 )
return;
905 strcpt_f(cf, iyr, imo, idy, ihr, imi);
925 if ( setjmp(
context) == 1 )
return;
928 rtrcpt_f(lunit, iyr, imo, idy, ihr, imi, iret);
944 if ( setjmp(
context) == 1 )
return;
962 if ( setjmp(
context) == 1 )
return;
980 if ( setjmp(
context) == 1 )
return;
998 if ( setjmp(
context) == 1 )
return;
1016 if ( setjmp(
context) == 1 )
return;
1034 if ( setjmp(
context) == 1 )
return;
1053 if ( setjmp(
context) == 1 )
return;
1071 if ( setjmp(
context) == 1 )
return;
1093 char *ccunit,
int ccunit_str_len,
int *iret)
1096 if ( setjmp(
context) == 1 )
return;
1102 nemdefs_f(lunit, cnemo, ccunit, ccunit_str_len, ccelem, ccelem_str_len, iret);
1123 if ( setjmp(
context) == 1 )
return;
1129 nemspecs_f(lunit, cnemo, nnemo, nscl, nref, nbts, iret);
1148 if ( setjmp(
context) == 1 )
return;
1151 readerme_f(mesg, lunit, subset, jdate, subset_str_len, iret);
1167 if ( setjmp(
context) == 1 )
return;
1187 if ( setjmp(
context) == 1 )
return;
1190 ufbmem_f(lunit, inew, iret, iunit);
1208 if ( setjmp(
context) == 1 )
return;
1211 ufbmex_f(lunit, lundx, inew, iret, mesg);
1229 if ( setjmp(
context) == 1 )
return;
1232 ufbmms_f(imsg, isub, subset, jdate, subset_str_len);
1249 if ( setjmp(
context) == 1 )
return;
1270 if ( setjmp(
context) == 1 )
return;
1273 rdmemm_f(imsg, subset, jdate, subset_str_len, iret);
1288 if ( setjmp(
context) == 1 )
return;
1312 if ( setjmp(
context) == 1 )
return;
1315 cstr[cstr_len] =
'\0';
1318 ufbrms_f(imsg, isub, (
void**) &usr, i1, i2, iret,
cstr);
1337 if ( setjmp(
context) == 1 )
return;
1340 cstr[cstr_len] =
'\0';
1357 if ( setjmp(
context) == 1 )
return;
1375 if ( setjmp(
context) == 1 )
return;
1392 if ( setjmp(
context) == 1 )
return;
1412 if ( setjmp(
context) == 1 )
return;
1415 stndrd_f(lunit, msgin, lmsgot, msgot);
1429 if ( setjmp(
context) == 1 )
return;
1447 if ( setjmp(
context) == 1 )
return;
1465 if ( setjmp(
context) == 1 )
return;
1487 char *tagpr,
int tagpr_len,
int *ntpchr,
int *iret)
1496 tagch[tagch_len] =
'\0';
1499 gettagpr_f(lunit, tagch, ntagch, tagpr, tagpr_len, iret);
1501 *ntpchr = (int) strlen(tagpr);
1521 char *tagre,
int tagre_len,
int *ntagre,
int *ntrchr,
int *iret)
1530 tagi[tagi_len] =
'\0';
1533 gettagre_f(lunit, tagi, ntagi, tagre, tagre_len, ntagre, iret);
1535 *ntrchr = (int) strlen(tagre);
1551 if ( setjmp(
context) == 1 )
return;
1571 if ( setjmp(
context) == 1 )
return;
1574 subset[subset_str_len] =
'\0';
1597 char *tagnb,
int tagnb_len,
int ntagnb,
double r8val,
int *iret)
1600 if ( setjmp(
context) == 1 )
return;
1603 tagpv[tagpv_len] =
'\0';
1604 tagnb[tagnb_len] =
'\0';
1607 setvalnb_f(lunit, tagpv, ntagpv, tagnb, ntagnb, r8val, iret);
1626 char *tagnb,
int tagnb_len,
int ntagnb,
double *r8val)
1629 if ( setjmp(
context) == 1 )
return;
1632 tagpv[tagpv_len] =
'\0';
1633 tagnb[tagnb_len] =
'\0';
1636 *r8val =
getvalnb_f(lunit, tagpv, ntagpv, tagnb, ntagnb);
1653 if ( setjmp(
context) == 1 )
return;
1675 if ( setjmp(
context) == 1 )
return;
1678 cstr[cstr_len] =
'\0';
1703 if ( setjmp(
context) == 1 )
return;
1706 cstr[cstr_len] =
'\0';
1709 ufbinx_f(lunit, imsg, isub, (
void**) &usr, i1, i2, iret,
cstr);
1729 if ( setjmp(
context) == 1 )
return;
1732 cstr[cstr_len] =
'\0';
1750 if ( setjmp(
context) == 1 )
return;
1768 if ( setjmp(
context) == 1 )
return;
1786 if ( setjmp(
context) == 1 )
return;
1804 if ( setjmp(
context) == 1 )
return;
1823 if ( setjmp(
context) == 1 )
return;
1841 if ( setjmp(
context) == 1 )
return;
1862 if (setjmp(
context) == 1)
return;
1865 *iret =
iupm_f(cbay, nbits, lcbay);
1883 if (setjmp(
context) == 1)
return;
void catch_bort_ufbmms(int imsg, int isub, char *subset, int *jdate, int subset_str_len)
Catch any bort error inside of subroutine ufbmms().
void catch_bort_ufbtam(double *tab, int i1, int i2, int *iret, char *cstr, int cstr_len)
Catch any bort error inside of subroutine ufbtam().
void catch_bort_lcmgdf(int lunit, char *subset, int subset_str_len, int *iret)
Catch any bort error inside of function lcmgdf().
void catch_bort_ufbint(int lunin, double *usr, int i1, int i2, int *iret, char *cstr, int cstr_len)
Catch any bort error inside of subroutine ufbint().
void catch_bort_drfini(int lunit, int *mdrf, int ndrf, char *drftag, int drftag_len)
Catch any bort error inside of subroutine drfini().
void catch_bort_wrdxtb(int lundx, int lunot)
Catch any bort error inside of subroutine wrdxtb().
void catch_bort_ufbpos(int lunit, int irec, int isub, char *subset, int *jdate, int subset_str_len)
Catch any bort error inside of subroutine ufbpos().
void catch_bort_status(int lunit, int *lun, int *il, int *im)
Catch any bort error inside of subroutine status().
void catch_bort_ufbqcp(int lunit, int iqcp, char *cnemo, int cnemo_len, int *ncn)
Catch any bort error inside of subroutine ufbqcp().
void catch_bort_atrcpt(int *msgin, int lmsgot, int *msgot)
Catch any bort error inside of subroutine atrcpt().
void catch_bort_openbf(int lunit, char *cio, int lundx, int cio_str_len)
Catch any bort error inside of subroutine openbf().
void catch_bort_dxdump(int lunit, int luprt)
Catch any bort error inside of subroutine dxdump().
void catch_bort_igetsc(int lunit, int *iret)
Catch any bort error inside of function igetsc().
void catch_bort_iupm(char *cbay, int nbits, int *iret, int lcbay)
Catch any bort error inside of function iupm().
void catch_bort_openmg(int lunit, char *subset, int subset_str_len, int jdate)
Catch any bort error inside of subroutine openmg().
void catch_bort_writlc(int lunit, char *cstr, int cstr_len, char *cchr, int cchr_len)
Catch any bort error inside of subroutine writlc().
void catch_bort_dumpbf(int lunit, int *jdate, int *jdump)
Catch any bort error inside of subroutine dumpbf().
void catch_bort_crbmg(char *bmg, int mxmb, int *nmb, int *iret)
Catch any bort error inside of function crbmg().
void catch_bort_pkbs1(int ival, int *mbay, char *s1mnem, int s1mnem_str_len)
Catch any bort error inside of subroutine pkbs1().
void catch_bort_setvalnb(int lunit, char *tagpv, int tagpv_len, int ntagpv, char *tagnb, int tagnb_len, int ntagnb, double r8val, int *iret)
Catch any bort error inside of subroutine setvalnb().
void catch_bort_getcfmng(int lunit, char *cnemoi, int lcni, int ivali, char *cnemod, int lcnd, int ivald, char *cmeang_c, int lcmgc, int *lnmng, int *iret)
Catch any bort error inside of subroutine getcfmng().
void catch_bort_ufbdmp(int lunit, int luprt)
Catch any bort error inside of subroutine ufbdmp().
void catch_bort_ufbqcd(int lunit, char *cnemo, int *iqcd, int cnemo_len)
Catch any bort error inside of subroutine ufbqcd().
void catch_bort_cmpmsg(char *cf)
Catch any bort error inside of subroutine cmpmsg().
void catch_bort_bvers(char *verstr, int verstr_len)
Catch any bort error inside of subroutine bvers().
void catch_bort_ufbinx(int lunit, int imsg, int isub, double *usr, int i1, int i2, int *iret, char *cstr, int cstr_len)
Catch any bort error inside of subroutine ufbinx().
void catch_bort_closbf(int lunit)
Catch any bort error inside of subroutine closbf().
void catch_bort_ufbtab(int lunin, double *tab, int i1, int i2, int *iret, char *cstr, int cstr_len)
Catch any bort error inside of subroutine ufbtab().
void catch_bort_ufbcnt(int lunit, int *kmsg, int *ksub)
Catch any bort error inside of subroutine ufbcnt().
void catch_bort_ufbmem(int lunit, int inew, int *iret, int *iunit)
Catch any bort error inside of subroutine ufbmem().
void catch_bort_ifbget(int lunit, int *iret)
Catch any bort error inside of function ifbget().
void catch_bort_nemspecs(int lunit, char *cnemo, int lcn, int nnemo, int *nscl, int *nref, int *nbts, int *iret)
Catch any bort error inside of subroutine nemspecs().
void catch_bort_copysb(int lunin, int lunot, int *iret)
Catch any bort error inside of subroutine copysb().
void catch_bort_rdmemm(int imsg, char *subset, int *jdate, int subset_str_len, int *iret)
Catch any bort error inside of subroutine rdmemm().
void catch_bort_mesgbc(int lunin, int *mesgtyp, int *icomp)
Catch any bort error inside of subroutine mesgbc().
void catch_bort_rtrcpt(int lunit, int *iyr, int *imo, int *idy, int *ihr, int *imi, int *iret)
Catch any bort error inside of subroutine rtrcpt().
void catch_bort_codflg(char *cf)
Catch any bort error inside of subroutine codflg().
void catch_bort_ufbovr(int lunit, double *usr, int i1, int i2, int *iret, char *cstr, int cstr_len)
Catch any bort error inside of subroutine ufbovr().
void catch_bort_datelen(int len)
Catch any bort error inside of subroutine datelen().
void catch_bort_readerme(int *mesg, int lunit, char *subset, int *jdate, int subset_str_len, int *iret)
Catch any bort error inside of subroutine readerme().
void catch_bort_ufbmex(int lunit, int lundx, int inew, int *iret, int *mesg)
Catch any bort error inside of subroutine ufbmex().
void catch_bort_ufbcpy(int lunin, int lunot)
Catch any bort error inside of subroutine ufbcpy().
void catch_bort_upftbv(int lunit, char *cnemo, int lcn, double val, int *ibit, int mxib, int *nib)
Catch any bort error inside of subroutine upftbv().
void catch_bort_readsb(int lunit, int *iret)
Catch any bort error inside of subroutine readsb().
void catch_bort_rdmems(int isub, int *iret)
Catch any bort error inside of subroutine rdmems().
void catch_bort_stndrd(int lunit, int *msgin, int lmsgot, int *msgot)
Catch any bort error inside of subroutine stndrd().
void catch_bort_cnved4(int *msgin, int lmsgot, int *msgot)
Catch any bort error inside of subroutine cnved4().
void catch_bort_getabdb(int lunit, int itab, char(*ctabdb)[128], int *jtab)
Catch any bort error inside of subroutine getabdb().
void catch_bort_readns(int lunit, char *subset, int *jdate, int subset_str_len, int *iret)
Catch any bort error inside of subroutine readns().
void catch_bort_stdmsg(char *cf)
Catch any bort error inside of subroutine stdmsg().
void catch_bort_ipkm(char *cbay, int nbyt, int ival, int cbay_len)
Catch any bort error inside of subroutine ipkm().
void catch_bort_nemdefs(int lunit, char *cnemo, int lcn, char *ccelem, int ccelem_str_len, char *ccunit, int ccunit_str_len, int *iret)
Catch any bort error inside of subroutine nemdefs().
void catch_bort_copymg(int lunin, int lunot)
Catch any bort error inside of subroutine copymg().
void catch_bort_ufbevn(int lunit, double *usr, int i1, int i2, int i3, int *iret, char *cstr, int cstr_len)
Catch any bort error inside of subroutine ufbevn().
void catch_bort_rdmgsb(int lunit, int imsg, int isub)
Catch any bort error inside of subroutine rdmgsb().
void catch_bort_getvalnb(int lunit, char *tagpv, int tagpv_len, int ntagpv, char *tagnb, int tagnb_len, int ntagnb, double *r8val)
Catch any bort error inside of function getvalnb().
void catch_bort_datebf(int lunit, int *mear, int *mmon, int *mday, int *mour, int *idate)
Catch any bort error inside of subroutine datebf().
void catch_bort_writsb(int lunit)
Catch any bort error inside of subroutine writsb().
void catch_bort_writsa(int lunxx, int bufr_len, int *bufr, int *nbufr)
Catch any bort error inside of subroutine writsa().
void catch_bort_gettagpr(int lunit, char *tagch, int tagch_len, int ntagch, char *tagpr, int tagpr_len, int *ntpchr, int *iret)
Catch any bort error inside of subroutine gettagpr().
void catch_bort_readlc(int lunit, char *cstr, int cstr_len, char *chr, int chr_len, int *nchr)
Catch any bort error inside of subroutine readlc().
void catch_bort_mesgbf(int lunit, int *mesgtyp)
Catch any bort error inside of subroutine mesgbf().
void catch_bort_ufbrep(int lunin, double *usr, int i1, int i2, int *iret, char *cstr, int cstr_len)
Catch any bort error inside of subroutine ufbrep().
void catch_bort_pkvs01(char *s01mnem, int s01mnem_str_len, int ival)
Catch any bort error inside of subroutine pkvs01().
void catch_bort_invmrg(int lubfi, int lubfj)
Catch any bort error inside of subroutine invmrg().
void catch_bort_ufbcup(int lunin, int lunot)
Catch any bort error inside of subroutine ufbcup().
void catch_bort_closmg(int lunit)
Catch any bort error inside of subroutine closmg().
void catch_bort_openmb(int lunit, char *subset, int subset_str_len, int jdate)
Catch any bort error inside of subroutine openmb().
void catch_bort_copybf(int lunin, int lunot)
Catch any bort error inside of subroutine copybf().
void catch_bort_readmg(int lunxx, char *subset, int *jdate, int subset_str_len, int *iret)
Catch any bort error inside of subroutine readmg().
void catch_bort_cwbmg(const char *bmg, int nmb, int *iret)
Catch any bort error inside of function cwbmg().
void catch_bort_strcpt(char *cf, int iyr, int imo, int idy, int ihr, int imi)
Catch any bort error inside of subroutine strcpt().
void catch_bort_cpymem(int lunot)
Catch any bort error inside of subroutine cpymem().
void catch_bort_gettagre(int lunit, char *tagi, int tagi_len, int ntagi, char *tagre, int tagre_len, int *ntagre, int *ntrchr, int *iret)
Catch any bort error inside of subroutine gettagre().
void catch_bort_minimg(int lunit, int mini)
Catch any bort error inside of subroutine minimg().
void catch_bort_cobfl(const char *bfl, char io)
Catch any bort error inside of function cobfl().
void catch_bort_ufbseq(int lunin, double *usr, int i1, int i2, int *iret, char *cstr, int cstr_len)
Catch any bort error inside of subroutine ufbseq().
void catch_bort_nmsub(int lunit, int *iret)
Catch any bort error inside of function nmsub().
void catch_bort_ufdump(int lunit, int luprt)
Catch any bort error inside of subroutine ufdump().
void bort_goto_target(void)
Return to the previously-set target location after a bort error.
void catch_bort_ufbrms(int imsg, int isub, double *usr, int i1, int i2, int *iret, char *cstr, int cstr_len)
Catch any bort error inside of subroutine ufbrms().
void catch_bort_ufbmns(int irep, char *subset, int *idate, int subset_str_len)
Catch any bort error inside of subroutine ufbmns().
void catch_bort_iupvs01(int lunit, char *s01mnem, int s01mnem_str_len, int *iret)
Catch any bort error inside of function iupvs01().
void catch_bort_ufbget(int lunit, double *tab, int i1, int *iret, char *cstr, int cstr_len)
Catch any bort error inside of subroutine ufbget().
void catch_bort_upds3(int *mbay, int lcds3, char(*ccds3)[6], int *nds3)
Catch any bort error inside of subroutine upds3().
void catch_bort_ufbstp(int lunin, double *usr, int i1, int i2, int *iret, char *cstr, int cstr_len)
Catch any bort error inside of subroutine ufbstp().
jmp_buf context
Context information for returning to an application program.
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 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 copysb_f(int lunin, int lunot, int *iret)
Copy a BUFR data subset from one Fortran logical unit to another.
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.
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.
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 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 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.
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.
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 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 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()...
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 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.
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 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.
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 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 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.
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 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 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.
Enable a number of NCEPLIBS-bufr subprograms to be called from within the C part of the library.
integer ibit
Bit pointer within ibay.
integer, dimension(:,:), allocatable mbay
Current BUFR message for each file ID.
character *(:), dimension(:), allocatable cstr
Character data value, if corresponding ityp value is set to 3.
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.