@@ -606,7 +606,8 @@ contains
606606
607607 integer , intent (inout ) :: t_step
608608 real (wp), intent (inout ) :: time_avg
609- integer :: i
609+ integer :: i, eta_hh, eta_mm, eta_ss
610+ real (wp) :: eta_sec
610611
611612 if (cfl_dt) then
612613 if (cfl_const_dt .and. t_step == 0 ) call s_compute_dt()
@@ -635,14 +636,23 @@ contains
635636
636637 if (cfl_dt) then
637638 if (proc_rank == 0 .and. mod (t_step - t_step_start, t_step_print) == 0 ) then
638- print ' (" [", I3, "%] Time ", ES16.6, " dt = ", ES16.6, " @ Time Step = ", I8, " Time Avg = ", ES16.6, " Time/step = ", ES12.6, "")' , &
639- & int (ceiling(100._wp * (mytime/ t_stop))), mytime, dt, t_step, wall_time_avg, wall_time
639+ eta_sec = wall_time_avg* (t_stop - mytime)/ max (dt, tiny (dt))
640+ eta_hh = int (eta_sec)/ 3600
641+ eta_mm = mod (int (eta_sec), 3600 )/ 60
642+ eta_ss = mod (int (eta_sec), 60 )
643+ print ' (" [", I3, "%] Time ", ES16.6, " dt = ", ES16.6, " @ Time Step = ", I8, " Time Avg = ", ES16.6, " Time/step = ", ES12.6, " ETA (HH:MM:SS) = ", I0, ":", I2.2, ":", I2.2)' , &
644+ & int (ceiling(100._wp * (mytime/ t_stop))), mytime, dt, t_step, wall_time_avg, wall_time, eta_hh, eta_mm, eta_ss
640645 end if
641646 else
642647 if (proc_rank == 0 .and. mod (t_step - t_step_start, t_step_print) == 0 ) then
643- print ' (" [", I3, "%] Time step ", I8, " of ", I0, " @ t_step = ", I8, " Time Avg = ", ES12.6, " Time/step= ", ES12.6, "")' , &
648+ eta_sec = wall_time_avg* real (t_step_stop - t_step, wp)
649+ eta_hh = int (eta_sec)/ 3600
650+ eta_mm = mod (int (eta_sec), 3600 )/ 60
651+ eta_ss = mod (int (eta_sec), 60 )
652+ print ' (" [", I3, "%] Time step ", I8, " of ", I0, " @ t_step = ", I8, " Time Avg = ", ES12.6, " Time/step= ", ES12.6, " ETA (HH:MM:SS) = ", I0, ":", I2.2, ":", I2.2)' , &
644653 & int (ceiling(100._wp * (real (t_step - t_step_start)/ (t_step_stop - t_step_start + 1 )))), &
645- & t_step - t_step_start + 1 , t_step_stop - t_step_start + 1 , t_step, wall_time_avg, wall_time
654+ & t_step - t_step_start + 1 , t_step_stop - t_step_start + 1 , t_step, wall_time_avg, wall_time, eta_hh, &
655+ & eta_mm, eta_ss
646656 end if
647657 end if
648658
0 commit comments