NCEPLIBS-bufr 11.7.1
|
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... | |
Check whether master BUFR tables need to be read from the local file system.
Definition in file ireadmt.f.
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.
[in] | LUN | – integer: Internal I/O stream index associated with BUFR file |
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(), moda_mstabs::cbbw, moda_mstabs::cbelem, moda_mstabs::cbmnem, moda_mstabs::cbscl, moda_mstabs::cbsref, moda_mstabs::cbunit, moda_mstabs::cdmnem, moda_mstabs::cdseq, cpmstabs(), errwrt(), moda_mstabs::ibfxyn, icvidx(), moda_mstabs::idefxy, moda_mstabs::idfxyn, ifxy(), ireadmt(), istdesc(), iupbs01(), modv_maxcd::maxcd, modv_maxnc::maxnc, moda_bitbuf::mbay, mtfnam(), modv_mxmtbb::mxmtbb, modv_mxmtbd::mxmtbd, moda_mstabs::ndelem, moda_mstabs::nmtb, moda_mstabs::nmtd, rdmtbb(), rdmtbd(), rdmtbf(), and upds3().
Referenced by getcfmng(), ireadmt(), reads3(), and ufdump().