6 use fms_mod,
only : clock_flag_default
7 use mpp_mod,
only : cpu_clock_begin => mpp_clock_begin
8 use mpp_mod,
only : cpu_clock_end => mpp_clock_end, mpp_clock_id
9 use mpp_mod,
only : clock_component, clock_subcomponent, clock_module_driver
10 use mpp_mod,
only : clock_module, clock_routine, clock_loop, clock_infra
11 use mpp_mod,
only : clock_sync => mpp_clock_sync
13 implicit none ;
private
15 public :: cpu_clock_id, cpu_clock_begin, cpu_clock_end
16 public :: clock_component, clock_subcomponent, clock_module_driver, clock_module
17 public :: clock_routine, clock_loop, clock_infra, clock_sync
22 function cpu_clock_id( name, synchro_flag, grain )
23 character(len=*),
intent(in) :: name
24 integer,
intent(in),
optional :: synchro_flag
30 integer,
intent(in),
optional :: grain
32 integer :: cpu_clock_id
34 if (
present(synchro_flag))
then
35 cpu_clock_id = mpp_clock_id(name, flags=synchro_flag, grain=grain)
37 cpu_clock_id = mpp_clock_id(name, flags=clock_flag_default, grain=grain)
40 end function cpu_clock_id