33 SUBROUTINE upds3(MBAY,LCDS3,CDS3,NDS3)
37 CHARACTER*6 cds3(*),
adn30
50 CALL
getlens(mbay,3,len0,len1,len2,len3,l4,l5)
51 ipt = len0 + len1 + len2
58 IF(nds3.GT.lcds3) goto 900
59 cds3(nds3) =
adn30(
iupb(mbay,ipt+jj,16),6)
63 900 CALL
bort(
'BUFRLIB: UPDS3 - OVERFLOW OF OUTPUT DESCRIPTOR '//
64 .
'ARRAY; TRY A LARGER DIMENSION FOR THIS ARRAY')
function iupb(MBAY, NBYT, NBIT)
THIS FUNCTION UNPACKS AND RETURNS A BINARY INTEGER WORD CONTAINED WITHIN NBIT BITS OF A BUFR MESSAGE ...
subroutine getlens(MBAY, LL, LEN0, LEN1, LEN2, LEN3, LEN4, LEN5)
This subroutine reads the lengths of all of the individual sections of a given BUFR message...
subroutine upds3(MBAY, LCDS3, CDS3, NDS3)
This subroutine returns the sequence of data descriptors contained within Section 3 of a BUFR message...
character *(*) function adn30(IDN, L30)
This function converts a descriptor from its bit-wise (integer) representation to its 5 or 6 characte...
subroutine wrdlen
This subroutine figures out some important information about the local machine on which the BUFRLIB s...
subroutine bort(STR)
This subroutine calls subroutine errwrt() to log an error message, then calls subroutine bort_exit() ...