NCEPLIBS-bufr  12.3.0
bufr_c2f_interface.F90 File Reference

Enable a number of Fortran NCEPLIBS-bufr subprograms to be called from within C. More...

Go to the source code of this file.

Modules

module  bufr_c2f_interface
 Wrap Fortran NCEPLIBS-bufr subprograms and variables so they can be called from within C.
 

Functions/Subroutines

recursive subroutine, public bufr_c2f_interface::atrcpt_c (msgin, lmsgot, msgot)
 Read a BUFR message and output an equivalent message with a tank receipt time added to Section 1. More...
 
recursive subroutine, public bufr_c2f_interface::bort_c (errstr)
 Log one error message and abort application program. More...
 
recursive subroutine, public bufr_c2f_interface::bvers_c (cverstr, cverstr_len)
 Get the version number of the NCEPLIBS-bufr software. More...
 
subroutine, public bufr_c2f_interface::cadn30_c (idn, adn, adn_str_len)
 Convert an FXY value from its WMO bit-wise representation to its six-character representation. More...
 
integer(c_int) function, public bufr_c2f_interface::catch_borts_c (cf)
 Specify whether subsequent bort errors should be caught and returned to the application program. More...
 
subroutine, public bufr_c2f_interface::check_for_bort_c (error_str, error_str_len)
 Check whether a bort error was caught during a previous call to a library function or subroutine. More...
 
recursive subroutine, public bufr_c2f_interface::closbf_c (bufr_unit)
 Close a previously opened file and disconnect it from the library. More...
 
subroutine, public bufr_c2f_interface::close_c (lunit)
 Close a Fortran file from a C program. More...
 
recursive subroutine, public bufr_c2f_interface::closmg_c (bufr_unit)
 Close a BUFR message. More...
 
recursive subroutine, public bufr_c2f_interface::cmpmsg_c (cf)
 Specify the use of compression when writing BUFR messages. More...
 
recursive subroutine, public bufr_c2f_interface::cnved4_c (msgin, lmsgot, msgot)
 Convert a BUFR message to edition 4. More...
 
recursive subroutine, public bufr_c2f_interface::codflg_c (cf)
 Specify whether to read code and flag table information from master BUFR tables. More...
 
recursive subroutine, public bufr_c2f_interface::copybf_c (lunin, lunot)
 Copy an entire BUFR file from one Fortran logical unit to another. More...
 
recursive subroutine, public bufr_c2f_interface::copymg_c (lunin, lunot)
 Copy a BUFR message from one Fortran logical unit to another. More...
 
recursive subroutine, public bufr_c2f_interface::copysb_c (lunin, lunot, iret)
 Copy a BUFR data subset from one Fortran logical unit to another. More...
 
recursive subroutine, public bufr_c2f_interface::cpymem_c (lunot)
 Copy a message from internal arrays to a file. More...
 
recursive subroutine, public bufr_c2f_interface::datebf_c (bufr_unit, mear, mmon, mday, mour, idate)
 Get the Section 1 date-time from the first data message of a BUFR file. More...
 
recursive subroutine, public bufr_c2f_interface::datelen_c (len)
 Specify the format of Section 1 date-time values that will be output by future calls to message-reading subroutines. More...
 
subroutine, public bufr_c2f_interface::delete_table_data_c ()
 Deletes the copies of the moda_tables arrays. More...
 
recursive subroutine, public bufr_c2f_interface::drfini_c (bufr_unit, mdrf, ndrf, table_d_mnemonic)
 Explicitly initialize delayed replication factors for writing to a data subset. More...
 
recursive subroutine, public bufr_c2f_interface::dumpbf_c (bufr_unit, jdate, jdump)
 Get the Section 1 date-time from the first two "dummy" messages of an NCEP dump file. More...
 
recursive subroutine, public bufr_c2f_interface::dxdump_c (lunit, luprt)
 Print a copy of the DX BUFR table associated with a specified Fortran logical unit. More...
 
subroutine, public bufr_c2f_interface::elemdx_c (card, lun)
 Decode the scale factor, reference value, bit width, and units from a Table B mnemonic definition. More...
 
subroutine, public bufr_c2f_interface::exitbufr_c ()
 Reset the library. More...
 
subroutine, public bufr_c2f_interface::get_inode_c (lun, start_node)
 Get the bufr node idx for the start node of the subset. More...
 
