NCEPLIBS-bufr 11.7.1
|
Read a long character string (greater than 8 bytes) from a data subset. More...
Go to the source code of this file.
Functions/Subroutines | |
subroutine | readlc (LUNIT, CHR, STR) |
This subroutine reads a long character string (greater than 8 bytes) from a data subset. More... | |
Read a long character string (greater than 8 bytes) from a data subset.
Definition in file readlc.f.
subroutine readlc | ( | LUNIT, | |
character*(*) | CHR, | ||
character*(*) | STR | ||
) |
This subroutine reads a long character string (greater than 8 bytes) from a data subset.
The data subset should have already been read into internal arrays via a previous call to one of the subset-reading subroutines.
[in] | LUNIT | – integer: Fortran logical unit number for BUFR file |
[out] | CHR | – character*(*): Value corresponding to STR |
[in] | STR | – character*(*): Table B mnemonic of long character string to be retrieved, possibly supplemented with an ordinal occurrence notation |
If there is more than one occurrence of STR within the data subset definition, then each occurrence can be retrieved via a separate call to this subroutine, and by appending the ordinal number of the occurrence to STR in each case. For example, if there are 5 occurrences of mnemonic LSTID within a given data subset definition, then 5 separate calls should be made to this subroutine, once each with STR set to 'LSTID#1', 'LSTID#2', 'LSTID#3', 'LSTID#4' and 'LSTID#5'. However, the first notation is superfluous, because omitting the ordinal number always defaults to the first occurrence of a particular string, so a user could just specify 'LSTID' instead of 'LSTID#1'.
Program history log:
Date | Programmer | Comments |
---|---|---|
2003-11-04 | J. Woollen | Original author |
2004-08-09 | J. Ator | Maximum message length increased from 20,000 to 50,000 bytes |
2007-01-19 | J. Ator | Replaced call to parseq with call to parstr() |
2009-03-23 | J. Ator | Added capability for compressed messages; added check for overflow of chr; added '#' option for more than one occurrence of STR |
2009-04-21 | J. Ator | Use errwrt() |
2012-12-07 | J. Ator | Allow str mnemonic length of up to 14 chars when used with '#' occurrence code |
2014-12-10 | J. Ator | Use modules instead of COMMON blocks |
2020-09-09 | J. Ator | Set CHR to "missing" instead of all blanks if STR isn't found in subset |
Definition at line 58 of file readlc.f.
References bort(), errwrt(), ipkm(), moda_tables::itp, moda_bitbuf::mbay, parstr(), parutg(), status(), moda_tables::tag, and upc().