SURFEX v8.1
General documentation of Surfex
clock.F
Go to the documentation of this file.
1  FUNCTION clock()
2 !
3 ! clock() returns the amount of CPU time (in microseconds) used since
4 ! the first call to clock(). The time reported is the sum of the user
5 ! and system times of the calling process and its terminated child
6 ! processes for which it has executed wait() or system() (see wait(2)
7 ! and system(3S)). To determine the time in seconds, the value returned
8 ! by clock() should be divided by the value of the macro CLOCKS_PER_SEC.
9 !
10 ! INTRODUCE A PROPER CLCOK ROUTINE HERE
11 !
12 ! IMPLICIT LOGICAL (L)
13  USE parkind1, ONLY : jpim, jprb
14 !
15  IMPLICIT NONE
16 !
17  INTEGER(KIND=JPIM) :: CLOCK
18  INTEGER(KIND=JPIM) :: IC, ICR, ICM
19  CALL system_clock(ic,icr,icm)
20  IF(icm.EQ.0) THEN
21  print *,' no system clock'
22  clock=-99
23  ELSE
24 #ifdef VPP
25  clock=ic
26 #else
27  clock=int(1000.0_jprb*REAL(ic,kind=jprb)/icr)
28 #endif
29  ENDIF
30  RETURN
31  ENDFUNCTION clock
integer, parameter jpim
Definition: parkind1.F90:13
integer, parameter jprb
Definition: parkind1.F90:32
integer(kind=jpim) function clock()
Definition: clock.F:2