subroutine, public bufr_c2f_interface::get_inv_c (lun, inv_ptr, inv_size)
 Get pointer to the moda_usrint INV array. More...
 
subroutine, public bufr_c2f_interface::get_irf_c (irf_ptr, irf_size)
 Get copy of the moda_tables IRF array. More...
 
subroutine, public bufr_c2f_interface::get_isc_c (isc_ptr, isc_size)
 Get copy of the moda_tables ISC array. More...
 
subroutine, public bufr_c2f_interface::get_itp_c (itp_ptr, itp_size)
 Get copy of the moda_tables ITP array. More...
 
subroutine, public bufr_c2f_interface::get_jmpb_c (jmpb_ptr, jmpb_size)
 Get copy of the moda_tables JMPB array. More...
 
subroutine, public bufr_c2f_interface::get_link_c (link_ptr, link_size)
 Get copy of the moda_tables LINK array. More...
 
subroutine, public bufr_c2f_interface::get_nval_c (lun, num_nodes)
 Get the number of values in the current subset. More...
 
subroutine, public bufr_c2f_interface::get_tag_c (tag_ptr, tag_len, mem_size)
 Get copy of the moda_tables TAG array. More...
 
subroutine, public bufr_c2f_interface::get_typ_c (typ_ptr, typ_len, mem_size)
 Get copy of the moda_tables TYP array. More...
 
subroutine, public bufr_c2f_interface::get_val_c (lun, val_ptr, val_size)
 Get pointer to the moda_usrint VAL array. More...
 
recursive subroutine, public bufr_c2f_interface::getabdb_c (lunit, itab, ctabdb, jtab)
 Get Table B and Table D information from the internal DX tables. More...
 
recursive subroutine, public bufr_c2f_interface::getcfmng_c (lunit, cnemoi, ivali, cnemod, ivald, cmeang_c, lcmgc, iret)
 Get the meaning of a numerical value from a code or flag table. More...
 
recursive subroutine, public bufr_c2f_interface::gettagpr_c (bufr_unit, c_tagch, ntagch, c_tagpr, tagpr_len, ires)
 Get the parent for a specified occurrence of a Table B or Table D mnemonic. More...
 
recursive subroutine, public bufr_c2f_interface::gettagre_c (bufr_unit, c_tagi, ntagi, c_tagre, tagre_len, ntagre, ires)
 Check whether a specified Table B mnemonic references another Table B mnemonic via an internal bitmap. More...
 
recursive real(c_double) function, public bufr_c2f_interface::getvalnb_c (bufr_unit, c_tagpv, ntagpv, c_tagnb, ntagnb)
 Read a data value corresponding to a specific occurrence of a mnemonic. More...
 
integer(c_int) function, public bufr_c2f_interface::ibfms_c (r8val)
 Test whether a data value is "missing". More...
 
recursive integer(c_int) function, public bufr_c2f_interface::ifbget_c (bufr_unit)
 Check if there are any more data subsets available within a BUFR message. More...
 
integer(c_int) function, public bufr_c2f_interface::ifxy_c (cfxy)
 Convert an FXY value from its 6 character representation to its WMO bit-wise representation. More...
 
integer(c_int) function, public bufr_c2f_interface::igetmxby_c ()
 Get the maximum length of a BUFR message that can be written to an output file. More...
 
integer(c_int) function, public bufr_c2f_interface::igetntbi_c (lun, table_type)
 Get the next index for storing an entry within an internal DX BUFR table. More...
 
integer(c_int) function, public bufr_c2f_interface::igetprm_c (cprmnm)
 Get the current value of a parameter. More...
 
recursive integer(c_int) function, public bufr_c2f_interface::igetsc_c (bufr_unit)
 Check for an abnormal status code associated with the processing of a file. More...
 
integer(c_int) function, public bufr_c2f_interface::igettdi_c (iflag)
 Get the next usable Table D index for the current master table, or reset the index. More...
 
integer(c_int) function, public bufr_c2f_interface::imrkopr_c (nemo)
 Check whether a specified mnemonic is a Table C marker operator. More...
 
recursive subroutine, public bufr_c2f_interface::invmrg_c (lubfi, lubfj)
 Merge parts of data subsets. More...
 
recursive subroutine, public bufr_c2f_interface::ipkm_c (cbay, nbyt, ival, cbay_len)
 Encode an integer into a character string. More...
 
integer(c_int) function, public bufr_c2f_interface::ireadmg_c (bufr_unit, c_subset, iddate, subset_str_len)
 Read the next message from a BUFR file. More...
 
