C&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
      SUBROUTINE GETDATE(iyr,imo,idy,iutc,cyr,cmon,cday,cutc)
C-----------------------------------------------------------------
      IMPLICIT NONE
      INTEGER,INTENT(IN)                 ::iyr,imo,idy,iutc
      INTEGER, INTENT(OUT)               ::cyr,cmon,cday,cutc
      INTEGER                            ::yr,mon,day,utc
      INTEGER, DIMENSION(12)             ::monl
      INTEGER dystep
C*
      yr=iyr
      mon=imo
      day=idy
      utc=iutc
      DATA monl /30,30,30,30,30,30,30,30,30,30,30,30/
      dystep=0
C*
C      IF (mod(yr,4) .eq. 0) monl(2)=29
C      utc=m
      IF (utc.GE.24) THEN
        dystep=dystep+(utc/24)
        utc=(MOD(utc,24))
      ENDIF
      day=day+dystep
      DO
        IF (day.GT.monl(mon)) THEN
          day=day-monl(mon)
          mon=mon+1
          IF (mon.eq.13) THEN
            mon=1
            yr=yr+1
C            IF (MOD(yr,4).EQ.0) monl(2)=29
          ENDIF
        ELSE
          exit
        ENDIF
      ENDDO
      cyr=yr
      cmon=mon
      cday=day
      cutc=utc
C      IF (mon .LT. 10) cmon(1:1)='0'
C      IF (day .LT. 10) cday(1:1)='0'

      RETURN
      END SUBROUTINE GETDATE
