1 double precision function util_wallsec() 2 implicit none 3#ifdef NO_MPIF 4#include "tcgmsg.fh" 5#endif 6c $Id$ 7* 8* routine to give wall clock seconds since start of execution 9* delta times are handled by all applications 10* 11* 12 logical first_call 13 double precision first_time,last_time,cur_time,diff 14#ifndef NO_MPIF 15 double precision MPI_Wtime 16 external MPI_Wtime 17#endif 18c 19 save first_time 20 save first_call 21 data first_call /.true./ 22c 23#ifdef NO_MPIF 24 util_wallsec = TCGTIME() 25#else 26 util_wallsec = MPI_Wtime() 27#endif 28 if (first_call) then 29#ifdef NO_MPIF 30 first_time = TCGTIME() 31#else 32 first_time = MPI_Wtime() 33#endif 34 first_call = .false. 35 endif 36 37#ifdef NO_MPIF 38 cur_time = TCGTIME() 39#else 40 cur_time = MPI_Wtime() 41#endif 42 util_wallsec = cur_time - first_time 43 44* 45 end 46 47 48