integer(c_int) function, public bufr_c2f_interface::ireadns_c (bufr_unit, c_subset, iddate, subset_str_len)
 Read the next data subset from a BUFR file. More...
 
integer(c_int) function, public bufr_c2f_interface::ireadsb_c (bufr_unit)
 Read the next data subset from a BUFR message. More...
 
integer(c_int) function, public bufr_c2f_interface::isetprm_c (cprmnm, ipval)
 Define a customized parameter value for dynamic allocation. More...
 
integer(c_int) function, public bufr_c2f_interface::istdesc_c (idn)
 Check whether a descriptor is WMO-standard. More...
 
integer(c_int) function, public bufr_c2f_interface::iupbs01_c (bufr, mnemonic)
 Read a data value from Section 0 or Section 1 of a BUFR message. More...
 
recursive integer(c_int) function, public bufr_c2f_interface::iupm_c (cbay, nbits, lcbay)
 Decode an integer from a character string. More...
 
recursive integer(c_int) function, public bufr_c2f_interface::iupvs01_c (bufr_unit, c_s01m)
 Read a specified value from within Section 0 or 1 of a BUFR message. More...
 
recursive integer(c_int) function, public bufr_c2f_interface::lcmgdf_c (bufr_unit, c_subset)
 Check if a subset definition contains any long character strings. More...
 
subroutine, public bufr_c2f_interface::maxout_c (max0)
 Define a customized maximum length for output BUFR messages. More...
 
recursive subroutine, public bufr_c2f_interface::mesgbc_c (lunin, mesgtyp, icomp)
 Get information from the first data message in a BUFR file. More...
 
recursive subroutine, public bufr_c2f_interface::mesgbf_c (lunit, mesgtyp)
 Get information from the first data message in a BUFR file. More...
 
recursive subroutine, public bufr_c2f_interface::minimg_c (bufr_unit, mini)
 Write a minutes value into Section 1 of a BUFR message. More...
 
subroutine, public bufr_c2f_interface::mtinfo_c (path, file_unit_1, file_unit_2)
 Specify location of master BUFR tables on local file system. More...
 
subroutine, public bufr_c2f_interface::nemdefs_c (file_unit, mnemonic, unit_c, unit_str_len, desc_c, desc_str_len, iret)
 Get the element name and units associated with a Table B mnemonic. More...
 
subroutine, public bufr_c2f_interface::nemspecs_c (file_unit, mnemonic, mnemonic_idx, scale, reference, bits, iret)
 Get the scale factor, reference value and bit width associated with a specified occurrence of a Table B mnemonic. More...
 
subroutine, public bufr_c2f_interface::nemtab_c (lun, mnemonic, descriptor, table_type, table_idx)
 Get information about a descriptor. More...
 
subroutine, public bufr_c2f_interface::nemtbb_c (lun, table_idx, unit_str, unit_str_len, scale, reference, bits)
 Get information about a Table B descriptor. More...
 
recursive integer(c_int) function, public bufr_c2f_interface::nmsub_c (bufr_unit)
 Get the total number of data subsets available within a BUFR message. More...
 
subroutine, public bufr_c2f_interface::numtbd_c (lun, idn, nemo, nemo_str_len, tab, iret)
 Search for a Table B or Table D descriptor within the internal DX BUFR tables. More...
 
subroutine, public bufr_c2f_interface::open_c (lunit, filepath)
 Open a Fortran file from a C program. More...
 
recursive subroutine, public bufr_c2f_interface::openbf_c (bufr_unit, cio, table_file_id)
 Connect a new file to the library, or initialize the library, or change verbosity associated with already-connected file. More...
 
recursive subroutine, public bufr_c2f_interface::openmb_c (bufr_unit, c_subset, iddate)
 Open a new message for output in a BUFR file that was previously opened for writing. More...
 
recursive subroutine, public bufr_c2f_interface::openmg_c (bufr_unit, c_subset, iddate)
 Open a new message for output in a BUFR file that was previously opened for writing. More...
 
recursive subroutine, public bufr_c2f_interface::pkbs1_c (ival, mbay, c_s1m)
 Specify a value to be written into Section 1 of a BUFR message. More...
 
subroutine, public bufr_c2f_interface::pktdd_c (id, lun, idn, iret)
 Store information about a child mnemonic within the internal arrays. More...
 
