17 character(255) :: file
18 character(8) :: subset
20 integer,
parameter :: lunit = 20
26 call getarg(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 getarg(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).eq.0)
44 print*,
'message date=',
i4dy(idate)
46 if(go.ne.
'q')
read(5,
'(a)') go
recursive function i4dy(IDATE)
This function converts a date-time with a 2-digit year (YYMMDDHH) to a date-time with a 4-digit year ...
recursive function ireadmg(LUNIT, SUBSET, IDATE)
Calls NCEPLIBS-bufr subroutine readmg() and passes back its return code as the function value.
recursive function ireadsb(LUNIT)
Calls NCEPLIBS-bufr subroutine readsb() and passes back its return code as the function value.
recursive subroutine openbf(LUNIT, IO, LUNDX)
Connects a new file to the NCEPLIBS-bufr software for input or output operations, or initializes the ...
program readmp
Read BUFR file containing embedded DX BUFR tables, and print each report one at a time.
recursive subroutine ufdump(LUNIT, LUPRT)
This subroutine prints a verbose listing of the contents of a data subset, including all data values ...