336 INTEGER(itime),
INTENT(IN) :: IINT,ISTART,IEND
337 Type(TIME),
INTENT(IN) :: STIME
338 REAL(SP) :: TTCP,TAVE
339 CHARACTER(LEN=80) :: SIMTIME,FINTIME
340 CHARACTER(LEN=22) :: PCOMP
341 INTEGER :: I,ICMP,ICMP2
342 INTEGER(ITIME) :: BIG_COUNT
343 LOGICAL,
SAVE :: INITIALIZED
345 real(DP):: tmp, seconds
346 integer :: hours, minutes
347 Character(len=2) :: h, m
348 Character(Len=9) :: s
349 Character(Len=6) :: d
351 IF(.not. initialized)
THEN 352 CALL watch_init(report_watch)
362 CALL watch_lap(report_watch)
367 big_count = report_watch%COUNT_CURRENT - report_watch%COUNT_0
368 IF (big_count < 0) big_count = big_count + report_watch%COUNT_MAX
370 tave = dble(big_count) / dble(report_watch%COUNT_RATE * report_watch%LAP_COUNT)
372 IF(tave < 0) tave = 0.0_sp
379 CALL gettime(fintime,int(ttcp))
408 WRITE(
ipt,101)
iint,simtime,fintime,tave,pcomp
415 minutes = (tmp-hours*3600)/60
418 write(
d,
'(i6.6)') stime%mjd
419 write(
h,
'(i2.2)') hours
420 write(
m,
'(i2.2)') minutes
423 simtime =
"D"//
d//
"T"//
h//
":"//
m//
":"//
s 428 WRITE(
ipt,101)
iint,simtime,fintime,tave,pcomp
432 101
FORMAT(1x,
"!",i7,3x,a26,3x,a13,3x,f8.4,2x,a22)
433 102
FORMAT(1x,
"! IINT ",6x,
" SIMTIME(UTC) ",9x,
" FINISH IN ",5x,
" SECS/IT ",1x,
" PERCENT COMPLETE ")
434 103
FORMAT(1x,
"! IINT ",6x,
" SIMTIME ",14x,
" FINISH IN ",5x,
" SECS/IT ",1x,
" PERCENT COMPLETE ")
real(sp), dimension(:), allocatable, target d
real(sp), dimension(:,:), allocatable, target s
real(sp), dimension(:), allocatable, target h
logical use_real_world_time
real(dp) function seconds(MJD)
integer(itime), parameter million
character(len=80) function write_datetime(mjdin, prec, TZONE)