90 CHARACTER*20 lchr,pmiss
103 DATA pmiss /
' MISSING'/
119 CALL
status(lunit,lun,il,im)
123 IF(inode(lun).NE.inv(1,lun)) goto 903
129 IF(luprt.EQ.0 .AND. mod(nv,20).EQ.0)
THEN
134 print*,
'(<enter> for MORE, q <enter> to QUIT)'
144 print*,
'==> You have chosen to stop the dumping of this subset'
165 CALL
nemtab(lun,tg,idn,tab,n)
166 IF(tabb(n,lun)(71:75).EQ.
'FLAG')
THEN
171 CALL
upftbv(lunit,tg,vl,mxfv,ifv,nifv)
177 WRITE(fmtf,
'(A2,I1,A4)')
'(I', isz,
',A1)'
178 IF((ipt+isz).LE.14)
THEN
179 WRITE(bits(ipt:ipt+isz),fmtf) ifv(ii),
','
182 bits(2:13) =
'MANY BITS ON'
186 bits(ipt-1:ipt-1) =
')'
190 IF(
ibfms(vl).NE.0)
THEN
191 WRITE(luout,2) nv,tp,it,tg_rj,pmiss,ib,is,ir,nd,jp,lk,jb
193 IF(lunit.EQ.lunin)
THEN
194 WRITE(luout,1) nv,tp,it,tg_rj,vl,bits,ib,is,ir,nd,jp,lk,
197 WRITE(luout,10) nv,tp,it,tg_rj,vl,bits,ib,is,ir,nd,jp,lk,
204 CALL
readlc(lunit,lchr2,tg_rj)
205 IF (
icbfms(lchr2,nchr).NE.0)
THEN
211 IF(
ibfms(vl).NE.0)
THEN
217 IF ( nchr.LE.20 .OR. lchr.EQ.pmiss )
THEN
219 WRITE(luout,2) nv,tp,it,tg_rj,lchr,ib,is,ir,nd,jp,lk,jb
221 WRITE(luout,4) nv,tp,it,tg_rj,lchr2(1:nchr),ib,is,ir,nd,jp,
229 1
FORMAT(i5,1x,a3,
'-',i1,1x,a10,5x,g15.6,1x,a14,7(1x,i5))
230 10
FORMAT(i5,1x,a3,
'-',i1,1x,a10,5x,f15.6,1x,a14,7(1x,i5))
231 2
FORMAT(i5,1x,a3,
'-',i1,1x,a10,1x, a20, 14x,7(1x,i5))
232 3
FORMAT(/
' >>> END OF SUBSET <<< '/)
233 4
FORMAT(i5,1x,a3,
'-',i1,1x,a10,1x, a, 7(1x,i5))
239 900 CALL
bort(
'BUFRLIB: UFBDMP - INPUT BUFR FILE IS CLOSED, IT '//
240 .
'MUST BE OPEN FOR INPUT')
241 901 CALL
bort(
'BUFRLIB: UFBDMP - INPUT BUFR FILE IS OPEN FOR '//
242 .
'OUTPUT, IT MUST BE OPEN FOR INPUT')
243 902 CALL
bort(
'BUFRLIB: UFBDMP - A MESSAGE MUST BE OPEN IN INPUT '//
244 .
'BUFR FILE, NONE ARE')
245 903 CALL
bort(
'BUFRLIB: UFBDMP - LOCATION OF INTERNAL TABLE FOR '//
246 .
'INPUT BUFR FILE DOES NOT AGREE WITH EXPECTED LOCATION IN '//
247 .
'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 ...
function rjust(STR)
THIS FUNCTION RIGHT JUSTIFIES A CHARACTER STRING.
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 SEARCHES FOR MNEMONIC NEMO WITHIN THE INTERNAL TABLE B AND D ARRAYS HOLDING THE DICTI...
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.