40 USE yomhook
,ONLY : lhook, dr_hook
41 USE parkind1
,ONLY : jprb
46 REAL,
INTENT(IN) :: ptstep
47 CHARACTER(LEN=*),
INTENT(OUT) :: hdate
49 INTEGER,
DIMENSION(3) :: itime, idate
50 REAL(KIND=JPRB) :: zhook_handle
55 IF (lhook) CALL dr_hook(
'GET_DATE_OL',0,zhook_handle)
56 itime(1)=floor(tptime%TIME/3600.)
57 itime(2)=floor((tptime%TIME-itime(1)*3600)/60.)
58 itime(3)=tptime%TIME-itime(1)*3600-itime(2)*60
60 IF (ptstep == floor(ptstep/86400.)*86400)
THEN
62 ELSEIF (ptstep == floor(ptstep/3600.)*3600)
THEN
64 ELSEIF (ptstep == floor(ptstep/60.)*60)
THEN
65 hdate=
'minutes since '
67 hdate=
'seconds since '
70 idate(1) = tptime%TDATE%YEAR
71 idate(2) = tptime%TDATE%MONTH
72 idate(3) = tptime%TDATE%DAY
81 IF (lhook) CALL dr_hook(
'GET_DATE_OL',1,zhook_handle)
87 INTEGER,
INTENT(IN) :: itime
88 INTEGER,
INTENT(IN) :: ispace
89 CHARACTER(LEN=*),
INTENT(IN) :: hsep
90 CHARACTER(LEN=*),
INTENT(INOUT) :: htdate
91 CHARACTER(LEN=10) :: ypas
92 REAL(KIND=JPRB) :: zhook_handle
95 IF (lhook) CALL dr_hook(
'GET_DATE_OL:WRITE_TIME',0,zhook_handle)
97 WRITE(ypas,
'(i1)') itime
99 htdate=trim(htdate)//
" 0"//trim(ypas)//hsep
101 htdate=trim(htdate)//
"0"//trim(ypas)//hsep
104 IF (itime.LT.100)
THEN
105 WRITE(ypas,
'(i2)') itime
107 WRITE(ypas,
'(i4)') itime
110 htdate=trim(htdate)//
" "//trim(ypas)//hsep
112 htdate=trim(htdate)//trim(ypas)//hsep
115 IF (lhook) CALL dr_hook(
'GET_DATE_OL:WRITE_TIME',1,zhook_handle)
subroutine get_date_ol(TPTIME, PTSTEP, HDATE)
subroutine write_time(ITIME, ISPACE, HSEP, HTDATE)