NCEPLIBS-bufr 11.7.1
|
Finalize a BUFR message for output and write the message to a BUFR file. More...
Go to the source code of this file.
Functions/Subroutines | |
subroutine | msgwrt (LUNIT, MESG, MGBYT) |
This subroutine performs final checks and updates on a BUFR message before writing it to a specified Fortran logical unit. More... | |
Finalize a BUFR message for output and write the message to a BUFR file.
Definition in file msgwrt.f.
subroutine msgwrt | ( | LUNIT, | |
dimension(*) | MESG, | ||
MGBYT | |||
) |
This subroutine performs final checks and updates on a BUFR message before writing it to a specified Fortran logical unit.
These final checks and updates include:
[in] | LUNIT | – integer: Fortran logical unit number for BUFR file |
[in] | MESG | – integer(*): BUFR message |
[in] | MGBYT | – integer: Size (in bytes) of BUFR message |
Program history log:
Date | Programmer | Comments |
---|---|---|
1994-01-06 | J. Woollen | Original author |
1997-07-29 | J. Woollen | Modified to update the current BUFR version written in Section 0 from 2 to 3 |
1998-07-08 | J. Woollen | Replaced call to Cray library routine ABORT with call to new internal routine bort() |
1998-11-24 | J. Woollen | Modified to zero out the padding bytes written at the end of Section 4 |
2000-09-19 | J. Woollen | Maximum message length increased from 10,000 to 20,000 bytes |
2003-11-04 | J. Ator | Don't write to LUNIT if opened by openbf() using IO = 'NUL' |
2003-11-04 | S. Bender | Added remarks and routine interdependencies |
2003-11-04 | D. Keyser | Unified/portable for WRF; added documentation; outputs more complete diagnostic info when routine terminates abnormally |
2005-11-29 | J. Ator | Use getlens(), iupbs01(), padmsg(), pkbs1() and nmwrd(); added logic to call pkbs1() and/or cnved4() when necessary |
2009-03-23 | J. Ator | Use idxmsg() and errwrt(); add call to atrcpt(); allow standardizing even if data is compressed; work on local copy of input message |
2012-09-15 | J. Woollen | Modified for C/I/O/BUFR interface; call new routine blocks() for file blocking and new C routine cwrbufr() to write BUFR message to disk file |
2014-12-10 | J. Ator | Use modules instead of COMMON blocks |
2019-05-09 | J. Ator | Added dimensions for MSGLEN and MSGTXT |
Definition at line 54 of file msgwrt.f.
References atrcpt(), blocks(), bort(), cnved4(), cwrbufr(), errwrt(), getlens(), idxmsg(), iupbs01(), modv_mxmsgl::mxmsgld4, nmwrd(), padmsg(), pkb(), pkbs1(), pkc(), status(), and stndrd().
Referenced by closmg(), copybf(), copymg(), cpymem(), cpyupd(), msgupd(), wrcmps(), and wrdxtb().