NCEPLIBS-bufr  11.5.0
 All Data Structures Files Functions Variables Pages
bufr_c_interface_mod Module Reference

This module contains functions which wrap certain Fortran BUFRLIB functions so they can be called from C and C++. More...

Public Member Functions

subroutine, public closbf_c (bufr_unit)
 Wraps BUFRLIB "closbf" subroutine. More...
 
subroutine, public close_c (lunit)
 Wraps fortran "close" statement so we can close a Fortran file from a C program. More...
 
subroutine, public exitbufr_c ()
 Wraps BUFRLIB "exitbufr" subroutine. Closes all open file units used by BUFRLIB. More...
 
integer(c_int) function, public ireadmg_c (bufr_unit, c_subset, iddate, subset_str_len)
 Wraps BUFRLIB "ireadmg" subroutine. More...
 
integer(c_int) function, public ireadsb_c (bufr_unit)
 Wraps BUFRLIB "ireadsb" function. More...
 
subroutine, public mtinfo_c (path, file_unit_1, file_unit_2)
 Wraps BUFRLIB "mtinfo" function. More...
 
subroutine, public open_c (lunit, filepath)
 Wraps fortran "open" statement so we can open a Fortran file from a C program. More...
 
subroutine, public openbf_c (bufr_unit, cio, table_file_id)
 Wraps BUFRLIB "openbf" subroutine. More...
 
subroutine, public ufbint_c (bufr_unit, c_data, dim_1, dim_2, iret, table_b_mnemonic)
 Wraps BUFRLIB "ufbint" function. More...
 
subroutine, public ufbrep_c (bufr_unit, c_data, dim_1, dim_2, iret, table_b_mnemonic)
 Wraps BUFRLIB "ufbrep" function. More...
 

Detailed Description

This module contains functions which wrap certain Fortran BUFRLIB functions so they can be called from C and C++.

The signatures of the public functions match their Fortran equivalents, as shown within the documentation for each of the individual functions.

Author
Ronald Mclaren
Date
2020-07-29

Definition at line 16 of file bufr_interface.f90.

Member Function/Subroutine Documentation

subroutine, public bufr_c_interface_mod::closbf_c ( integer(c_int)  bufr_unit)

Wraps BUFRLIB "closbf" subroutine.

Author
Ronald McLaren
Date
2020-07-29
Parameters
[in]bufr_unit- c_int: the fortran file unit number to close

Definition at line 141 of file bufr_interface.f90.

References closbf().

subroutine, public bufr_c_interface_mod::close_c ( integer(c_int)  lunit)

Wraps fortran "close" statement so we can close a Fortran file from a C program.

Author
Ronald McLaren
Date
2020-07-29
Parameters
[in]lunit- c_int: the integer to use as the fortran file unit

Definition at line 109 of file bufr_interface.f90.

subroutine, public bufr_c_interface_mod::exitbufr_c ( )

Wraps BUFRLIB "exitbufr" subroutine. Closes all open file units used by BUFRLIB.

Author
Ronald McLaren
Date
2020-07-29

Definition at line 154 of file bufr_interface.f90.

References exitbufr().

integer(c_int) function, public bufr_c_interface_mod::ireadmg_c ( integer(c_int)  bufr_unit,
character(kind=c_char, len=1), dimension(*), intent(inout)  c_subset,
integer(c_int), intent(out)  iddate,
integer(c_int)  subset_str_len 
)

Wraps BUFRLIB "ireadmg" subroutine.

Author
Ronald McLaren
Date
2020-07-29
Parameters
[in]bufr_unit- c_int: the fortran file unit number to read from
[in,out]c_subset- c_char: the subset string
[out]iddate- c_int: datetime of message
[in]subset_str_len- c_int: length of the subset string

Definition at line 169 of file bufr_interface.f90.

References ireadmg().

integer(c_int) function, public bufr_c_interface_mod::ireadsb_c ( integer(c_int)  bufr_unit)

Wraps BUFRLIB "ireadsb" function.

Author
Ronald McLaren
Date
2020-07-29
Parameters
[in]bufr_unit- c_int: the fortran file unit number to read from

Definition at line 190 of file bufr_interface.f90.

References ireadsb().

subroutine, public bufr_c_interface_mod::mtinfo_c ( character(kind=c_char, len=1), intent(in)  path,
integer(c_int)  file_unit_1,
integer(c_int)  file_unit_2 
)

Wraps BUFRLIB "mtinfo" function.

Author
Ronald McLaren
Date
2021-02-24
Parameters
[in]path- c_char: the path where the WMO tables are stored
[in]file_unit_1- c_int: number to use for first file unit
[in]file_unit_2- c_int: number to use for second file unit

Definition at line 256 of file bufr_interface.f90.

References mtinfo().

subroutine, public bufr_c_interface_mod::open_c ( integer(c_int)  lunit,
character(kind=c_char, len=1)  filepath 
)

Wraps fortran "open" statement so we can open a Fortran file from a C program.

Author
Ronald McLaren
Date
2020-07-29
Parameters
[in]lunit- c_int: the integer to use as the fortran file unit
[in]filepath- c_char: path to the file we want to open.

Definition at line 93 of file bufr_interface.f90.

subroutine, public bufr_c_interface_mod::openbf_c ( integer(c_int)  bufr_unit,
character(kind=c_char, len=1), intent(in)  cio,
integer(c_int)  table_file_id 
)

Wraps BUFRLIB "openbf" subroutine.

Author
Ronald McLaren
Date
2020-07-29
Parameters
[in]bufr_unit- c_int: the fortran file unit number
[in]cio- c_char: cio string
[in]table_file_id- c_int: table_file unit number

Definition at line 125 of file bufr_interface.f90.

References openbf().

subroutine, public bufr_c_interface_mod::ufbint_c ( integer(c_int)  bufr_unit,
type(c_ptr), intent(inout)  c_data,
integer(c_int)  dim_1,
integer(c_int)  dim_2,
integer(c_int), intent(out)  iret,
character(kind=c_char, len=1), intent(in)  table_b_mnemonic 
)

Wraps BUFRLIB "ufbint" function.

Author
Ronald McLaren
Date
2020-07-29
Parameters
[in]bufr_unit- c_int: the fortran file unit number to read from
[in,out]c_data- c_ptr: c style pointer to a pre-allocated buffer
[in]dim_1,dim_2- c_int: dimensionality of data to read or write
[out]iret- c_int: return value, length of data read
[in]table_b_mnemonic- c_char: string of mnemonics

Definition at line 210 of file bufr_interface.f90.

References ufbint().

subroutine, public bufr_c_interface_mod::ufbrep_c ( integer(c_int)  bufr_unit,
type(c_ptr), intent(inout)  c_data,
integer(c_int)  dim_1,
integer(c_int)  dim_2,
integer(c_int), intent(out)  iret,
character(kind=c_char, len=1), intent(in)  table_b_mnemonic 
)

Wraps BUFRLIB "ufbrep" function.

Author
Ronald McLaren
Date
2020-07-29
Parameters
[in]bufr_unit- c_int: the fortran file unit number to read from
[in,out]c_data- c_ptr: c style pointer to a pre-allocated buffer
[in]dim_1,dim_2- c_int: dimensionality of data to read or write
[out]iret- c_int: return value, length of data read
[in]table_b_mnemonic- c_char: string of mnemonics

Definition at line 234 of file bufr_interface.f90.

References ufbrep().


The documentation for this module was generated from the following file: