NCEPLIBS-bufr  12.0.0
writlc.f File Reference

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...
 

Detailed Description

Write a long character string (greater than 8 bytes) to a data subset.

Author
J. Woollen
J. Ator
Date
2003-11-04

Definition in file writlc.f.

Function/Subroutine Documentation

◆ writlc()

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.

Parameters
[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.
Author
J. Woollen
J. Ator
Date
2003-11-04

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().