NCEPLIBS-bufr
12.0.0
|
Write an uncompressed BUFR data subset. More...
Go to the source code of this file.
Functions/Subroutines | |
subroutine | msgupd (LUNIT, LUN) |
This subroutine packs up the current subset within memory (array ibay in module moda_bitbuf) and then tries to add it to the BUFR message that is currently open within memory for LUNIT (array mbay in module moda_bitbuf). More... | |
subroutine msgupd | ( | LUNIT, | |
LUN | |||
) |
This subroutine packs up the current subset within memory (array ibay in module moda_bitbuf) and then tries to add it to the BUFR message that is currently open within memory for LUNIT (array mbay in module moda_bitbuf).
If the subset will not fit into the currently open message, or if the subset byte count exceeds 65530 (sufficiently close to the 16-bit byte counter upper limit of 65535), then that message is flushed to LUNIT and a new one is created in order to hold the current subset. Any subset with byte count > 65530 will be written into its own one-subset message. if the current subset is larger than the maximum message length, then the subset is discarded and a diagnostic is printed.
[in] | LUNIT | - integer: fortran logical unit number for BUFR file. |
[in] | LUN | - integer: I/O stream index into internal memory arrays (associated with file connected to logical unit LUNIT). |
Definition at line 23 of file msgupd.f.
References moda_h4wlc::chh4wlc, errwrt(), moda_bitbuf::ibay, moda_bitbuf::ibit, iupb(), moda_h4wlc::luh4wlc, moda_bitbuf::maxbyt, moda_bitbuf::mbay, moda_bitbuf::mbyt, msgini(), msgwrt(), mvb(), moda_h4wlc::nh4wlc, moda_msgcwd::nsub, pad(), pkb(), moda_h4wlc::sth4wlc, usrtpl(), and writlc().