86 IF ( iprt .GE. 1 )
THEN
88 . (
'++++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++++')
89 errstr =
'BUFRLIB: ARRAYS WILL BE DYNAMICALLY ALLOCATED' //
90 .
' USING THE FOLLOWING VALUES:'
92 WRITE ( errstr,
'(A,I7)' )
' MAXSS = ',
maxss
94 WRITE ( errstr,
'(A,I4)' )
' NFILES = ',
nfiles
96 WRITE ( errstr,
'(A,I7)' )
' MXMSGL = ',
mxmsgl
98 WRITE ( errstr,
'(A,I5)' )
' MXDXTS = ',
mxdxts
100 WRITE ( errstr,
'(A,I7)' )
' MAXMSG = ',
maxmsg
102 WRITE ( errstr,
'(A,I9)' )
' MAXMEM = ',
maxmem
104 WRITE ( errstr,
'(A,I5)' )
' MAXTBA = ',
maxtba
106 WRITE ( errstr,
'(A,I5)' )
' MAXTBB = ',
maxtbb
108 WRITE ( errstr,
'(A,I5)' )
' MAXTBD = ',
maxtbd
110 WRITE ( errstr,
'(A,I7)' )
' MAXJL = ',
maxjl
112 WRITE ( errstr,
'(A,I6)' )
' MXCDV = ',
mxcdv
114 WRITE ( errstr,
'(A,I4)' )
' MXLCC = ',
mxlcc
116 WRITE ( errstr,
'(A,I6)' )
' MXCSB = ',
mxcsb
118 WRITE ( errstr,
'(A,I5)' )
' MXMTBB = ',
mxmtbb
120 WRITE ( errstr,
'(A,I5)' )
' MXMTBD = ',
mxmtbd
122 WRITE ( errstr,
'(A,I4)' )
' MAXCD = ',
maxcd
124 WRITE ( errstr,
'(A,I4)' )
' MXNRV = ',
mxnrv
126 WRITE ( errstr,
'(A,I4)' )
' MXS01V = ',
mxs01v
128 WRITE ( errstr,
'(A,I4)' )
' MXTAMC = ',
mxtamc
130 WRITE ( errstr,
'(A,I4)' )
' MXTCO = ',
mxtco
132 WRITE ( errstr,
'(A,I4)' )
' MXBTM = ',
mxbtm
134 WRITE ( errstr,
'(A,I4)' )
' MXBTMSE = ',
mxbtmse
136 WRITE ( errstr,
'(A,I4)' )
' MXH4WLC = ',
mxh4wlc
138 WRITE ( errstr,
'(A,I4)' )
' MXRST = ',
mxrst
141 . (
'++++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++++')
144 brtstr =
'BUFRLIB: ARALLOCF FAILED ALLOCATING '
149 IF ( iost .ne. 0 )
CALL bort( brtstr //
'NVAL' )
152 IF ( iost .ne. 0 )
CALL bort( brtstr //
'INV' )
155 IF ( iost .ne. 0 )
CALL bort( brtstr //
'NRFELM' )
158 IF ( iost .ne. 0 )
CALL bort( brtstr //
'VAL' )
163 IF ( iost .ne. 0 )
CALL bort( brtstr //
'NBIT' )
166 IF ( iost .ne. 0 )
CALL bort( brtstr //
'MBIT' )
171 IF ( iost .ne. 0 )
CALL bort( brtstr //
'IVAL' )
176 IF ( iost .ne. 0 )
CALL bort( brtstr //
'NMSG' )
179 IF ( iost .ne. 0 )
CALL bort( brtstr //
'NSUB' )
182 IF ( iost .ne. 0 )
CALL bort( brtstr //
'MSUB' )
185 IF ( iost .ne. 0 )
CALL bort( brtstr //
'INODE' )
188 IF ( iost .ne. 0 )
CALL bort( brtstr //
'IDATE' )
193 IF ( iost .ne. 0 )
CALL bort( brtstr //
'IOLUN' )
196 IF ( iost .ne. 0 )
CALL bort( brtstr //
'IOMSG' )
201 IF ( iost .ne. 0 )
CALL bort( brtstr //
'LUNCPY' )
206 IF ( iost .ne. 0 )
CALL bort( brtstr //
'ISC3' )
209 IF ( iost .ne. 0 )
CALL bort( brtstr //
'TAMNEM' )
214 IF ( iost .ne. 0 )
CALL bort( brtstr //
'MSGUNP' )
219 IF ( iost .ne. 0 )
CALL bort( brtstr //
'LUS' )
224 IF ( iost .ne. 0 )
CALL bort( brtstr //
'NULL' )
229 IF ( iost .ne. 0 )
CALL bort( brtstr //
'ISCODES' )
234 IF ( iost .ne. 0 )
CALL bort( brtstr //
'IDRDM' )
239 IF ( iost .ne. 0 )
CALL bort( brtstr //
'XTAB' )
244 IF ( iost .ne. 0 )
CALL bort( brtstr //
'MSGLIM' )
248 IF ( mod(
mxmsgl,4) .eq. 0 )
THEN
257 IF ( iost .ne. 0 )
CALL bort( brtstr //
'IBAY' )
260 IF ( iost .ne. 0 )
CALL bort( brtstr //
'MBYT' )
263 IF ( iost .ne. 0 )
CALL bort( brtstr //
'MBAY' )
268 IF ( iost .ne. 0 )
CALL bort( brtstr //
'MGWA' )
273 IF ( iost .ne. 0 )
CALL bort( brtstr //
'MGWB' )
278 IF ( iost .ne. 0 )
CALL bort( brtstr //
'MSGLEN' )
280 IF ( iost .ne. 0 )
CALL bort( brtstr //
'MSGTXT' )
285 IF ( iost .ne. 0 )
CALL bort( brtstr //
'JSR' )
288 IF ( iost .ne. 0 )
CALL bort( brtstr //
'JBAY' )
298 IF ( iost .ne. 0 )
CALL bort( brtstr //
'MSGP' )
301 IF ( iost .ne. 0 )
CALL bort( brtstr //
'MSGS' )
304 IF ( iost .ne. 0 )
CALL bort( brtstr //
'MDX' )
307 IF ( iost .ne. 0 )
CALL bort( brtstr //
'IPDXM' )
310 IF ( iost .ne. 0 )
CALL bort( brtstr //
'IFDXTS' )
313 IF ( iost .ne. 0 )
CALL bort( brtstr //
'ICDXTS' )
316 IF ( iost .ne. 0 )
CALL bort( brtstr //
'IPMSGS' )
321 IF ( iost .ne. 0 )
CALL bort( brtstr //
'NTBA' )
324 IF ( iost .ne. 0 )
CALL bort( brtstr //
'NTBB' )
327 IF ( iost .ne. 0 )
CALL bort( brtstr //
'NTBD' )
330 IF ( iost .ne. 0 )
CALL bort( brtstr //
'MTAB' )
333 IF ( iost .ne. 0 )
CALL bort( brtstr //
'IDNA' )
336 IF ( iost .ne. 0 )
CALL bort( brtstr //
'IDNB' )
339 IF ( iost .ne. 0 )
CALL bort( brtstr //
'IDND' )
342 IF ( iost .ne. 0 )
CALL bort( brtstr //
'TABA' )
345 IF ( iost .ne. 0 )
CALL bort( brtstr //
'TABB' )
348 IF ( iost .ne. 0 )
CALL bort( brtstr //
'TABD' )
353 IF ( iost .ne. 0 )
CALL bort( brtstr //
'TAG' )
356 IF ( iost .ne. 0 )
CALL bort( brtstr //
'TYP' )
359 IF ( iost .ne. 0 )
CALL bort( brtstr //
'KNT' )
362 IF ( iost .ne. 0 )
CALL bort( brtstr //
'JUMP' )
365 IF ( iost .ne. 0 )
CALL bort( brtstr //
'LINK' )
368 IF ( iost .ne. 0 )
CALL bort( brtstr //
'JMPB' )
371 IF ( iost .ne. 0 )
CALL bort( brtstr //
'IBT' )
374 IF ( iost .ne. 0 )
CALL bort( brtstr //
'IRF' )
377 IF ( iost .ne. 0 )
CALL bort( brtstr //
'ISC' )
380 IF ( iost .ne. 0 )
CALL bort( brtstr //
'ITP' )
383 IF ( iost .ne. 0 )
CALL bort( brtstr //
'VALI' )
386 IF ( iost .ne. 0 )
CALL bort( brtstr //
'KNTI' )
389 IF ( iost .ne. 0 )
CALL bort( brtstr //
'ISEQ' )
392 IF ( iost .ne. 0 )
CALL bort( brtstr //
'JSEQ' )
397 IF ( iost .ne. 0 )
CALL bort( brtstr //
'IUTMP' )
400 IF ( iost .ne. 0 )
CALL bort( brtstr //
'VUTMP' )
405 IF ( iost .ne. 0 )
CALL bort( brtstr //
'TTMP' )
408 IF ( iost .ne. 0 )
CALL bort( brtstr //
'ITMP' )
411 IF ( iost .ne. 0 )
CALL bort( brtstr //
'VTMP' )
416 IF ( iost .ne. 0 )
CALL bort( brtstr //
'KMIN' )
419 IF ( iost .ne. 0 )
CALL bort( brtstr //
'KMAX' )
422 IF ( iost .ne. 0 )
CALL bort( brtstr //
'KMIS' )
425 IF ( iost .ne. 0 )
CALL bort( brtstr //
'KBIT' )
428 IF ( iost .ne. 0 )
CALL bort( brtstr //
'ITYP' )
431 IF ( iost .ne. 0 )
CALL bort( brtstr //
'IWID' )
433 ALLOCATE(
CHARACTER*(MXLCC) :: CSTR(MXCDV), STAT=iost )
434 IF ( iost .ne. 0 )
CALL bort( brtstr //
'CSTR' )
439 IF ( iost .ne. 0 )
CALL bort( brtstr //
'MATX' )
441 ALLOCATE(
CHARACTER*(MXLCC) :: CATX(MXCDV,MXCSB), STAT=iost )
442 IF ( iost .ne. 0 )
CALL bort( brtstr //
'CATX' )
447 IF ( iost .ne. 0 )
CALL bort( brtstr //
'IBFXYN' )
450 IF ( iost .ne. 0 )
CALL bort( brtstr //
'CBSCL' )
453 IF ( iost .ne. 0 )
CALL bort( brtstr //
'CBSREF' )
456 IF ( iost .ne. 0 )
CALL bort( brtstr //
'CBBW' )
459 IF ( iost .ne. 0 )
CALL bort( brtstr //
'CBUNIT' )
462 IF ( iost .ne. 0 )
CALL bort( brtstr //
'CBMNEM' )
465 IF ( iost .ne. 0 )
CALL bort( brtstr //
'CBELEM' )
468 IF ( iost .ne. 0 )
CALL bort( brtstr //
'IDFXYN' )
471 IF ( iost .ne. 0 )
CALL bort( brtstr //
'CDSEQ' )
474 IF ( iost .ne. 0 )
CALL bort( brtstr //
'CDMNEM' )
477 IF ( iost .ne. 0 )
CALL bort( brtstr //
'NDELEM' )
480 IF ( iost .ne. 0 )
CALL bort( brtstr //
'IDEFXY' )
485 IF ( iost .ne. 0 )
CALL bort( brtstr //
'IEFXYN' )
488 IF ( iost .ne. 0 )
CALL bort( brtstr //
'CMDSCB' )
491 IF ( iost .ne. 0 )
CALL bort( brtstr //
'CMDSCD' )
494 IF ( iost .ne. 0 )
CALL bort( brtstr //
'CEELEM' )
498 ALLOCATE(
nem(
maxcd,10), stat=iost )
499 IF ( iost .ne. 0 )
CALL bort( brtstr //
'NEM' )
501 ALLOCATE(
irp(
maxcd,10), stat=iost )
502 IF ( iost .ne. 0 )
CALL bort( brtstr //
'IRP' )
504 ALLOCATE(
krp(
maxcd,10), stat=iost )
505 IF ( iost .ne. 0 )
CALL bort( brtstr //
'KRP' )
510 IF ( iost .ne. 0 )
CALL bort( brtstr //
'IVMNEM' )
513 IF ( iost .ne. 0 )
CALL bort( brtstr //
'CMNEM' )
518 IF ( iost .ne. 0 )
CALL bort( brtstr //
'INODTAMC' )
521 IF ( iost .ne. 0 )
CALL bort( brtstr //
'NTCO' )
524 IF ( iost .ne. 0 )
CALL bort( brtstr //
'CTCO' )
527 IF ( iost .ne. 0 )
CALL bort( brtstr //
'INODTCO' )
530 IF ( iost .ne. 0 )
CALL bort( brtstr //
'NBTMSE' )
533 IF ( iost .ne. 0 )
CALL bort( brtstr //
'ISTBTM' )
536 IF ( iost .ne. 0 )
CALL bort( brtstr //
'ISZBTM' )
539 IF ( iost .ne. 0 )
CALL bort( brtstr //
'IBTMSE' )
544 IF ( iost .ne. 0 )
CALL bort( brtstr //
'TAGNRV' )
547 IF ( iost .ne. 0 )
CALL bort( brtstr //
'INODNRV' )
550 IF ( iost .ne. 0 )
CALL bort( brtstr //
'NRV' )
553 IF ( iost .ne. 0 )
CALL bort( brtstr //
'ISNRV' )
556 IF ( iost .ne. 0 )
CALL bort( brtstr //
'IENRV' )
561 IF ( iost .ne. 0 )
CALL bort( brtstr //
'IRNCH' )
564 IF ( iost .ne. 0 )
CALL bort( brtstr //
'IRBIT' )
567 IF ( iost .ne. 0 )
CALL bort( brtstr //
'CRTAG' )
572 IF ( iost .ne. 0 )
CALL bort( brtstr //
'LUH4WLC' )
575 IF ( iost .ne. 0 )
CALL bort( brtstr //
'STH4WLC' )
578 IF ( iost .ne. 0 )
CALL bort( brtstr //
'CHH4WLC' )
subroutine arallocf
This subroutine is called internally during the first call to subroutine openbf() from an application...
subroutine bort(STR)
Log one error message and abort application program.
subroutine errwrt(STR)
This subroutine allows the user to specify a custom location for the logging of error and diagnostic ...
This module contains array and variable declarations used to store BUFR messages internally for multi...
integer, dimension(:), allocatable ibay
Current data subset.
integer, dimension(:,:), allocatable mbay
Current BUFR message for each internal I/O stream.
integer, dimension(:), allocatable mbyt
Length (in bytes) of current BUFR message for each internal I/O stream.
This module contains array and variable declarations used to store bitmaps internally within a data s...
integer, dimension(:), allocatable iszbtm
Size of bitmap (total number of entries, whether "set" (set to a value of 0) or not).
integer, dimension(:,:), allocatable inodtco
Entries within jump/link table which contain Table C operators.
integer, dimension(:), allocatable istbtm
Ordinal position in data subset definition corresponding to the first entry of the bitmap.
integer, dimension(:), allocatable inodtamc
Entries within jump/link table which contain Table A mnemonics.
integer, dimension(:,:), allocatable ibtmse
Ordinal positions in bitmap of bits that were "set" (set to a value of 0); these ordinal positions ca...
integer, dimension(:), allocatable nbtmse
Number of "set" entries (set to a value of 0) in the bitmap.
character *6, dimension(:,:), allocatable ctco
Table C operators corresponding to inodtco.
integer, dimension(:), allocatable ntco
Number of Table C operators (with an XX value of 21 or greater) within the data subset definition of ...
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.
integer, dimension(:,:), allocatable msgtxt
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().
integer, dimension(:), allocatable jbay
BUFR message.
This module contains arrays and variable declarations for the storage of data values needed when writ...
integer(8), dimension(:,:), allocatable matx
Non-character data values for all data subsets in message.
This module contains arrays and variable declarations for the storage of data values needed when writ...
integer(8), dimension(:), allocatable kmax
Maximum of each data value across all data subsets in message.
integer, dimension(:), allocatable ityp
Type of each data value:
integer, dimension(:), allocatable iwid
Bit width of underlying data descriptor as defined within Table B for each data value.
integer(8), dimension(:), allocatable kmin
Minimum of each data value across all data subsets in message.
integer, dimension(:), allocatable kbit
Number of bits needed to hold the increments for this data value within each data subset of the messa...
logical, dimension(:), allocatable kmis
"Missing" values flag.
This module contains array and variable declarations needed to store long character strings (greater ...
character *14, dimension(:), allocatable sth4wlc
Table B mnemonics associated with long character strings.
integer, dimension(:), allocatable luh4wlc
I/O stream index into internal arrays for associated output file.
character *120, dimension(:), allocatable chh4wlc
Long character strings.
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 pack or unpack all of the values of a BUFR da...
integer(8), dimension(:), allocatable ival
BUFR data subset values.
This module contains arrays which provide working space in several subprograms (usrtpl() and ufbcup()...
character *10, dimension(:), allocatable ttmp
tag array elements for new sections of a growing subset buffer.
real *8, dimension(:), allocatable vtmp
val array elements for new sections of a growing subset buffer.
integer, dimension(:), allocatable itmp
inv array elements for new sections of a growing subset buffer.
This module contains a declaration for an array used by subroutine makestab() to keep track of which ...
integer, dimension(:), allocatable lus
Tracking index for each I/O internal stream index.
This module contains a declaration for an array used by various subroutines and functions to hold a t...
integer, dimension(:), allocatable mgwa
Temporary working copy of BUFR message.
This module contains a declaration for an array used by various subroutines and functions to hold a t...
integer, dimension(:), allocatable mgwb
Temporary working copy of BUFR message.
This module contains declarations for arrays used to store information about the current BUFR message...
integer, dimension(:), allocatable inode
Table A mnemonic for type of BUFR message.
integer, dimension(:), allocatable idate
Section 1 date-time of message.
integer, dimension(:), allocatable nmsg
Current message pointer within logical unit.
integer, dimension(:), allocatable msub
Total number of data subsets in message.
integer, dimension(:), allocatable nsub
Current subset pointer within message.
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 and variable declarations used to store the contents of one or more BUFR f...
integer, dimension(:), allocatable msgp
Pointers to the beginning of each message within msgs (up to a maximum of MAXMSG, and where array ele...
integer, dimension(:), allocatable ipmsgs
Pointers to first message within msgs for which each DX BUFR table applies.
integer, dimension(:), allocatable msgs
BUFR messages read from one or more BUFR files.
integer, dimension(:), allocatable icdxts
Number of consecutive messages within mdx which constitute each DX BUFR table, beginning with the cor...
integer mxdxm
Maximum number of DX BUFR table messages that can be stored within mdx.
integer, dimension(:), allocatable ifdxts
Pointers to the beginning of each DX BUFR table within mdx.
integer, dimension(:), allocatable mdx
DX BUFR table messages read from one or more BUFR files, for use in decoding the messages in msgs.
integer mxdxw
Maximum number of entries that can be stored within mdx.
integer, dimension(:), allocatable ipdxm
Pointers to the beginning of each message within mdx.
This module contains array and variable declarations used to store master Table B and Table D entries...
integer, dimension(:), allocatable idfxyn
Bit-wise representations of FXY numbers for master Table D.
character, dimension(:,:), allocatable cbunit
Units corresponding to ibfxyn.
character, dimension(:,:), allocatable cbbw
Bit widths corresponding to ibfxyn.
character, dimension(:,:), allocatable cdseq
Sequence names corresponding to idfxyn.
character, dimension(:,:), allocatable cbmnem
Mnemonics corresponding to ibfxyn.
integer, dimension(:), allocatable ndelem
Numbers of child descriptors corresponding to idfxyn.
character, dimension(:,:), allocatable cbelem
Element names corresponding to ibfxyn.
character, dimension(:,:), allocatable cbscl
Scale factors corresponding to ibfxyn.
character, dimension(:,:), allocatable cdmnem
Mnemonics corresponding to idfxyn.
character, dimension(:,:), allocatable cbsref
Reference values corresponding to ibfxyn.
integer, dimension(:), allocatable idefxy
Bit-wise representations of child descriptors corresponding to idfxyn.
integer, dimension(:), allocatable ibfxyn
Bit-wise representations of FXY numbers for master Table B.
This module contains declarations for arrays used by various subroutines to hold information about Ta...
integer, dimension(:,:), allocatable krp
Replication counts corresponding to nem:
integer, dimension(:,:), allocatable irp
Replication indicators corresponding to nem:
character *8, dimension(:,:), allocatable nem
Child mnemonics within Table D sequences.
This module contains array and variable declarations for use with any 2-03-YYY (change reference valu...
integer, dimension(:), allocatable ienrv
End of entry range in jump/link table, within which the corresponding new reference value in nrv will...
character *8, dimension(:), allocatable tagnrv
Table B mnemonic to which the corresponding new reference value in nrv applies.
integer, dimension(:), allocatable isnrv
Start of entry range in jump/link table, within which the corresponding new reference value in nrv wi...
integer *8, dimension(:), allocatable nrv
New reference values corresponding to inodnrv.
integer, dimension(:), allocatable inodnrv
Entries within jump/link table which contain new reference values.
This module contains an array declaration used to store a switch for each internal I/O stream index,...
integer, dimension(:), allocatable null
Output switch for each internal I/O stream index:
This module contains array and variable declarations used to store master Table B and Table D entries...
character *120, dimension(:,:), allocatable ceelem
Element names corresponding to iefxyn.
character *4, dimension(:), allocatable cmdscb
Descriptor codes for Table B elements.
integer, dimension(:,:), allocatable iefxyn
Bit-wise representations of child descriptors of Table D sequences.
character *4, dimension(:), allocatable cmdscd
Descriptor codes for Table D sequences.
This module contains array and variable declarations needed to store information about long character...
integer, dimension(:), allocatable irnch
Lengths (in bytes) of long character strings.
integer, dimension(:), allocatable irbit
Pointers in data subset to first bits of long character strings.
character *10, dimension(:), allocatable crtag
Table B mnemonics associated with long character strings.
This module contains array and variable declarations used to store custom values for certain mnemonic...
integer, dimension(:), allocatable ivmnem
Custom values for use within Sections 0 and 1 of all future output BUFR messages written to all Fortr...
character *8, dimension(:), allocatable cmnem
Section 0 and 1 mnemonics corresponding to ivmnem.
This module contains an array declaration used to store a switch for each internal I/O stream index,...
character *8, dimension(:), allocatable tamnem
Table A mnemonic most recently read from each internal I/O stream index, if isc3 = 1 for that stream.
integer, dimension(:), allocatable isc3
Section 3 switch for each internal 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 an array declaration used to store a status code for each internal I/O stream in...
integer, dimension(:), allocatable iscodes
Abnormal status codes.
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,...
character *600, dimension(:,:), allocatable tabd
Table D entries for each internal I/O stream.
character *128, dimension(:,:), allocatable taba
Table A entries for each internal I/O stream.
integer, dimension(:,:), allocatable mtab
Entries within jump/link table corresponding to taba.
integer, dimension(:,:,:), allocatable idna
Message types (in array element 1) and subtypes (in array element 2) corresponding to taba.
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,...
integer, dimension(:,:), allocatable idnd
Bit-wise representations of the FXY values corresponding to tabd.
integer, dimension(:,:), allocatable idnb
Bit-wise representations of the FXY values corresponding to tabb.
character *128, dimension(:,:), allocatable tabb
Table B entries for each internal I/O stream.
This module contains array and variable declarations used to store the internal jump/link table.
integer, dimension(:), allocatable jseq
Temporary storage used in expanding sequences.
integer, dimension(:), allocatable irf
Reference values corresponding to tag and typ:
integer, dimension(:,:), allocatable iseq
Temporary storage used in expanding sequences.
integer, dimension(:), allocatable isc
Scale factors corresponding to tag and typ:
integer, dimension(:), allocatable ibt
Bit widths corresponding to tag and typ:
integer, dimension(:), allocatable knt
Temporary storage used in calculating delayed replication counts.
real *8, dimension(:), allocatable vali
Initialized data values corresponding to typ:
character *3, dimension(:), allocatable typ
Type indicators corresponding to tag:
integer, dimension(:), allocatable jmpb
Jump backward indices corresponding to tag and typ:
character *10, dimension(:), allocatable tag
Mnemonics in the jump/link table.
integer, dimension(:), allocatable jump
Jump forward indices corresponding to tag and typ:
integer, dimension(:), allocatable itp
Integer type values corresponding to typ:
integer, dimension(:), allocatable link
Link indices corresponding to tag, typ and jmpb:
integer, dimension(:), allocatable knti
Initialized replication counts corresponding to typ and jump:
This module contains an array declaration used to store, for each I/O stream index,...
integer, dimension(:), allocatable luncpy
Logical unit numbers used to copy long character strings between BUFR data subsets.
This module contains an array declaration used to store, for each I/O stream index from which a BUFR ...
integer, dimension(:), allocatable msgunp
Flag indicating how to unpack data subsets from BUFR message:
This module contains array declarations for internal storage of pointers to BUFR data subset values.
integer, dimension(:), allocatable nbit
Length (in bits) of each packed data value in data subset.
integer, dimension(:), allocatable mbit
Pointer in data subset to first bit of each packed data value.
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.
real *8, dimension(:,:), allocatable, target val
Data values.
integer, dimension(:,:), allocatable, target inv
Inventory pointer which links each data value to its corresponding node in the internal jump/link tab...
integer, dimension(:,:), allocatable nrfelm
Referenced data value, for data values which refer to a previous data value in the BUFR data subset v...
This module contains arrays used in subroutine rcstpl() to store subset segments that are being copie...
integer, dimension(:,:), allocatable iutmp
inv array elements for new sections of a growing subset buffer.
real *8, dimension(:,:), allocatable vutmp
val array elements for new sections of a growing subset buffer.
This module contains an array declaration used to track, for each I/O stream index,...
logical, dimension(:), allocatable xtab
Tracking index for each internal I/O stream index.
This module declares and initializes the MAXCD variable.
integer, public maxcd
Maximum number of child descriptors that can be included within the sequence definition of a Table D ...
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 MAXMEM variable.
integer maxmem
Maximum number of bytes that can be used to store BUFR messages within internal memory.
This module declares and initializes the MAXMSG variable.
integer maxmsg
Maximum number of BUFR messages that can be stored within internal memory.
This module declares and initializes the MAXSS variable.
integer maxss
Maximum number of data values that can be read from or written into a data subset by the BUFRLIB soft...
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 MXBTM variable.
integer mxbtm
Maximum number of bitmaps that can be stored internally for a data subset.
This module declares and initializes the MXBTMSE variable.
integer mxbtmse
Maximum number of "set" entries (set to a value of 0) within a bitmap.
This module declares and initializes the MXCDV variable.
integer mxcdv
Maximum number of data values that can be written into a data subset of a compressed BUFR message by ...
This module declares and initializes the MXCSB variable.
integer mxcsb
Maximum number of data subsets that can be written into a compressed BUFR message by the BUFRLIB soft...
This module declares and initializes the MXDXTS variable.
integer mxdxts
Maximum number of dictionary tables that can be stored for use with BUFR messages in internal memory.
This module declares and initializes the MXH4WLC variable.
integer mxh4wlc
Maximum number of long character strings that can be held for writing into an uncompressed BUFR subse...
This module declares and initializes the MXLCC variable.
integer mxlcc
Maximum length (in bytes) of a character string that can be written into a data subset of a compresse...
This module declares and initializes the MXMSGL variable.
integer mxmsgld4
The value of mxmsgl divided by 4.
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 MXMTBB variable.
integer mxmtbb
Maximum number of entries in a master BUFR Table B.
This module declares and initializes the MXMTBD variable.
integer mxmtbd
Maximum number of entries in a master BUFR Table D.
This module declares and initializes the MXNRV variable.
integer mxnrv
Maximum number of entries in the internal jump/link table that can contain new reference values.
This module declares and initializes the MXRST variable.
integer mxrst
Maximum number of "long" character strings (greater than 8 bytes) that can be read from a data subset...
This module declares and initializes the MXS01V variable.
integer mxs01v
Maximum number of default Section 0 or Section 1 values that can be overwritten within an output BUFR...
This module declares and initializes the MXTAMC variable.
integer mxtamc
Maximum number of Table A mnemonics in the internal jump/link table which contain at least one Table ...
This module declares and initializes the MXTCO variable.
integer mxtco
Maximum number of Table C operators with an XX value of 21 or greater that can appear within the data...
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...