! 1) If the MPP or MPP_DOMAINS stack size is exceeded the
! program will terminate after printing the required size.
!
! 2) When running on a very small number of processors or for high
! resolution models the default domains_stack_size will
! probably be insufficient.
!
! 3) The following performance routines in the MPP module are published by this module.
!
! mpp_clock_id, mpp_clock_begin, mpp_clock_end
!
! and associated parameters that are published:
!
! MPP_CLOCK_SYNC, MPP_CLOCK_DETAILED, CLOCK_COMPONENT, CLOCK_SUBCOMPONENT,
! CLOCK_MODULE_DRIVER, CLOCK_MODULE, CLOCK_ROUTINE, CLOCK_LOOP, CLOCK_INFRA
!
!
! 4) Here is an example of how to time a section of code.
!
! use fms_mod, only: mpp_clock_id, mpp_clock_begin, &
! mpp_clock_end. MPP_CLOCK_SYNC, &
! CLOCK_MODULE_DRIVER
! integer :: id_mycode
!
! id_mycode = mpp_clock_id ('mycode loop', flags=MPP_CLOCK_SYNC, grain=CLOCK_MODULE_DRIVER)
! call mpp_clock_begin (id_mycode)
! :
! :
! ~~ this code will be timed ~~
! :
! :
! call mpp_clock_end (id_mycode)
!
! Note: CLOCK_MODULE_DRIVER can be replaced with
! CLOCK_COMPONENT, CLOCK_SUBCOMPONENT, CLOCK_MODULE_DRIVER, CLOCK_MODULE, CLOCK_ROUTINE,
! CLOCK_LOOP, or CLOCK_INFRA.
!
!
!