Add tracing instrumentation to nuopc driver#151
Conversation
jedwards4b
left a comment
There was a problem hiding this comment.
I would suggest that you introduce a new file ufs_trace_wrapper.F90 with ifdef blocks:
#ifdef UFS_TRACE
use ufs_trace_mod, only: ufs_trace
#endif
contains
subroutine ufs_trace_wrapper(a, b, c)
character(len=*), intent(in) :: a, b, c
#ifdef UFS_TRACE
call ufs_trace(a, b, c)
#endif
return
end subroutine
end module
Then call ufs_trace_wrapper in the code instead of having ifdef all over the place.
@jedwards4b Please take a look again. I introduced the wrapper module. |
jedwards4b
left a comment
There was a problem hiding this comment.
CMEPS standard requires that you use the only clause with all module use statements.
Otherwise this looks good. Thanks.
|
Testing on WM PR 2884 has completed successfully. This PR can be merged. |
Description of changes
This PR adds calls to ufs tracing routines that will create a trace file which can then be visualized, which is found to be useful in identifying various performance issues.
See ufs-weather-model issue ufs-community/ufs-weather-model#2883
Added calls are not used by default, unless build option (-DUFS_TRACING=ON) is specified when building the ufs-weather-model.
No changes in answers are expected.
Specific notes
Contributors other than yourself, if any:
CMEPS Issues Fixed (include github issue #):
Are changes expected to change answers? (specify if bfb, different at roundoff, more substantial)
b4b
Any User Interface Changes (namelist or namelist defaults changes)?
No
Testing performed
Please describe the tests along with the target model and machine(s)
If possible, please also added hashes that were used in the testing