NCEPLIBS-bufr  12.0.1
readns.f File Reference

Read the next data subset from a BUFR file that was previously opened for reading. More...

Go to the source code of this file.

Functions/Subroutines

recursive subroutine readns (LUNIT, SUBSET, JDATE, IRET)
 This subroutine provides a handy way to combine the functionality of subroutines readmg() and readsb() within a single subroutine call. More...
 

Detailed Description

Read the next data subset from a BUFR file that was previously opened for reading.

Author
J. Woollen
Date
1994-01-06

Definition in file readns.f.

Function/Subroutine Documentation

◆ readns()

recursive subroutine readns (   LUNIT,
character*8  SUBSET,
  JDATE,
  IRET 
)

This subroutine provides a handy way to combine the functionality of subroutines readmg() and readsb() within a single subroutine call.

Logical unit LUNIT should have already been opened for input operations via a previous call to subroutine openbf(). But once that is done, the application program can immediately call this subroutine to read each new data subset from the associated BUFR file, and the subroutine will automatically open and close each new BUFR message internally as needed, so that subsequent calls can immediately be made to any of the various values-reading subroutines.

Parameters
[in]LUNIT– integer: Fortran logical unit number for BUFR file
[out]SUBSET– character*8: Table A mnemonic for type of data subset 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 containing data subset that was read, in format of either YYMMDDHH or YYYYMMDDHH, depending on the most recent call to subroutine datelen()
[out]IRET– integer: return code
  • 0 = new BUFR data subset was successfully read into internal arrays
  • -1 = there are no more BUFR data subsets in the file connected to logical unit LUNIT
Author
J. Woollen
Date
1994-01-06

Definition at line 39 of file readns.f.

References bort(), moda_msgcwd::idate, modv_im8b::im8b, moda_msgcwd::inode, readmg(), readsb(), status(), moda_tables::tag, x48(), and x84().

Referenced by ireadns().