NCEPLIBS-bufr
12.0.1
|
Write a long character string (greater than 8 bytes) to a data subset. More...
Go to the source code of this file.
Functions/Subroutines | |
recursive subroutine | writlc (LUNIT, CHR, STR) |
Write a long character string (greater than 8 bytes) to a data subset. More... | |
Write a long character string (greater than 8 bytes) to a data subset.
Definition in file writlc.f.
recursive subroutine writlc | ( | LUNIT, | |
character*(*) | CHR, | ||
character*(*) | STR | ||
) |
Write a long character string (greater than 8 bytes) to a data subset.
The data subset should have already been written into a BUFR message before calling this subroutine to write a long character string into the subset.
If there is more than one occurrence of STR within the data subset definition, then each occurrence can be written 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'.
Character strings which are 8 bytes or less in length can be written by converting the string into a real*8 value within the application program, and then using the real*8 USR array within a call to one of the BUFRLIB values-writing subroutines prior to calling one of the subset-writing subroutines for the data subset.
[in] | LUNIT | - integer: Fortran logical unit number for BUFR file. |
[in] | CHR | - character*(*): Value corresponding to STR. |
[in] | STR | - character*(*): Table B mnemonic of long character string to be written, possibly supplemented with an ordinal occurrence notation. |
Definition at line 39 of file writlc.f.
References bort(), moda_comprs::catx, errwrt(), getlens(), moda_bitbuf::ibit, moda_tables::ibt, modv_im8b::im8b, moda_usrint::inv, moda_tables::itp, iupbs3(), moda_comprs::matx, moda_bitbuf::mbay, modv_mxlcc::mxlcc, moda_comprs::ncol, moda_msgcwd::nsub, moda_usrint::nval, parstr(), parutg(), pkc(), status(), moda_tables::tag, moda_tables::typ, upb(), upbb(), usrtpl(), and x84().
Referenced by msgupd().