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,
217 1
FORMAT(i5,1x,a3,
'-',i1,1x,a10,5x,g15.6,1x,a14,7(1x,i5))
218 10
FORMAT(i5,1x,a3,
'-',i1,1x,a10,5x,f15.6,1x,a14,7(1x,i5))
219 2
FORMAT(i5,1x,a3,
'-',i1,1x,a10,1x, a20, 14x,7(1x,i5))
220 3
FORMAT(/
' >>> END OF SUBSET <<< '/)
221 4
FORMAT(i5,1x,a3,
'-',i1,1x,a10,1x, a, 7(1x,i5))
227 900 CALL
bort(
'BUFRLIB: UFBDMP - INPUT BUFR FILE IS CLOSED, IT '//
228 .
'MUST BE OPEN FOR INPUT')
229 901 CALL
bort(
'BUFRLIB: UFBDMP - INPUT BUFR FILE IS OPEN FOR '//
230 .
'OUTPUT, IT MUST BE OPEN FOR INPUT')
231 902 CALL
bort(
'BUFRLIB: UFBDMP - A MESSAGE MUST BE OPEN IN INPUT '//
232 .
'BUFR FILE, NONE ARE')
233 903 CALL
bort(
'BUFRLIB: UFBDMP - LOCATION OF INTERNAL TABLE FOR '//
234 .
'INPUT BUFR FILE DOES NOT AGREE WITH EXPECTED LOCATION IN '//
235 .
'INTERNAL SUBSET ARRAY')
INTEGER function icbfms(STR, LSTR)
This function provides a handy way to check whether a character string returned from a previous call ...
This module contains array and variable declarations used to store DX BUFR tables internally for mult...
INTEGER function ibfms(R8VAL)
This function provides a handy way to check whether a real*8 data value returned from a previous call...
This module contains array and variable declarations used to store the internal jump/link table...
subroutine status(LUNIT, LUN, IL, IM)
This subroutine checks whether a specified Fortran logical unit number is currently connected to the ...
subroutine upftbv(LUNIT, NEMO, VAL, MXIB, IBIT, NIB)
Given a Table B mnemonic with flag table units and a corresponding numerical data value...
subroutine ufbdmp(LUNIN, LUPRT)
This subroutine prints a verbose listing of the contents of a data subset, including all data values ...
subroutine nemtab(LUN, NEMO, IDN, TAB, IRET)
This subroutine returns information about a descriptor from the internal DX BUFR tables, based on the mnemonic associated with that descriptor.
subroutine bort(STR)
This subroutine calls subroutine errwrt() to log an error message, then calls subroutine bort_exit() ...
INTEGER function isize(NUM)
THIS FUNCTION COMPUTES AND RETURNS THE NUMBER OF CHARACTERS NEEDED TO ENCODE THE INPUT INTEGER NUM AS...
subroutine readlc(LUNIT, CHR, STR)
This subroutine reads a long character string (greater than 8 bytes) from a data subset.