NCEPLIBS-bufr
11.7.0
|
Connect a new system file to the BUFRLIB software, and read the entire file contents into internal arrays. More...
Go to the source code of this file.
Functions/Subroutines | |
subroutine | ufbmex (LUNIT, LUNDX, INEW, IRET, MESG) |
This subroutine connects a new system file to the BUFRLIB software for input operations, then reads the entire file contents into internal arrays so that any of the individual BUFR messages can later be accessed from memory, instead of having to read them one at a time sequentially from the system file. More... | |
Connect a new system file to the BUFRLIB software, and read the entire file contents into internal arrays.
Definition in file ufbmex.f.
subroutine ufbmex | ( | LUNIT, | |
LUNDX, | |||
INEW, | |||
IRET, | |||
integer, dimension(*) | MESG | ||
) |
This subroutine connects a new system file to the BUFRLIB software for input operations, then reads the entire file contents into internal arrays so that any of the individual BUFR messages can later be accessed from memory, instead of having to read them one at a time sequentially from the system file.
This subroutine is similar to subroutine ufbmem(), except that after reading in all of the messages, it then sorts them according to their message types and returns a corresponding list of these types. Furthermore, it does not process any embedded DX BUFR tables contained within the system file, since these tables are no longer relevant once the messages have been sorted and re-ordered from their original positions in the file. Instead, this subroutine provides an additional call argument LUNDX to allow for specification of the necessary DX BUFR table information associated with the messages in the file.
[in] | LUNIT | – integer: Fortran logical unit number for BUFR file |
[in] | LUNDX | – integer: Fortran logical unit number containing DX BUFR table information associated with BUFR messages in LUNIT |
[in] | INEW | – integer: Processing option
|
[out] | IRET | – integer: Number of BUFR messages that were read from LUNIT and stored into internal arrays |
[out] | MESG | – integer(*): Types of BUFR messages that were read from LUNIT and stored into internal arrays |
Logical unit numbers LUNIT and LUNDX must already be associated with actual filenames on the local system, typically via a Fortran "OPEN" statement.
Program history log:
Date | Programmer | Comments |
---|---|---|
2012-01-26 | J. Woollen | Original author |
2014-12-10 | J. Ator | Use modules instead of COMMON blocks |
2015-09-24 | D. Stokes | Fix missing declaration of COMMON /QUIET/ |
Definition at line 53 of file ufbmex.f.
References bort(), closbf(), errwrt(), iupbs01(), nmwrd(), openbf(), and rdmsgw().