18 SUBROUTINE dxmini(MBAY,MBYT,MB4,MBA,MBB,MBD)
22 COMMON /dxtab / maxdx,idxv,nxstr(10),ldxa(10),ldxb(10),ldxd(10),
25 CHARACTER*128 BORT_STR
62 nby3 = 7 + nxstr(idxs) + 1
65 mbyt = nby0+nby1+nby2+nby3+nby4+nby5
67 IF(mod(nby3,2).NE.0)
GOTO 900
72 CALL pkc(
'BUFR' , 4 , mbay,mbit)
73 CALL pkb( mbyt , 24 , mbay,mbit)
74 CALL pkb( 3 , 8 , mbay,mbit)
79 CALL pkb( nby1 , 24 , mbay,mbit)
80 CALL pkb( 0 , 8 , mbay,mbit)
81 CALL pkb( 3 , 8 , mbay,mbit)
82 CALL pkb( 7 , 8 , mbay,mbit)
83 CALL pkb( 0 , 8 , mbay,mbit)
84 CALL pkb( 0 , 8 , mbay,mbit)
85 CALL pkb( mtyp , 8 , mbay,mbit)
86 CALL pkb( msbt , 8 , mbay,mbit)
87 CALL pkb( 36 , 8 , mbay,mbit)
88 CALL pkb( idxv , 8 , mbay,mbit)
89 CALL pkb( iy , 8 , mbay,mbit)
90 CALL pkb( im , 8 , mbay,mbit)
91 CALL pkb( id , 8 , mbay,mbit)
92 CALL pkb( ih , 8 , mbay,mbit)
93 CALL pkb( 0 , 8 , mbay,mbit)
94 CALL pkb( 0 , 8 , mbay,mbit)
99 CALL pkb( nby3 , 24 , mbay,mbit)
100 CALL pkb( 0 , 8 , mbay,mbit)
101 CALL pkb( 1 , 16 , mbay,mbit)
102 CALL pkb( 2**7 , 8 , mbay,mbit)
104 CALL pkb(
iupm(dxstr(idxs)(i:i),8),8,mbay,mbit)
106 CALL pkb( 0 , 8 , mbay,mbit)
112 CALL pkb(nby4 , 24 , mbay,mbit)
113 CALL pkb( 0 , 8 , mbay,mbit)
115 CALL pkb( 0 , 8 , mbay,mbit)
117 CALL pkb( 0 , 8 , mbay,mbit)
119 CALL pkb( 0 , 8 , mbay,mbit)
121 IF(mbit/8+nby5.NE.mbyt)
GOTO 901
128 . (
'BUFRLIB: DXMINI - LENGTH OF SECTION 3 IS NOT A MULTIPLE OF 2')
129 901
WRITE(bort_str,
'("BUFRLIB: DXMINI - NUMBER OF BYTES STORED FOR '//
130 .
'A MESSAGE (",I6,") IS NOT THE SAME AS FIRST CALCULATED, MBYT '//
131 .
'(",I6)') mbit/8+nby5,mbyt
subroutine bort(STR)
Log one error message and abort application program.
subroutine dxmini(MBAY, MBYT, MB4, MBA, MBB, MBD)
This subroutine initializes a DX BUFR tables (dictionary) message, writing all the preliminary inform...
recursive function iupm(CBAY, NBITS)
Decode an integer value from a character string.
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)
Encode a character string within an integer array.