5 parameter(maxa=16000000)
8 CHARACTER(255) FILE,tbldir
12 dimension isat(0:maxs,0:maxs)
13 real(8) arr(2,maxa),said(maxa),siid(maxa)
32 write(*,*)
'Usage: sinv <satbufrfile> will print inventory of satellites by platform and instrument'
36 file = trim(adjustl(file))
37 inquire(file=file,exist=exist)
38 if (.not.exist)
call bort(trim(file)//
' does not exist')
43 call openbf(lunbf,
'FIRST',lunbf)
49 "/home/jeffa/build/install/tables" &
55 open(lunbf,file=file,form=
'unformatted')
56 call ufbtab(lunbf,said,1,maxa,nret,
'SAID')
57 call ufbtab(lunbf,siid,1,maxa,nrex,
'SIID')
61 open(lunbf,file=file,form=
'unformatted')
62 CALL openbf(lunbf,
'IN',lunbf)
63 call readmg(lunbf,subset,idate,iret)
73 isat(i,j) = isat(i,j)+1
791
format(a14,2x,a14,2x,a8)
82 if(isat(i,j).gt.0)
then
84 call satcode(lunbf,i,ci,j,cj)
85 write(*,
'(i3.3,2x,a16,2x,i10,2x,i3.3,a80)')i,ci,isat(i,j),j,trim
90 write(*,
'(/23x,i10/)') jsat
96 subroutine satcode(lunit,icode,csad,jcode,csid)
100 character(255) :: str
102 csad(1:16)=
' '; csid(1:80)=
' '
108 call getcfmng(lunit,
'SAID',icode,
' ',-1,str,len,iret); csad=str
111 call getcfmng(lunit,
'SIID',jcode,
' ',-1,str,len,iret); csid=str
subroutine bort(STR)
This subroutine calls subroutine errwrt() to log an error message, then calls subroutine bort_exit() ...
subroutine codflg(CF)
This subroutine is used to specify whether or not code and flag table information should be included ...
subroutine getcfmng(LUNIT, NEMOI, IVALI, NEMOD, IVALD, CMEANG, LNMNG, IRET)
This subroutine searches for a specified Table B mnemonic and associated value (code figure or bit nu...
subroutine mtinfo(CMTDIR, LUNMT1, LUNMT2)
This subroutine allows the specification of the directory location and Fortran logical unit numbers t...
subroutine openbf(LUNIT, IO, LUNDX)
This subroutine connects a new file to the BUFRLIB software for input or output operations.
subroutine readmg(LUNXX, SUBSET, JDATE, IRET)
This subroutine reads the next BUFR message from logical unit ABS(LUNXX) into internal arrays.
subroutine ufbtab(LUNIN, TAB, I1, I2, IRET, STR)
This subroutine reads through every data subset in a BUFR file and returns one or more specified data...