79 CHARACTER*20 LCHR,PMISS
92 DATA pmiss /
' MISSING'/
108 CALL status(lunit,lun,il,im)
112 IF(inode(lun).NE.inv(1,lun))
GOTO 903
118 IF(luprt.EQ.0 .AND. mod(nv,20).EQ.0)
THEN
123 print*,
'(<enter> for MORE, q <enter> to QUIT)'
133 print*,
'==> You have chosen to stop the dumping of this subset'
153 CALL nemtab(lun,tg,idn,tab,n)
154 IF(
tabb(n,lun)(71:75).EQ.
'FLAG')
THEN
159 CALL upftbv(lunit,tg,vl,mxfv,ifv,nifv)
165 WRITE(fmtf,
'(A2,I1,A4)')
'(I', isz,
',A1)'
166 IF((ipt+isz).LE.14)
THEN
167 WRITE(bits(ipt:ipt+isz),fmtf) ifv(ii),
','
170 bits(2:13) =
'MANY BITS ON'
174 bits(ipt-1:ipt-1) =
')'
178 IF(
ibfms(vl).NE.0)
THEN
179 WRITE(luout,2) nv,tp,it,tg_rj,pmiss,ib,is,ir,nd,jp,lk,jb
181 IF(lunit.EQ.lunin)
THEN
182 WRITE(luout,1) nv,tp,it,tg_rj,vl,bits,ib,is,ir,nd,jp,lk,
185 WRITE(luout,10) nv,tp,it,tg_rj,vl,bits,ib,is,ir,nd,jp,lk,
192 CALL readlc(lunit,lchr2,tg_rj)
193 IF (
icbfms(lchr2,nchr).NE.0)
THEN
199 IF(
ibfms(vl).NE.0)
THEN
205 IF ( nchr.LE.20 .OR. lchr.EQ.pmiss )
THEN
207 WRITE(luout,2) nv,tp,it,tg_rj,lchr,ib,is,ir,nd,jp,lk,jb
209 WRITE(luout,4) nv,tp,it,tg_rj,lchr2(1:nchr),ib,is,ir,nd,jp,
2171
FORMAT(i5,1x,a3,
'-',i1,1x,a10,5x,g15.6,1x,a14,7(1x,i5))
21810
FORMAT(i5,1x,a3,
'-',i1,1x,a10,5x,f15.6,1x,a14,7(1x,i5))
2192
FORMAT(i5,1x,a3,
'-',i1,1x,a10,1x, a20, 14x,7(1x,i5))
2203
FORMAT(/
' >>> END OF SUBSET <<< '/)
2214
FORMAT(i5,1x,a3,
'-',i1,1x,a10,1x, a, 7(1x,i5))
227900
CALL bort(
'BUFRLIB: UFBDMP - INPUT BUFR FILE IS CLOSED, IT '//
228 .
'MUST BE OPEN FOR INPUT')
229901
CALL bort(
'BUFRLIB: UFBDMP - INPUT BUFR FILE IS OPEN FOR '//
230 .
'OUTPUT, IT MUST BE OPEN FOR INPUT')
231902
CALL bort(
'BUFRLIB: UFBDMP - A MESSAGE MUST BE OPEN IN INPUT '//
232 .
'BUFR FILE, NONE ARE')
233903
CALL bort(
'BUFRLIB: UFBDMP - LOCATION OF INTERNAL TABLE FOR '//
234 .
'INPUT BUFR FILE DOES NOT AGREE WITH EXPECTED LOCATION IN '//
235 .
'INTERNAL SUBSET ARRAY')
subroutine bort(STR)
This subroutine calls subroutine errwrt() to log an error message, then calls subroutine bort_exit() ...
integer function ibfms(R8VAL)
This function provides a handy way to check whether a real*8 data value returned from a previous call...
integer function icbfms(STR, LSTR)
This function provides a handy way to check whether a character string returned from a previous call ...
integer function isize(NUM)
THIS FUNCTION COMPUTES AND RETURNS THE NUMBER OF CHARACTERS NEEDED TO ENCODE THE INPUT INTEGER NUM AS...
This module contains array and variable declarations used to store DX BUFR tables internally for mult...
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 link
Link indices corresponding to tag, typ and jmpb:
integer, dimension(:), allocatable itp
Integer type values corresponding to typ:
integer, dimension(:), allocatable isc
Scale factors corresponding to tag and typ:
character *3, dimension(:), allocatable typ
Type indicators corresponding to tag:
integer, dimension(:), allocatable jump
Jump forward indices corresponding to tag and typ:
integer, dimension(:), allocatable ibt
Bit widths corresponding to tag and typ:
character *10, dimension(:), allocatable tag
Mnemonics in the jump/link table.
integer, dimension(:), allocatable irf
Reference values corresponding to tag and typ:
integer, dimension(:), allocatable jmpb
Jump backward indices corresponding to tag and typ:
subroutine nemtab(LUN, NEMO, IDN, TAB, IRET)
This subroutine returns information about a descriptor from the internal DX BUFR tables,...
subroutine readlc(LUNIT, CHR, STR)
This subroutine reads a long character string (greater than 8 bytes) from a data subset.
subroutine status(LUNIT, LUN, IL, IM)
This subroutine checks whether a specified Fortran logical unit number is currently connected to the ...
subroutine ufbdmp(LUNIN, LUPRT)
This subroutine prints a verbose listing of the contents of a data subset, including all data values ...
subroutine upftbv(LUNIT, NEMO, VAL, MXIB, IBIT, NIB)
Given a Table B mnemonic with flag table units and a corresponding numerical data value,...