63 SUBROUTINE w3trnarg(SUBDIR,LSUBDR,TANKID,LTNKID,APPCHR,LAPCHR,
64 1 TLFLAG,IYMDHB,IYMDHE,IERR)
65 CHARACTER*(*) SUBDIR,TANKID,APPCHR,TLFLAG
66 INTEGER IDATIN(8),IDTOUT(8)
68 READ(5,*,
END=9999) SUBDIR,TANKID,APPCHR,iymdh
71 IF(subdir(lsubdr+1:lsubdr+1).EQ.
' ')
GO TO 10
76 WRITE(6,
'(1X,I2,'' CHARACTERS IN SUBDIRECTORY ARGUMENT'',
77 1 '' AT LEAST 4 CHARACTERS ARE REQUIRED'')') lsubdr
83 IF(tankid(ltnkid+1:ltnkid+1).EQ.
' ')
GO TO 20
88 WRITE(6,
'(1X,I2,'' CHARACTERS IN TANKFILE ARGUMENT'',
89 1 '' AT LEAST 4 CHARACTERS ARE REQUIRED'')') ltnkid
95 IF(appchr(lapchr+1:lapchr+1).EQ.
' ')
GO TO 30
100 READ(5,*,
END=40) tlflag
102 IF(tlflag(1:6).NE.
'TIMLIM')
THEN
104 print 123, iymdh,subdir(1:lsubdr),tankid(1:ltnkid)
105 123
FORMAT(/
'RUN ON ',i10/
'WRITE TO ',a,
'/',a/
'GROSS TIME LIMIT ',
106 1
'CHECKS ARE NOT PERFORMED HERE - SUBSEQUENT PROGRAM ',
107 1
'BUFR_TRANJB WILL TAKE CARE OF THIS'/)
114 READ(5,*,
END=60) ihrbef
121 READ(5,*,
END=80) ihraft
127 IF(ihrbef.GT.0 .AND. ihraft.LT.0)
THEN
131 ELSE IF(ihrbef.GT.0)
THEN
135 idatin(1) = iymdh / 1000000
136 idatin(2) = mod(iymdh,1000000) / 10000
137 idatin(3) = mod(iymdh,10000) / 100
139 idatin(5) = mod(iymdh,100)
142 timinc(2) = float(ihrbef)
145 iymdhb = ((idtout(1) * 100 + idtout(2)) * 100 + idtout(3)) *
147 timinc(2) = float(ihraft)
149 iymdhe = ((idtout(1) * 100 + idtout(2)) * 100 + idtout(3)) *
151 print 124, iymdh,subdir(1:lsubdr),tankid(1:ltnkid),iymdhb,iymdhe
152 124
FORMAT(/
'RUN ON ',i10/
'WRITE TO ',a,
'/',a/
'ACCEPT BETWEEN ',i10,
157 WRITE(6,
'('' INSUFFICIENT NO. OF ARGUMENTS TO BUFR '',
158 1 ''TRANSLATION PROCEDURE - AT LEAST 4 ARE NEEDED'')')
subroutine w3movdat(rinc, idat, jdat)
This subprogram returns the date and time that is a given NCEP relative time interval from an NCEP ab...
subroutine w3trnarg(subdir, lsubdr, tankid, ltnkid, appchr, lapchr, tlflag, iymdhb, iymdhe, ierr)
Reads argument lines from standard input and obtains subdirectory, bufr tankname, characters to appen...