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