NCEPLIBS-bufr
11.7.0
|
Standardize a BUFR message. More...
Go to the source code of this file.
Functions/Subroutines | |
subroutine | stndrd (LUNIT, MSGIN, LMSGOT, MSGOT) |
This subroutine performs the same function as subroutine stdmsg(), except that it operates on a BUFR message passed in via a memory array and returns its output via a separate memory array, whereas stdmsg() operates on BUFR messages stored internally within the software. More... | |
Standardize a BUFR message.
Definition in file stndrd.f.
subroutine stndrd | ( | LUNIT, | |
dimension(*) | MSGIN, | ||
LMSGOT, | |||
dimension(*) | MSGOT | ||
) |
This subroutine performs the same function as subroutine stdmsg(), except that it operates on a BUFR message passed in via a memory array and returns its output via a separate memory array, whereas stdmsg() operates on BUFR messages stored internally within the software.
[in] | LUNIT | – integer: Fortran logical unit number for BUFR file |
[in] | MSGIN | – integer(*): BUFR message |
[in] | LMSGOT | – integer: Dimensioned size (in integers) of MSGOT; used by the subroutine to ensure that it doesn't overflow the MSGOT array |
[out] | MSGOT | – integer(*): Standardized copy of MSGIN |
Program history log:
Date | Programmer | Comments |
---|---|---|
2004-08-18 | J. Ator | Original author |
2005-11-29 | J. Ator | Use getlens() and iupbs01(); ensure that byte 4 of Section 4 is zeroed out in MSGOT; check edition number of BUFR message before padding to an even byte count |
2009-03-23 | J. Ator | Use iupbs3() and nemtbax(); don't assume that compressed messages are already fully standardized within Section 3 |
2014-02-04 | J. Ator | Account for subsets with byte count > 65530 |
2020-07-16 | J. Ator | Fix bug in ISLEN computation when NSUB = 1 |
Definition at line 36 of file stndrd.f.
References bort(), getlens(), istdesc(), iupb(), iupbs01(), iupbs3(), mvb(), nemtbax(), numtab(), pkb(), pkc(), restd(), status(), upb(), and upc().
Referenced by msgwrt().