Revision bbf418f999733276c9b59609a40bbf501a48656d authored by Patrick Worley on 29 August 2021, 18:27:49 UTC, committed by Patrick Worley on 29 August 2021, 18:27:49 UTC
The following logic in cime_run_atmocn_setup (in cime_comp_mod.F90):

   call t_drvstartf ('CPL:ATMOCNP',cplrun=.true.,barrier=mpicom_CPLID,hashint=hashint(7))
   ...
   if (do_budgets) then
      call cime_run_calc_budgets3()
   endif
   ...
   call t_drvstopf  ('CPL:ATMOCNP',cplrun=.true.,hashint=hashint(7))

and in cime_run_calc_budgets (also in cime_comp_mod.F90):

   call t_drvstartf ('CPL:BUDGET0',cplrun=.true.,budget=.true.,barrier=mpicom_CPLID)
   ...
   call t_drvstopf ('CPL:BUDGET0',cplrun=.true.,budget=.true.)

nests calls to the CPL:RUN timer, leading to recursion being recorded
in the timing library. This is not a bug, but it is also not necessary.
Everything in the CPL:ATMOCNP timer is marked as being in the CPL:RUN
timer. It adds nothing to redundantly mark the CPL:BUDGET0 timer as
being in the CPL:RUN timer.

Here an optional logical parameter 'in_cplrun' is added to
cime_run_calc_budgets3, and to cime_run_calc_budgets1 and
cime_run_calc_budgets2 for consistency, such that if set to 'true' it
indicates that the call to the routine is already inside of the
CPL:RUN timer and that this should not be set again within the
routine.

BFB
1 parent fbc468b
History
File Mode Size
.circleci
cime @ c6f4893
cime_config
components
driver-mct
driver-moab
externals
share
.gitignore -rw-r--r-- 253 bytes
.gitmodules -rw-r--r-- 1.8 KB
CONTRIBUTING.md -rw-r--r-- 1.7 KB
LICENSE -rw-r--r-- 4.5 KB
README.md -rw-r--r-- 3.1 KB
codemeta.json -rw-r--r-- 504 bytes
run_e3sm.template.csh -rwxr-xr-x 68.1 KB

README.md

back to top