NCEPLIBS-bufr  12.0.0
readerme.f File Reference

Read a BUFR message from a memory array. More...

Go to the source code of this file.

Functions/Subroutines

recursive subroutine readerme (MESG, LUNIT, SUBSET, JDATE, IRET)
 Read a BUFR message from a memory array. More...
 

Detailed Description

Read a BUFR message from a memory array.

Authors
J. Woollen J. Ator
Date
1995-06-28

Definition in file readerme.f.

Function/Subroutine Documentation

◆ readerme()

recursive subroutine readerme ( dimension(*)  MESG,
  LUNIT,
character*8  SUBSET,
  JDATE,
  IRET 
)

Read a BUFR message from a memory array.


This subroutine is similar to subroutine readmg(), except that it reads a BUFR message from an array passed as input, whereas readmg() reads a BUFR message from a file on the local system.

This subroutine can be used in any context in which readmg() might otherwise be used, and from that point on, the application program can proceed with a call to one of the subset-reading subroutines (and then, subsequently, to any of the values-reading subroutines).

When using this subroutine, it's necessary for the application program to have previously called subroutine openbf() in order to associate a DX BUFR tables file with the message that is being input via MESG; it's also necessary to pass in the relevant LUNIT value as a call argument, even though in this case the subroutine will not actually try to read from the associated Fortran logical unit.

If MESG contains a DX BUFR table message, the subroutine will store the contents internally and use them to process any future BUFR messages associated with LUNIT. In this case, the subroutine will return with IRET = 11, and any number of DX BUFR table messages passed in via consecutive calls to this subroutine will accumulate internally and be treated as a single DX BUFR table, up until a call is made where MESG no longer contains a DX BUFR table message.

Parameters
[in]MESG- integer(*): BUFR message.
[in]LUNIT- integer: Fortran logical unit number for BUFR file.
[out]SUBSET- character*8: Table A mnemonic for type of BUFR message that was read (see DX BUFR Tables for further information about Table A mnemonics).
[out]JDATE- integer: Date-time stored within Section 1 of BUFR message that was read, in format of either YYMMDDHH or YYYYMMDDHH, depending on the most recent call to datelen().
[out]IRET- integer: return code:
  • 0 MESG was successfully read.
  • 11 MESG contained a DX BUFR table message.
  • -1 MESG contained an unrecognized Table A message type.
Authors
J. Woollen J. Ator
Date
1995-06-28

Definition at line 51 of file readerme.f.

References bort(), cktaba(), dxinit(), errwrt(), moda_idrdm::idrdm, idxmsg(), modv_im8b::im8b, moda_sc3bfr::isc3, iupbs3(), lmsg(), makestab(), moda_bitbuf::mbay, modv_mxmsgl::mxmsgl, reads3(), status(), stbfdx(), wtstat(), x48(), and x84().

Referenced by fdebufr_c().