recursive subroutine, public bufr_c2f_interface::pkvs01_c (c_s01m, ival)
 Specify a value to be written into Section 0 or 1 of all future BUFR messages. More...
 
recursive subroutine, public bufr_c2f_interface::rdmemm_c (imsg, c_subset, jdate, subset_str_len, ires)
 Read a specified message from internal arrays. More...
 
recursive subroutine, public bufr_c2f_interface::rdmems_c (isub, ires)
 Read a specified data subset from internal arrays. More...
 
recursive subroutine, public bufr_c2f_interface::rdmgsb_c (lunit, imsg, isub)
 Read a specified data subset from a BUFR file. More...
 
recursive subroutine, public bufr_c2f_interface::readerme_c (mesg, bufr_unit, c_subset, iddate, subset_str_len, ires)
 Read a BUFR message from a memory array. More...
 
recursive subroutine, public bufr_c2f_interface::readlc_c (lunit, str_id, output_str, output_str_len)
 Get a long string from the BUFR file. More...
 
recursive subroutine, public bufr_c2f_interface::readmg_c (bufr_unit, c_subset, iddate, subset_str_len, ires)
 Read the next message from a BUFR file. More...
 
recursive subroutine, public bufr_c2f_interface::readns_c (bufr_unit, c_subset, iddate, subset_str_len, ires)
 Read the next data subset from a BUFR file. More...
 
recursive subroutine, public bufr_c2f_interface::readsb_c (bufr_unit, ires)
 Read the next data subset from a BUFR message. More...
 
recursive subroutine, public bufr_c2f_interface::rtrcpt_c (lunit, iyr, imo, idy, ihr, imi, iret)
 Get the tank receipt time from Section 1 of a BUFR message. More...
 
recursive subroutine, public bufr_c2f_interface::setvalnb_c (bufr_unit, c_tagpv, ntagpv, c_tagnb, ntagnb, r8val, ires)
 Write a data value corresponding to a specific occurrence of a mnemonic. More...
 
recursive subroutine, public bufr_c2f_interface::status_c (file_unit, lun, il, im)
 Check whether a file is connected to the library. More...
 
recursive subroutine, public bufr_c2f_interface::stdmsg_c (cf)
 Specify whether to standardize future output BUFR messages. More...
 
recursive subroutine, public bufr_c2f_interface::stndrd_c (lunit, msgin, lmsgot, msgot)
 Standardize a copy of a BUFR message. More...
 
subroutine, public bufr_c2f_interface::stntbi_c (n, lun, numb, nemo, celsq)
 Store a new entry within the internal BUFR Table B or D. More...
 
recursive subroutine, public bufr_c2f_interface::strcpt_c (cf, iyr, imo, idy, ihr, imi)
 Specify a tank receipt time to be written into Section 1 of all future BUFR messages. More...
 
subroutine, public bufr_c2f_interface::strnum_c (str, num, iret)
 Decode an integer from a character string. More...
 
recursive subroutine, public bufr_c2f_interface::ufbcnt_c (lunit, kmsg, ksub)
 Get the current location of the file pointer within a BUFR file. More...
 
recursive subroutine, public bufr_c2f_interface::ufbcpy_c (lunin, lunot)
 Copy a BUFR data subset from one Fortran logical unit to another. More...
 
recursive subroutine, public bufr_c2f_interface::ufbcup_c (lunin, lunot)
 Copy unique elements of a data subset from one file to another. More...
 
recursive subroutine, public bufr_c2f_interface::ufbdmp_c (lunit, luprt)
 Print a verbose listing of the contents of a data subset. More...
 
recursive subroutine, public bufr_c2f_interface::ufbevn_c (bufr_unit, c_data, dim_1, dim_2, dim_3, iret, table_b_mnemonic)
 Read one or more data values from a data subset. More...
 
recursive subroutine, public bufr_c2f_interface::ufbget_c (bufr_unit, tab, i1, iret, table_b_mnemonic)
 Read one or more data values from a data subset without advancing the subset pointer. More...
 
recursive subroutine, public bufr_c2f_interface::ufbint_c (bufr_unit, c_data, dim_1, dim_2, iret, table_b_mnemonic)
 Read/write one or more data values from/to a data subset. More...
 
recursive subroutine, public bufr_c2f_interface::ufbinx_c (bufr_unit, imsg, isub, c_data, dim_1, dim_2, iret, table_b_mnemonic)
 Read one or more data values from a specified data subset. More...
 
