NCEPLIBS-bufr  12.0.0
gettagre.f File Reference

Check whether a Table B mnemonic references another Table B mnemonic via an internal bitmap. More...

Go to the source code of this file.

Functions/Subroutines

recursive subroutine gettagre (LUNIT, TAGI, NTAGI, TAGRE, NTAGRE, IRET)
 This subroutine determines whether a specified Table B mnemonic references another Table B mnemonic within the same data subset via an internal bitmap, and if so returns the referenced mnemonic and its location within the subset. More...
 

Detailed Description

Check whether a Table B mnemonic references another Table B mnemonic via an internal bitmap.

Author
J. Ator
Date
2016-06-07

Definition in file gettagre.f.

Function/Subroutine Documentation

◆ gettagre()

recursive subroutine gettagre (   LUNIT,
character*(*)  TAGI,
  NTAGI,
character*(*)  TAGRE,
  NTAGRE,
  IRET 
)

This subroutine determines whether a specified Table B mnemonic references another Table B mnemonic within the same data subset via an internal bitmap, and if so returns the referenced mnemonic and its location within the subset.

Parameters
[in]LUNIT– integer: Fortran logical unit number for BUFR file
[in]TAGI– character*(*): Table B mnemonic
[in]NTAGI– integer: Ordinal occurrence of TAGI for which TAGRE is to be returned, counting from the beginning of the overall subset definition
[out]TAGRE– character*(*): Table B mnemonic referenced by TAGI via an internal bitmap
[out]NTAGRE– integer: Ordinal occurrence of TAGRE referenced by (NTAGI)th occurrence of TAGI, counting from the beginning of the overall subset definition
[out]IRET– integer: return code
  • 0 = normal return
  • -1 = TAGRE could not be found, or some other error occurred

A data subset must already be in scope within the BUFRLIB 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).

Author
J. Ator
Date
2016-06-07

Definition at line 37 of file gettagre.f.

References fstag(), modv_im8b::im8b, moda_msgcwd::inode, moda_usrint::inv, moda_usrint::nrfelm, status(), strsuc(), moda_tables::tag, x48(), and x84().