36 CHARACTER*256 CARG,CFMT
37 INTEGER*4 IARG,LARG,NCARG,NARG,IARGC
38 INTEGER IDAT(8),JDAT(8)
46 dowhile(iarg.LE.narg.AND.lstopt.EQ.0)
47 CALL getarg(iarg,carg)
50 IF(carg(1:1).NE.
'-'.OR.
51 & (carg(2:2).GE.
'0'.AND.carg(2:2).LE.
'9'))
THEN
54 ELSEIF(larg.EQ.1)
THEN
55 CALL errmsg(
'mdate: Invalid option -')
61 IF(carg(l:l).EQ.
'-')
THEN
64 CALL errmsg(
'mdate: Invalid option '//carg(l:l))
76 CALL errmsg(
'mdate: Incorrect number of arguments')
83 CALL getarg(iarg,carg)
85 WRITE(cfmt,
'("(I",I2,")")') ncarg
86 READ(carg,cfmt,iostat=iret) iminute
88 CALL errmsg(
'mdate: Noninteger minute '//carg(1:ncarg))
100 CALL getarg(iarg+1,carg)
102 WRITE(cfmt,
'("(I",I2,",4I2)")') ncarg-8
104 READ(carg,cfmt,iostat=iret) idat(1),idat(2),idat(3),idat(5),
106 IF(iret.NE.0.OR..NOT.w3valdat(idat))
THEN
107 CALL errmsg(
'mdate: Invalid date '//carg(1:ncarg))
116 CALL w3movdat(rinc,idat,jdat)
117 nd=log10(jdat(1)+0.5)+1
118 WRITE(cfmt,
'("(I",I2,",4I2.2)")') nd
119 print cfmt,jdat(1),jdat(2),jdat(3),jdat(5),jdat(6)
125 CALL errmsg(
'Usage: mdate [minutes [idate]]')