!
!##################################################################
!##################################################################
!######                                                      ######
!######                SUBROUTINE GET_TIME_STRING            ######
!######                                                      ######
!######                     Developed by                     ######
!######     Center for Analysis and Prediction of Storms     ######
!######                University of Oklahoma                ######
!######                                                      ######
!##################################################################
!##################################################################
!


SUBROUTINE get_time_string  (curtime, time_string) 5,4

  INCLUDE 'globcst.inc'

  REAL :: curtime
  CHARACTER (LEN=25) :: time_string
  INTEGER :: abstsec
  INTEGER :: rjday, wday
  INTEGER :: ryear,rmonth, rday, rhour, rmin, rsec
  CHARACTER (LEN=3) :: smonth(12)
  CHARACTER (LEN=3) :: weekday(0:6)
  CHARACTER (LEN=2) :: chour, cmin
  DATA smonth/'Jan','Feb','Mar','Apr','May','Jun',                      &
            'Jul','Aug','Sep','Oct','Nov','Dec'/
  DATA weekday/'Sun','Mon','Tue','Wed','Thu','Fri','Sat'/


  CALL  ctim2abss( year,month,day,hour,minute,second, abstsec )

!   print*,year,month,day,hour,minute,second, abstsec
!   print*,'current time', curtime

  abstsec = abstsec + INT(curtime)

  CALL abss2ctim( abstsec, ryear, rmonth, rday, rhour, rmin, rsec)
!   print*,abstsec, ryear, rmonth, rday, rhour, rmin, rsec

  CALL julday( ryear, rmonth, rday, rjday )
  CALL getwekday ( ryear,rmonth, rday, wday )

  IF(rhour < 10) THEN
    WRITE(chour,'(''0'',I1)') rhour
  ELSE
    WRITE(chour,'(i2)') rhour
  END IF
  IF(rmin < 10) THEN
    WRITE(cmin,'(''0'',I1)') rmin
  ELSE
    WRITE(cmin,'(i2)') rmin
  END IF

  WRITE(time_string,                                                 &
      '(a,'':'',A,''Z'','' '',A,'' '',I2,'' '',a,'' '',i4)')         &
      chour, cmin, weekday(wday),rday,smonth(rmonth),ryear


  RETURN
END SUBROUTINE get_time_string

!
!##################################################################
!##################################################################
!######                                                      ######
!######                SUBROUTINE GETWEKDAY                  ######
!######                                                      ######
!######                     Developed by                     ######
!######     Center for Analysis and Prediction of Storms     ######
!######                University of Oklahoma                ######
!######                                                      ######
!##################################################################
!##################################################################
!


SUBROUTINE getwekday ( year, month, day, wekday ) 1,1

  INTEGER :: year, month, day, wekday
  INTEGER :: jday, tmp1
  INTEGER :: baseyear
  baseyear = 1960   ! have to be leap year

  CALL julday( year, month, day, jday )  ! current jday

  tmp1 = year-baseyear   ! total years

  lp = (year + 3 - baseyear) / 4         ! Number of leap days since 1960

  jday = jday + tmp1*365 + lp  ! total day from baseyear/1/1/

  IF( year == baseyear .AND. jday >= 60) jday = jday+1

  wekday = MOD(jday+4, 7)   !! 1960 1/1 is Friday

  RETURN
END SUBROUTINE getwekday