SURFEX
V8_0
Surfex V8_0 release
Main Page
Data Types List
Files
File List
File Members
All
Classes
Files
Functions
Variables
src
GELATO
modi_gltools_timers.F90
Go to the documentation of this file.
1
!SFX_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
2
!SFX_LIC This is part of the SURFEX software governed by the CeCILL-C licence
3
!SFX_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
4
!SFX_LIC for details. version 1.
5
!GLT_LIC The GELATO model is a seaice model used in stand-alone or embedded mode.
6
!GLT_LIC It has been developed by Meteo-France. The holder of GELATO is Meteo-France.
7
!GLT_LIC
8
!GLT_LIC This software is governed by the CeCILL-C license under French law and biding
9
!GLT_LIC by the rules of distribution of free software. See the CeCILL-C_V1-en.txt
10
!GLT_LIC (English) and CeCILL-C_V1-fr.txt (French) for details. The CeCILL is a free
11
!GLT_LIC software license, explicitly compatible with the GNU GPL
12
!GLT_LIC (see http://www.gnu.org/licenses/license-list.en.html#CeCILL)
13
!GLT_LIC
14
!GLT_LIC The CeCILL-C licence agreement grants users the right to modify and re-use the
15
!GLT_LIC software governed by this free software license. The exercising of this right
16
!GLT_LIC is conditional upon the obligation to make available to the community the
17
!GLT_LIC modifications made to the source code of the software so as to contribute to
18
!GLT_LIC its evolution.
19
!GLT_LIC
20
!GLT_LIC In consideration of access to the source code and the rights to copy, modify
21
!GLT_LIC and redistribute granted by the license, users are provided only with a limited
22
!GLT_LIC warranty and the software's author, the holder of the economic rights, and the
23
!GLT_LIC successive licensors only have limited liability. In this respect, the risks
24
!GLT_LIC associated with loading, using, modifying and/or developing or reproducing the
25
!GLT_LIC software by the user are brought to the user's attention, given its Free
26
!GLT_LIC Software status, which may make it complicated to use, with the result that its
27
!GLT_LIC use is reserved for developers and experienced professionals having in-depth
28
!GLT_LIC computer knowledge. Users are therefore encouraged to load and test the
29
!GLT_LIC suitability of the software as regards their requirements in conditions enabling
30
!GLT_LIC the security of their systems and/or data to be ensured and, more generally, to
31
!GLT_LIC use and operate it in the same conditions of security.
32
!GLT_LIC
33
!GLT_LIC The GELATO sofware is cureently distibuted with the SURFEX software, available at
34
!GLT_LIC http://www.cnrm.meteo.fr/surfex. The fact that you download the software deemed that
35
!GLT_LIC you had knowledge of the CeCILL-C license and that you accept its terms.
36
!GLT_LIC Attempts to use this software in a way not complying with CeCILL-C license
37
!GLT_LIC may lead to prosecution.
38
!GLT_LIC
39
! =======================================================================
40
! ====================== MODULE modi_gltools_timers =======================
41
! =======================================================================
42
!
43
! Goal:
44
! -----
45
! This module contains a subroutine that allows to compute the
46
! elapsed time between a CALL to 'timers' routine and the previous
47
! CALL.
48
!
49
! Method:
50
! --------
51
! This routine is based on the use of CPU_TIME fortran function.
52
!
53
! Input:
54
! ------
55
! A character string (optional) to help you locating between which
56
! points the time has been evaluated.
57
!
58
! Created : 2012/05 (D. Salas y Melia)
59
!
60
! ------------------- BEGIN MODULE modi_gltools_timers --------------------
61
!
62
!THXS_SFX!MODULE modi_gltools_timers
63
!THXS_SFX!INTERFACE
64
!THXS_SFX!!
65
!THXS_SFX!SUBROUTINE gltools_timers( hlabel )
66
!THXS_SFX! USE modd_glt_param
67
!THXS_SFX! CHARACTER(LEN=*), OPTIONAL, INTENT(in) :: &
68
!THXS_SFX! hlabel
69
!THXS_SFX!END SUBROUTINE gltools_timers
70
!THXS_SFX!!
71
!THXS_SFX!END INTERFACE
72
!THXS_SFX!END MODULE modi_gltools_timers
73
!
74
! -------------------- END MODULE modi_gltools_timers ---------------------
75
!
76
!
77
! -----------------------------------------------------------------------
78
! -------------------------- SUBROUTINE gltools_timers --------------------------
79
!
80
SUBROUTINE
gltools_timers
( hlabel )
81
!
82
USE
modd_glt_param
83
!
84
IMPLICIT NONE
85
!
86
CHARACTER(LEN=*)
,
OPTIONAL
,
INTENT(in)
:: &
87
hlabel
88
!
89
! .. Local variables
90
!
91
REAL
:: &
92
ztime
93
CHARACTER(LEN=80)
:: &
94
ylabel
95
!
96
!
97
IF
( ntimers==1 )
THEN
98
!
99
! .. CALL number
100
ntimnum = ntimnum + 1
101
!
102
! .. Get input label
103
IF
( present(hlabel) )
THEN
104
IF
(len(hlabel)>80)
THEN
105
ylabel = hlabel(1:80)
106
ELSE
107
WRITE
( ylabel,
'(A80)'
) hlabel
108
ENDIF
109
ELSE
110
ylabel =
''
111
ENDIF
112
!
113
! .. Get current time
114
CALL cpu_time(ztime)
115
!
116
! .. Print message
117
IF
(lwg)
WRITE
(ntimlu,
'("BETWEEN ",A," (CALL # ",I6,") AND ",A, &
118
& " (CALL # ",I6,")")'
) &
119
& trim(adjustl(clabel)),ntimnum-1,trim(adjustl(ylabel)), &
120
& ntimnum
121
IF
(lwg)
WRITE
(ntimlu,
'(" --> exec time = ",F9.3," s", &
122
& " / total time = ",F9.3," s")'
) &
123
& ztime-xtime,ztime
124
! CALL flush(ntimlu)
125
!
126
! .. Save current label and time, for next CALL
127
clabel = ylabel
128
xtime = ztime
129
ENDIF
130
!
131
END SUBROUTINE
gltools_timers
132
!
133
! ----------------------- END SUBROUTINE gltools_timers -------------------------
134
! -----------------------------------------------------------------------
modd_glt_param
Definition:
modd_glt_param.F90:53
gltools_timers
subroutine gltools_timers(hlabel)
Definition:
modi_gltools_timers.F90:80
Generated on Fri May 13 2016 09:31:00 for SURFEX by
1.8.5