36 COMMON /maxcmp/ maxcmb,maxrow,maxcol,ncmsgs,ncsubs,ncbyts
37 COMMON /padesc/ ibct,ipd1,ipd2,ipd3,ipd4
38 COMMON /reptab/ idnr(5,2),typs(5,2),reps(5,2),lens(5)
39 COMMON /dxtab / maxdx,idxv,nxstr(10),ldxa(10),ldxb(10),ldxd(10), &
41 COMMON /mrgcom/ nrpl,nmrg,namb,ntot
42 COMMON /dateln/ lendat
47 COMMON /tnkrcp/ itryr,itrmo,itrdy,itrhr,itrmi,ctrt
48 COMMON /endord/ iblock,iordbe(4),iordle(4)
52 character*6 ADSN(5,2),DNDX(25,10)
53 character*3 TYPX(5,2),TYPS
54 character*1 REPX(5,2),REPS
59 dimension ndndx(10),nldxa(10),nldxb(10),nldxd(10),nld30(10)
62 data adsn /
'101000',
'360001',
'360002',
'360003',
'360004' , &
63 '101255',
'031002',
'031001',
'031001',
'031000' /
64 data typx /
'REP',
'DRP',
'DRP',
'DRS' ,
'DRB' , &
65 'SEQ',
'RPC',
'RPC',
'RPS' ,
'SEQ' /
66 data repx /
'"',
'(',
'{',
'[' ,
'<' , &
67 '"',
')',
'}',
']' ,
'>' /
68 data lenx / 0 , 16 , 8 , 8 , 1 /
70 data (dndx(i,1),i=1,25)/ &
71 '102000',
'031001',
'000001',
'000002', &
72 '110000',
'031001',
'000010',
'000011',
'000012',
'000013',
'000015', &
73 '000016',
'000017',
'000018',
'000019',
'000020', &
74 '107000',
'031001',
'000010',
'000011',
'000012',
'000013',
'101000', &
77 data (dndx(i,2),i=1,15)/ &
78 '103000',
'031001',
'000001',
'000002',
'000003', &
79 '101000',
'031001',
'300004', &
80 '105000',
'031001',
'300003',
'205064',
'101000',
'031001',
'000030'/
82 data ndndx / 25 , 15 , 8*0 /
83 data nldxa / 35 , 67 , 8*0 /
84 data nldxb / 80 , 112 , 8*0 /
85 data nldxd / 38 , 70 , 8*0 /
86 data nld30 / 5 , 6 , 8*0 /
119 ibct =
ifxy(
'063000')
120 ipd1 =
ifxy(
'102000')
121 ipd2 =
ifxy(
'031001')
122 ipd3 =
ifxy(
'206001')
123 ipd4 =
ifxy(
'063255')
160 idnr(i,j) =
ifxy(adsn(i,j))
161 typs(i,j) = typx(i,j)
162 reps(i,j) = repx(i,j)
194 nxstr(j) = ndndx(j)*2
197 call ipkm(dxstr(j)(i1:i1),2,
ifxy(dndx(i,j)))
224 if(lendat.ne.10) lendat = 8
267 '/home/runner/work/NCEPLIBS-bufr/NCEPLIBS-bufr/bufr/build/ins' // &
subroutine bfrini
This subroutine initializes numerous global variables and arrays within internal modules and COMMON b...
function ifxy(ADSC)
Convert an FXY value from its 6 character representation to its WMO bit-wise representation.
recursive subroutine ipkm(CBAY, NBYT, N)
Encode an integer value within a character string.
recursive subroutine mtinfo(CMTDIR, LUNMT1, LUNMT2)
Specify the directory location and Fortran logical unit numbers to be used when reading master BUFR t...
This module contains array and variable declarations used to store BUFR messages internally for multi...
integer maxbyt
Maximum length of an output BUFR message.
This module contains arrays used to store, for each output I/O stream, a copy of the BUFR message tha...
integer, dimension(:), allocatable msglen
Length (in integers) of BUFR message most recently written to each output I/O stream.
This module contains arrays and variables needed to store the current position within a BUFR file.
integer, dimension(:), allocatable jsr
Indicator of stack status when entering subroutine rewnbf().
This module contains array and variable declarations for the internal Table A mnemonic cache that is ...
integer ncnem
Number of entries in the internal Table A mnemonic cache (up to a maximum of MXCNEM).
This module contains array and variable declarations needed to store long character strings (greater ...
integer nh4wlc
Number of long character strings being stored.
This module contains a declaration for an array used by subroutine readerme() to read in a new DX dic...
integer, dimension(:), allocatable idrdm
DX BUFR tables message count for each I/O internal stream index.
This module contains a declaration for an array used to keep track of which logical units should not ...
integer, dimension(:), allocatable msglim
Tracking index for each I/O stream index.
This module contains array declarations used to store file and message status indicators for all logi...
integer, dimension(:), allocatable iolun
File status indicators.
integer, dimension(:), allocatable iomsg
Message status indicator corresponding to iolun, denoting whether a BUFR message is currently open wi...
This module contains array and variable declarations used to store DX BUFR tables internally for mult...
integer, dimension(:), allocatable ntba
Number of Table A entries for each internal I/O stream (up to a maximum of MAXTBA,...
integer, dimension(:), allocatable ntbd
Number of Table D entries for each internal I/O stream (up to a maximum of MAXTBD,...
integer, dimension(:), allocatable ntbb
Number of Table B entries for each internal I/O stream (up to a maximum of MAXTBB,...
This module contains array and variable declarations used to store the internal jump/link table.
integer maxtab
Maximum number of entries in the jump/link table; equivalent to MAXJL.
This module contains declarations for arrays used to store data values and associated metadata for th...
integer, dimension(:), allocatable nval
Number of data values in BUFR data subset.
This module declares and initializes the MAXJL variable.
integer maxjl
Maximum number of entries in the internal jump/link table.
This module declares and initializes the MAXTBA variable.
integer maxtba
Maximum number of entries in the internal BUFR Table A for each BUFR file that is connected to the BU...
This module declares and initializes the MAXTBB variable.
integer maxtbb
Maximum number of entries in the internal BUFR Table B for each BUFR file that is connected to the BU...
This module declares and initializes the MAXTBD variable.
integer maxtbd
Maximum number of entries in the internal BUFR Table D for each BUFR file that is connected to the BU...
This module declares and initializes the MXMSGL variable.
integer mxmsgl
Maximum length (in bytes) of a BUFR message that can be read or written by the BUFRLIB software.
This module declares and initializes the NFILES variable.
integer, public nfiles
Maximum number of BUFR files that can be connected to the BUFRLIB software (for reading or writing) a...