57 SUBROUTINE dxmini(LUN,MBAY,MBYT,MB4,MBA,MBB,MBD)
61 COMMON /dxtab / maxdx,idxv,nxstr(10),ldxa(10),ldxb(10),ldxd(10),
64 CHARACTER*128 BORT_STR
101 nby3 = 7 + nxstr(idxs) + 1
104 mbyt = nby0+nby1+nby2+nby3+nby4+nby5
106 IF(mod(nby3,2).NE.0)
GOTO 900
111 CALL pkc(
'BUFR' , 4 , mbay,mbit)
112 CALL pkb( mbyt , 24 , mbay,mbit)
113 CALL pkb( 3 , 8 , mbay,mbit)
118 CALL pkb( nby1 , 24 , mbay,mbit)
119 CALL pkb( 0 , 8 , mbay,mbit)
120 CALL pkb( 3 , 8 , mbay,mbit)
121 CALL pkb( 7 , 8 , mbay,mbit)
122 CALL pkb( 0 , 8 , mbay,mbit)
123 CALL pkb( 0 , 8 , mbay,mbit)
124 CALL pkb( mtyp , 8 , mbay,mbit)
125 CALL pkb( msbt , 8 , mbay,mbit)
126 CALL pkb( 36 , 8 , mbay,mbit)
127 CALL pkb( idxv , 8 , mbay,mbit)
128 CALL pkb( iy , 8 , mbay,mbit)
129 CALL pkb( im , 8 , mbay,mbit)
130 CALL pkb( id , 8 , mbay,mbit)
131 CALL pkb( ih , 8 , mbay,mbit)
132 CALL pkb( 0 , 8 , mbay,mbit)
133 CALL pkb( 0 , 8 , mbay,mbit)
138 CALL pkb( nby3 , 24 , mbay,mbit)
139 CALL pkb( 0 , 8 , mbay,mbit)
140 CALL pkb( 1 , 16 , mbay,mbit)
141 CALL pkb( 2**7 , 8 , mbay,mbit)
143 CALL pkb(
iupm(dxstr(idxs)(i:i),8),8,mbay,mbit)
145 CALL pkb( 0 , 8 , mbay,mbit)
151 CALL pkb(nby4 , 24 , mbay,mbit)
152 CALL pkb( 0 , 8 , mbay,mbit)
154 CALL pkb( 0 , 8 , mbay,mbit)
156 CALL pkb( 0 , 8 , mbay,mbit)
158 CALL pkb( 0 , 8 , mbay,mbit)
160 IF(mbit/8+nby5.NE.mbyt)
GOTO 901
167 . (
'BUFRLIB: DXMINI - LENGTH OF SECTION 3 IS NOT A MULTIPLE OF 2')
168901
WRITE(bort_str,
'("BUFRLIB: DXMINI - NUMBER OF BYTES STORED FOR '//
169 .
'A MESSAGE (",I6,") IS NOT THE SAME AS FIRST CALCULATED, MBYT '//
170 .
'(",I6)') mbit/8+nby5,mbyt
subroutine bort(STR)
This subroutine calls subroutine errwrt() to log an error message, then calls subroutine bort_exit() ...
subroutine dxmini(LUN, MBAY, MBYT, MB4, MBA, MBB, MBD)
THIS SUBROUTINE INITIALIZES A BUFR TABLE (DICTIONARY) MESSAGE, WRITING ALL THE PRELIMINARY INFORMATIO...
function iupm(CBAY, NBITS)
THIS FUNCTION UNPACKS AND RETURNS A BINARY INTEGER WORD CONTAINED WITHIN NBITS BITS OF A CHARACTER ST...
This module declares and initializes the MXMSGL variable.
integer mxmsgld4
The value of mxmsgl divided by 4.
subroutine pkb(NVAL, NBITS, IBAY, IBIT)
This subroutine encodes an integer value within a specified number of bits of an integer array,...
subroutine pkc(CHR, NCHR, IBAY, IBIT)
This subroutine encodes a character string within a specified number of bits of an integer array,...