NCEPLIBS-bufr
12.1.0
|
Process bitmaps within BUFR messages. More...
Go to the source code of this file.
Functions/Subroutines | |
recursive subroutine | gettagre (lunit, tagi, ntagi, tagre, ntagre, iret) |
Check whether a specified Table B mnemonic references another Table B mnemonic within the same data subset via an internal bitmap. More... | |
integer function | igetrfel (n, lun) |
Check whether a subset element refers to a previous element within the same subset via an internal bitmap. More... | |
integer function | imrkopr (nemo) |
Check whether a specified mnemonic is a Table C marker operator. More... | |
subroutine | strbtm (n, lun) |
Store internal information in module moda_bitmaps if the input element is part of a bitmap. More... | |
recursive subroutine gettagre | ( | integer, intent(in) | lunit, |
character*(*), intent(in) | tagi, | ||
integer, intent(in) | ntagi, | ||
character*(*), intent(out) | tagre, | ||
integer, intent(out) | ntagre, | ||
integer, intent(out) | iret | ||
) |
Check whether a specified Table B mnemonic references another Table B mnemonic within the same data subset via an internal bitmap.
If so, then the referenced mnemonic is returned along with its location within the subset.
lunit | - Fortran logical unit number for BUFR file |
tagi | - Table B mnemonic |
ntagi | - Ordinal occurrence of tagi for which tagre is to be returned, counting from the beginning of the overall subset definition |
tagre | - Table B mnemonic referenced by tagi via an internal bitmap |
ntagre | - Ordinal occurrence of tagre referenced by (ntagi)th occurrence of tagi, counting from the beginning of the overall subset definition |
iret | - Return code
|
A data subset must already be in scope within the NCEPLIBS-bufr internal arrays for lunit, either via a previous call to one of the subset-reading subroutines (when reading BUFR data subsets) or via a previous call to one of the message-writing subroutines (when writing BUFR data subsets).
Definition at line 102 of file bitmaps.F90.
References fstag(), moda_msgcwd::inode, moda_usrint::inv, moda_usrint::nrfelm, status(), strsuc(), moda_tables::tag, x48(), and x84().
integer function igetrfel | ( | integer, intent(in) | n, |
integer, intent(in) | lun | ||
) |
Check whether a subset element refers to a previous element within the same subset via an internal bitmap.
If so, then the referenced element is returned. In addition, if the input element is a 2-XX-255 marker operator, then its scale factor, bit width and reference values are set internally to match those of the referenced element.
n | - Subset element |
lun | - File ID |
Definition at line 175 of file bitmaps.F90.
References adn30(), bort(), moda_bitmaps::ctco, moda_tables::ibt, moda_bitmaps::ibtmse, moda_nrv203::ienrv, imrkopr(), moda_msgcwd::inode, moda_nrv203::inodnrv, moda_bitmaps::inodtamc, moda_bitmaps::inodtco, moda_usrint::inv, moda_tables::irf, moda_tables::isc, moda_nrv203::isnrv, moda_bitmaps::istbtm, moda_bitmaps::iszbtm, moda_tables::itp, lstjpb(), moda_bitmaps::lstnod, moda_bitmaps::lstnodct, moda_bitmaps::nbtm, moda_bitmaps::nbtmse, nemtab(), moda_nrv203::nnrv, moda_nrv203::nrv, moda_bitmaps::ntamc, moda_bitmaps::ntco, moda_usrint::nval, moda_tables::tag, and moda_nrv203::tagnrv.
integer function imrkopr | ( | character*(*), intent(in) | nemo | ) |
Check whether a specified mnemonic is a Table C marker operator.
nemo | - Mnemonic |
Definition at line 353 of file bitmaps.F90.
Referenced by igetrfel(), bufr_c2f_interface::imrkopr_c(), and iokoper().
subroutine strbtm | ( | integer, intent(in) | n, |
integer, intent(in) | lun | ||
) |
Store internal information in module moda_bitmaps if the input element is part of a bitmap.
n | - Subset element |
lun | - File ID |
Definition at line 12 of file bitmaps.F90.
References bort(), moda_bitmaps::ctco, moda_bitmaps::ibtmse, moda_msgcwd::inode, moda_bitmaps::inodtamc, moda_bitmaps::inodtco, moda_usrint::inv, moda_tables::isc, moda_bitmaps::istbtm, moda_bitmaps::iszbtm, moda_tables::itp, moda_bitmaps::linbtm, moda_bitmaps::nbtm, moda_bitmaps::nbtmse, moda_bitmaps::ntamc, moda_bitmaps::ntco, moda_tables::tag, and moda_usrint::val.