17 character(255) :: file
18 character(8) :: subset
20 integer,
parameter :: lunit = 20
26 call get_command_argument(1,file); file=trim(adjustl(file))
28 print *,
'Usage: readmp <bufrfile> will print reports one at a time'
31 inquire(file=file,exist=exist)
33 print *,trim(file)//
' does not exist'
36 call get_command_argument(2,go); go=trim(adjustl(go))
37 open(lunit,file=file,form=
'unformatted')
41 call openbf(lunit,
'IN',lunit)
42 do while(
ireadmg(lunit,subset,idate)==0)
44 print*,
'message date=',
i4dy(idate)
46 if(go/=
'q')
read(5,
'(a)') go
recursive subroutine ufdump(lunit, luprt)
Print a verbose listing of the contents of a data subset, including all data values and replicated se...
recursive subroutine openbf(lunit, io, lundx)
Connect a new file to the NCEPLIBS-bufr software for input or output operations, or initialize the li...
program readmp
Read BUFR file containing embedded DX BUFR tables, and print each report one at a time.
recursive integer function ireadmg(lunit, subset, idate)
Call subroutine readmg() and pass back its return code as the function value.
recursive integer function ireadsb(lunit)
Call subroutine readsb() and pass back its return code as the function value.
recursive integer function i4dy(idate)
Convert a date-time with a 2-digit year (YYMMDDHH) to a date-time with a 4-digit year (YYYYMMDDHH) us...