NCEPLIBS-bufr  11.6.0
 All Data Structures Files Functions Variables Pages
ireadmt.f File Reference

Check whether master BUFR tables need to be read from the local file system. More...

Go to the source code of this file.

Functions/Subroutines

INTEGER function ireadmt (LUN)
 This function checks the most recent BUFR message that was read via a call to one of the message-reading subroutines and determines whether the appropriate corresponding BUFR master tables have already been read into internal memory. More...
 

Detailed Description

Check whether master BUFR tables need to be read from the local file system.

Definition in file ireadmt.f.

Function/Subroutine Documentation

INTEGER function ireadmt (   LUN)

This function checks the most recent BUFR message that was read via a call to one of the message-reading subroutines and determines whether the appropriate corresponding BUFR master tables have already been read into internal memory.

If not, then it opens the appropriate master BUFR tables on the local file system and then reads the contents into internal memory, clearing any previous master BUFR table information that may have previously been stored there.

Author
J. Ator
Date
2009-03-23
Parameters
[in]LUN– integer: Internal I/O stream index associated with BUFR file
Returns
ireadmt – integer: Flag indicating whether new master BUFR tables needed to be read into internal memory:
  • 0 = No
  • 1 = Yes

Information about the location of master BUFR tables on the local file system is obtained from the most recent call to subroutine mtinfo(), or else from subroutine bfrini() if subroutine mtinfo() was never called, and in which case Fortran logical unit numbers 98 and 99 will be used by this function for opening and reading master BUFR table files.

Program history log:

Date Programmer Comments
2009-03-23 J. Ator Original author
2014-11-25 J. Ator Add call to cpmstabs() for access to master table information within C when using dynamically-allocated arrays
2017-10-13 J. Ator Add functionality to check whether new master tables need to be read (this functionality was previously part of subroutine reads3())
2018-04-09 J. Ator Only read master B and D tables when Section 3 is being used for decoding

Definition at line 42 of file ireadmt.f.

References bort2(), cpmstabs(), errwrt(), icvidx(), ifxy(), istdesc(), iupbs01(), mtfnam(), rdmtbb(), rdmtbd(), rdmtbf(), and upds3().

Referenced by getcfmng(), reads3(), and ufdump().