SURFEX v8.1
General documentation of Surfex
timef.F
Go to the documentation of this file.
1 #if defined ( VPP )
2  FUNCTION timef()
3  DATA ifirst/0/
4  SAVE ifirst,zfirst
5 !
6 ! fujitsu special
7 !
8  CALL gettod(ztimef)
9  ztimef=ztimef/1000.0
10 !
11  IF(ifirst.EQ.0) THEN
12  ifirst=1
13  zfirst=ztimef
14  timef=0.0
15  ELSE
16  timef=(ztimef-zfirst)
17  ENDIF
18 !
19  RETURN
20  ENDFUNCTION timef
21 #elif defined ( RS6K )
22  REAL*8 FUNCTION timef()
23  INTEGER*8 IRTC
24  EXTERNAL irtc
25  DATA ifirst/0/
26  SAVE ifirst,zfirst
27 !
28  ztimef=irtc()*1.0e-6
29 !
30  IF(ifirst.EQ.0) THEN
31  ifirst=1
32  zfirst=ztimef
33  timef=0.0
34  ELSE
35  timef=(ztimef-zfirst)
36  ENDIF
37 !
38  RETURN
39  ENDFUNCTION timef
40 #elif defined ( _CRAYFTN )
41  REAL*8 FUNCTION timef()
42  INTEGER*8 I_TIME1,I_RATE
43  REAL*8 ZTIMEF,ZFIRST
44  DATA ifirst/0/
45  SAVE ifirst,zfirst
46 
47 C THIS IS A REAL TIME CLOCK IN MILLISECONDS.
48 C USAGE OF FORTRAN90 INTRINSIC FUNCTION.
49  CALL system_clock (count=i_time1,count_rate=i_rate)
50  ztimef=dfloat(i_time1)/dfloat(i_rate)
51 
52  IF(ifirst.EQ.0) THEN
53  ifirst=1
54  zfirst=ztimef
55  timef=0.0
56  ELSE
57  timef=1000.0*(ztimef-zfirst)
58  ENDIF
59 
60  RETURN
61  ENDFUNCTION timef
62 
63 #else
64  FUNCTION timef()
65  USE parkind1, ONLY : jpim, jprb
66  IMPLICIT NONE
67  REAL(KIND=JPRB) :: TIMEF
68  INTEGER(KIND=JPIM),SAVE :: IFIRST
69  INTEGER(KIND=JPIM) :: I_RATE, I_TIME1
70  REAL(KIND=JPRB),SAVE :: ZFIRST
71  REAL(KIND=JPRB) :: ZTIMEF
72  DATA ifirst/0/
73 !RJ save ifirst,zfirst
74 !
75 ! This is a real time clock in milliseconds.
76 ! Usage of Fortran90 intrinsic function.
77  CALL system_clock (count=i_time1,count_rate=i_rate)
78  ztimef=REAL(i_time1,kind=jprb)/REAL(i_rate,kind=jprb)
79 
80  IF(ifirst.EQ.0) THEN
81  ifirst=1
82  zfirst=ztimef
83  timef=0.0
84  ELSE
85  timef=1000.0*(ztimef-zfirst)
86  ENDIF
87 
88  RETURN
89  ENDFUNCTION timef
90 #endif
integer, parameter jpim
Definition: parkind1.F90:13
function timef()
Definition: timef.F:3
integer, parameter jprb
Definition: parkind1.F90:32
static int count
Definition: memory_hook.c:21