65 COMMON /msgptr/ nby0,nby1,nby2,nby3,nby4,nby5
78 CALL pad(ibay,ibit,ibyt,8)
86 . ((ibyt.GT.65530).AND.(nsub(lun).GT.0)))
THEN
105 CALL errwrt(
'+++++++++++++++++++++WARNING+++++++++++++++++++++++')
106 WRITE ( unit=errstr, fmt=
'(A,A,I7,A)')
107 .
'BUFRLIB: MSGUPD - SUBSET LONGER THAN ANY POSSIBLE MESSAGE ',
108 .
'{MAXIMUM MESSAGE LENGTH = ',
maxbyt,
'}'
110 CALL errwrt(
'>>>>>>>OVERLARGE SUBSET DISCARDED FROM FILE<<<<<<<<')
111 CALL errwrt(
'+++++++++++++++++++++WARNING+++++++++++++++++++++++')
121 CALL pkb(ibyt,16,ibay,lbit)
135 nsub(lun) = nsub(lun) + 1
137 lbit = (nby0+nby1+nby2+4)*8
138 CALL pkb(nsub(lun),16,
mbay(1,lun),lbit)
140 lbyt = nby0+nby1+nby2+nby3
143 CALL pkb(nbyt+ibyt,24,
mbay(1,lun),lbit)
151 CALL writlc(luh4wlc(ii),chh4wlc(ii),sth4wlc(ii))
162 IF(ibyt.GT.65530)
THEN
164 CALL errwrt(
'+++++++++++++++++++++WARNING+++++++++++++++++++++++')
165 WRITE ( unit=errstr, fmt=
'(A,I7,A,A)')
166 .
'BUFRLIB: MSGUPD - SUBSET HAS BYTE COUNT = ',ibyt,
' > UPPER ',
169 CALL errwrt(
'>>>>>>>WILL BE WRITTEN INTO ITS OWN MESSAGE<<<<<<<<')
170 CALL errwrt(
'+++++++++++++++++++++WARNING+++++++++++++++++++++++')
subroutine errwrt(STR)
This subroutine allows the user to specify a custom location for the logging of error and diagnostic ...
function iupb(MBAY, NBYT, NBIT)
THIS FUNCTION UNPACKS AND RETURNS A BINARY INTEGER WORD CONTAINED WITHIN NBIT BITS OF A BUFR MESSAGE ...
subroutine msgini(LUN)
THIS SUBROUTINE INITIALIZES, WITHIN THE INTERNAL ARRAYS, A NEW BUFR MESSAGE FOR OUTPUT.
subroutine msgupd(LUNIT, LUN)
THIS SUBROUTINE PACKS UP THE CURRENT SUBSET WITHIN MEMORY (ARRAY IBAY IN MODULE BITBUF) AND THEN TRIE...
subroutine msgwrt(LUNIT, MESG, MGBYT)
This subroutine performs final checks and updates on a BUFR message before writing it to a specified ...
subroutine mvb(IB1, NB1, IB2, NB2, NBM)
THIS SUBROUTINE COPIES A SPECIFIED NUMBER OF BYTES FROM ONE PACKED BINARY ARRAY TO ANOTHER.
This module contains array and variable declarations used to store BUFR messages internally for multi...
integer maxbyt
Maximum length of an output BUFR message.
integer, dimension(:), allocatable mbyt
Length (in bytes) of current BUFR message for each internal I/O stream.
integer, dimension(:,:), allocatable mbay
Current BUFR message for each internal I/O stream.
subroutine pad(IBAY, IBIT, IBYT, IPADB)
THIS SUBROUTINE FIRST PACKS THE VALUE FOR THE NUMBER OF BITS BEING "PADDED" (WE'LL GET TO THAT LATER)...
subroutine pkb(NVAL, NBITS, IBAY, IBIT)
This subroutine encodes an integer value within a specified number of bits of an integer array,...
subroutine usrtpl(LUN, INVN, NBMP)
THIS SUBROUTINE STORES THE SUBSET TEMPLATE INTO INTERNAL SUBSET ARRAYS IN MODULE USRINT FOR CASES OF ...
subroutine writlc(LUNIT, CHR, STR)
This subroutine writes a long character string (greater than 8 bytes) to a data subset.