NCEPLIBS-bufr  12.0.0
ufbinx.f File Reference

Read one or more data values from a data subset. More...

Go to the source code of this file.

Functions/Subroutines

recursive subroutine ufbinx (LUNIT, IMSG, ISUB, USR, I1, I2, IRET, STR)
 Read one or more data values from a data subset. More...
 

Detailed Description

Read one or more data values from a data subset.

Author
Woollen
Date
2003-11-04

Definition in file ufbinx.f.

Function/Subroutine Documentation

◆ ufbinx()

recursive subroutine ufbinx (   LUNIT,
  IMSG,
  ISUB,
real*8, dimension(i1,i2)  USR,
  I1,
  I2,
  IRET,
character*(*)  STR 
)

Read one or more data values from a data subset.

If logical unit LUNIT has already been opened for input operations via a previous call to subroutine openbf(), then this subroutine will save the current file position, rewind the file to the beginning, reposition the file to a specified data subset within a specified message, read one or more specified data values from that data subset via an internal call to ufbint(), and then restore the file to its previous position.

Otherwise, if logical unit LUNIT has not already been opened for input operations via a previous call to subroutine openbf(), then this subroutine will open it via an internal call to subroutine openbf(), position the file to a specified data subset within a specified message, read one or more specified data values from that data subset via an internal call to ufbint(), and then close the file via an internal call to subroutine closbf().

Parameters
[in]LUNIT- integer: Fortran logical unit number for BUFR file.
[in]IMSG- integer: Number of BUFR message to be read from the BUFR file, counting from the beginning of the file, but not counting any DX BUFR table messages which may be present in the file
[in]ISUB- integer: Number of data subset to be read from read from the (IMSG)th BUFR message, counting from the beginning of the message
[out]USR- real*8(*,*): Data values
[in]I1- integer: First dimension of USR as allocated within the calling program
[in]I2- integer: Second dimension of USR as allocated within the calling program
[out]IRET- integer: Number of replications of STR that were read from the data subset
[in]STR- character*(*): string of blank-separated Table B mnemonics in one-to-one correspondence with the number of data values that will be read from the data subset into the first dimension of USR
Author
Woollen
Date
2003-11-04

Definition at line 43 of file ufbinx.f.

References bort(), closbf(), moda_bitbuf::ibit, modv_im8b::im8b, moda_bitbuf::mbay, moda_bitbuf::mbyt, moda_msgcwd::msub, moda_msgcwd::nsub, openbf(), readmg(), readsb(), rewnbf(), status(), ufbint(), upb(), x48(), and x84().