55 CHARACTER*128 bort_str
57 equivalence(cval,rval)
64 lps(lbit) = max(2**(lbit)-1,1)
108 IF(ityp.EQ.1.OR.ityp.EQ.2)
THEN
112 CALL
upb(lref,nbit,mbay(1,lun),ibit)
113 CALL
upb(linc, 6,mbay(1,lun),ibit)
114 jbit = ibit + linc*(nsbs-1)
115 CALL
upb(ninc,linc,mbay(1,lun),jbit)
116 IF(ninc.EQ.lps(linc))
THEN
125 IF(ival.LT.lps(nbit)) val(n,lun) =
ups(ival,node)
127 ibit = ibit + linc*msub(lun)
128 ELSEIF(ityp.EQ.3)
THEN
143 CALL
upc(cref,nchr,mbay(1,lun),ibit,.true.)
145 ibit = ibit + (lelm-8)*8
147 IF(nrst.GT.mxrst) goto 900
148 crtag(nrst) = tag(node)
154 CALL
upb(linc, 6,mbay(1,lun),ibit)
162 jbit = ibit + linc*(nsbs-1)*8
169 CALL
upc(cval,nchr,mbay(1,lun),jbit,.true.)
171 IF (lelm.LE.8 .AND.
icbfms(cval,nchr).NE.0)
THEN
176 ibit = ibit + 8*linc*msub(lun)
181 900
WRITE(bort_str,
'("BUFRLIB: RDCMPS - NUMBER OF LONG CHARACTER ' //
182 .
'STRINGS EXCEEDS THE LIMIT (",I4,")")') mxrst
subroutine upb(NVAL, NBITS, IBAY, IBIT)
THIS SUBROUTINE UNPACKS AND RETURNS A BINARY INTEGER CONTAINED WITHIN NBITS BITS OF IBAY...
INTEGER function icbfms(STR, LSTR)
This function provides a handy way to check whether a character string returned from a previous call ...
subroutine strbtm(N, LUN)
THIS SUBROUTINE STORES INTERNAL INFORMATION IN MODULE BITMAPS IF THE INPUT ELEMENT IS PART OF A BITMA...
subroutine usrtpl(LUN, INVN, NBMP)
THIS SUBROUTINE STORES THE SUBSET TEMPLATE INTO INTERNAL SUBSET ARRAYS IN MODULE USRINT FOR CASES OF ...
This module declares and initializes the BMISS variable.
subroutine upc(CHR, NCHR, IBAY, IBIT, CNVNULL)
THIS SUBROUTINE UNPACKS AND RETURNS A CHARACTER STRING OF LENGTH NCHR CONTAINED WITHIN NCHR BYTES OF ...
This module contains array and variable declarations used to store the internal jump/link table...
subroutine rdcmps(LUN)
THIS SUBROUTINE UNCOMPRESSES AND UNPACKS THE NEXT SUBSET FROM THE INTERNAL COMPRESSED MESSAGE BUFFER ...
subroutine bort(STR)
This subroutine calls subroutine errwrt() to log an error message, then calls subroutine bort_exit() ...
INTEGER function igetrfel(N, LUN)
THIS FUNCTION CHECKS WHETHER THE INPUT ELEMENT REFERS TO A PREVIOUS ELEMENT WITHIN THE SAME SUBSET VI...
This module contains array and variable declarations used to store BUFR messages internally for multi...
REAL *8 function ups(IVAL, NODE)
THIS FUNCTION UNPACKS A REAL*8 USER VALUE FROM A PACKED BUFR INTEGER BY APPLYING THE PROPER SCALE AND...