MOM_cpu_clock.F90
1! This file is part of MOM6, the Modular Ocean Model version 6.
2! See the LICENSE file for licensing information.
3! SPDX-License-Identifier: Apache-2.0
4
5!> Provides cpu clock functions
6module mom_cpu_clock
7
8! These interfaces and constants from MPP/FMS will not be directly exposed outside of this module
9use mom_cpu_clock_infra, only : cpu_clock_begin
10use mom_cpu_clock_infra, only : cpu_clock_end
11use mom_cpu_clock_infra, only : cpu_clock_id
12use mom_cpu_clock_infra, only : clock_component
13use mom_cpu_clock_infra, only : clock_subcomponent
14use mom_cpu_clock_infra, only : clock_module_driver
15use mom_cpu_clock_infra, only : clock_module
16use mom_cpu_clock_infra, only : clock_routine
17use mom_cpu_clock_infra, only : clock_loop
18use mom_cpu_clock_infra, only : clock_infra
19
20implicit none ; private
21
22!> Public functions:
23!> mom_cpu_clock_infra::cpu_clock_id, mom_cpu_clock_infra::cpu_clock_begin, mom_cpu_clock_infra::cpu_clock_end
24public :: cpu_clock_id, cpu_clock_begin, cpu_clock_end
25
26!> Public constants:
27!> mom_cpu_clock_infra::clock_component, mom_cpu_clock_infra::clock_subcomponent
28!> mom_cpu_clock_infra::clock_module_driver, mom_cpu_clock_infra::clock_module_driver
29public :: clock_component, clock_subcomponent, clock_module_driver, clock_module
30!> mom_cpu_clock_infra::clock_routine, mom_cpu_clock_infra::clock_loop
31!> mom_cpu_clock_infra::clock_infra
32public :: clock_routine, clock_loop, clock_infra
33
34end module mom_cpu_clock
35
36!> \namespace mom_cpu_clock
37!!
38!! APIs are defined and implemented in mom_cpu_clock_infra.