recursive subroutine, public bufr_c2f_interface::ufbmem_c (lunit, inew, iret, iunit)
 Read an entire BUFR file into internal arrays. More...
 
recursive subroutine, public bufr_c2f_interface::ufbmex_c (lunit, lundx, inew, iret, mesg)
 Read an entire BUFR file into internal arrays. More...
 
recursive subroutine, public bufr_c2f_interface::ufbmms_c (imsg, isub, c_subset, jdate, subset_str_len)
 Read a specified data subset from internal arrays. More...
 
recursive subroutine, public bufr_c2f_interface::ufbmns_c (irep, c_subset, idate, subset_str_len)
 Read a specified data subset from internal arrays. More...
 
recursive subroutine, public bufr_c2f_interface::ufbovr_c (bufr_unit, c_data, dim_1, dim_2, iret, table_b_mnemonic)
 Overwrite one or more data values within a data subset. More...
 
recursive subroutine, public bufr_c2f_interface::ufbpos_c (bufr_unit, irec, isub, c_subset, iddate, subset_str_len)
 Jump forwards or backwards to a specified data subset within a BUFR file. More...
 
recursive subroutine, public bufr_c2f_interface::ufbqcd_c (lunit, cnemo, iqcd)
 Return a prepbufr program code corresponding to a mnemonic. More...
 
recursive subroutine, public bufr_c2f_interface::ufbqcp_c (lunit, iqcp, cnemo, cnemo_len)
 Return a mnemonic corresponding to a prepbufr program code. More...
 
recursive subroutine, public bufr_c2f_interface::ufbrep_c (bufr_unit, c_data, dim_1, dim_2, iret, table_b_mnemonic)
 Read/write one or more data values from/to a data subset. More...
 
recursive subroutine, public bufr_c2f_interface::ufbrms_c (imsg, isub, c_data, dim_1, dim_2, iret, table_b_mnemonic)
 Read one or more data values from internal arrays. More...
 
recursive subroutine, public bufr_c2f_interface::ufbseq_c (bufr_unit, c_data, dim_1, dim_2, iret, table_d_mnemonic)
 Read/write an entire sequence of data values from/to a data subset. More...
 
recursive subroutine, public bufr_c2f_interface::ufbstp_c (bufr_unit, c_data, dim_1, dim_2, iret, table_b_mnemonic)
 Read/write one or more data values from/to a data subset. More...
 
recursive subroutine, public bufr_c2f_interface::ufbtab_c (bufr_unit, c_data, dim_1, dim_2, iret, table_b_mnemonic)
 Read one or more data values from every data subset in a BUFR file. More...
 
recursive subroutine, public bufr_c2f_interface::ufbtam_c (c_data, dim_1, dim_2, iret, table_b_mnemonic)
 Read one or more data values from every data subset in internal arrays. More...
 
recursive subroutine, public bufr_c2f_interface::ufdump_c (lunit, luprt)
 Print a verbose listing of the contents of a data subset. More...
 
recursive subroutine, public bufr_c2f_interface::upds3_c (mbay, lcds3, ccds3, nds3)
 Get the sequence of data descriptors contained within Section 3 of a BUFR message. More...
 
recursive subroutine, public bufr_c2f_interface::upftbv_c (lunit, cnemo, val, ibit, mxib, nib)
 Get the bit settings equivalent to a given numerical value for a flag table mnemonic. More...
 
subroutine, public bufr_c2f_interface::uptdd_c (id, lun, ient, iret)
 Get the WMO bit-wise representation of the FXY value corresponding to a child mnemonic of a Table D sequence. More...
 
recursive subroutine, public bufr_c2f_interface::wrdxtb_c (lundx, lunot)
 Generate DX BUFR table messages and write them to a output file. More...
 
recursive subroutine, public bufr_c2f_interface::writlc_c (lunit, str, chr)
 Write a long string to the BUFR file. More...
 
recursive subroutine, public bufr_c2f_interface::writsa_c (bufr_unit, bufr_len, bufr, nbufr)
 Write the next data subset to a BUFR message, and return a copy of any completed message. More...
 
recursive subroutine, public bufr_c2f_interface::writsb_c (bufr_unit)
 Write the next data subset to a BUFR message. More...
 

Detailed Description

Enable a number of Fortran NCEPLIBS-bufr subprograms to be called from within C.

Author
Ronald Mclaren
Date
2020-07-29

Definition in file bufr_c2f_interface.F90.