!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,daystep
!C*
      yr=iyr
      mon=imo
      day=idy
      utc=iutc
    
    
    
    
    !  DATA monl /30,30,30,30,30,30,30,30,30,30,30,30/
    data monl /31,28,31,30,31,30,31,31,30,31,30,31/	
      dystep=0

!     ! daystep=0

!C*
      IF (mod(yr,4) .eq. 0) then  !!!
      monl(2)=29                   !!!   
      endif                      !!!!!!!!
!C      utc=m
      IF (utc.GE.24) THEN
        dystep=dystep+(utc/24)
!     ! daystep=daystep+(utc/24)
      
        utc=(MOD(utc,24))
      ENDIF
      day=day+dystep
     
   !  day=day+daystep
      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
      
      print*,'DAY_GETDATE=',day
      
!C      IF (mon .LT. 10) cmon(1:1)='0'
!C      IF (day .LT. 10) cday(1:1)='0'

      RETURN
      END SUBROUTINE GETDATE
