NCEPLIBS-bufr
12.0.0
|
Read one or more data values from every data subset in internal arrays. More...
Go to the source code of this file.
Functions/Subroutines | |
recursive subroutine | ufbtam (TAB, I1, I2, IRET, STR) |
This subroutine reads through every data subset in internal arrays and returns one or more specified data values from each subset. More... | |
Read one or more data values from every data subset in internal arrays.
Definition in file ufbtam.f.
recursive subroutine ufbtam | ( | real*8, dimension(i1,i2) | TAB, |
I1, | |||
I2, | |||
IRET, | |||
character*(*) | STR | ||
) |
This subroutine reads through every data subset in internal arrays and returns one or more specified data values from each subset.
This provides a useful way to scan the ranges of one or more specified data values across all of the data subsets in the internal arrays. It is similar to subroutine ufbtab(), except that ufbtab() works on data subsets in a BUFR file.
It is the user's responsibility to ensure that TAB is dimensioned sufficiently large enough to accommodate the number of data values that are to be read from the internal arrays. Specifically, each row of TAB will contain the data values read from a different data subset, so the value I2 must be at least as large as the total number of data subsets in the internal arrays.
The internal arrays must have already been populated via a previous call to subroutine ufbmem().
There are a few additional special mnemonics that can be included within STR when calling this subroutine, and which in turn will result in special information being returned within the corresponding location in TAB:
This subroutine will not work on compressed data subsets.
[out] | TAB | – real*8(*,*): Data values. |
[in] | I1 | – integer: First dimension of TAB as allocated within the calling program. |
[in] | I2 | – integer: Second dimension of TAB as allocated within the calling program. |
[out] | IRET | – integer: Number of data subsets in internal arrays. |
[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 each data subset within the first dimension of TAB (see DX BUFR Tables for further information about Table B mnemonics). |
Definition at line 54 of file ufbtam.f.
References modv_bmiss::bmiss, bort(), errwrt(), moda_bitbuf::ibit, moda_tables::ibt, modv_im8b::im8b, moda_usrint::inv, moda_tables::itp, moda_msgmem::ldxts, moda_bitbuf::mbay, moda_bitbuf::mbyt, moda_msgmem::msgp, moda_msgcwd::msub, moda_msgmem::munit, moda_msgcwd::nmsg, nmsub(), moda_msgcwd::nsub, moda_usrint::nval, parstr(), rdmemm(), status(), string(), upb(), upb8(), upc(), ups(), usrtpl(), x48(), and x84().