-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add run-time and history-write logging for ufs #63
add run-time and history-write logging for ufs #63
Conversation
* fix case for 'time since' at the first advance
* write timer values to timer log, not nu_diag * write log.ice.fXXX
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This all looks reasonable to me. All changes are in the nuopc/cmeps driver, so don't affect CICE in general. I guess I do wonder whether the CICE timers could have been used rather than creating yet another timer library. Maybe CICE needs to add some additional flexibility and/or features?
@apcraig Thanks. We definitely didn't consider the feasibility of using CICE timers here. The approach has been duplicating the same calls w/in all the caps used by UFS so we knew we had the same basic measures in each case. |
@DeniseWorthen. I totally understand. Another idea would be to have a common set of time methods in some UFS share code? What's done here is quick, easy, and has limited flexibility. And I guess it's duplicated in all components. There are pluses and minuses. Thanks. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This all looks fine. Do we need some ifdefs here? I see you've added some.
Hi Dave. Thanks. I've avoided using ifdefs by modifying the cice_wrapper_mod.F90 instead. When compiled with 'ifdef CESMCOUPLED', then the "ufs" calls will just be stubs. I was most worried about uninitialized variables when used w/ CESM, but I did test for how it would work when CEMSCOUPLED was set in the wrapper and it passed our debug compile/run test. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, I see. I had not looked at cice_wrapper_mod before. Works for me.
Add two types of logging files for use by UFS within the CICE cap:
log.ice.timer
. The feature is enabled using a configuration attributeRunTimeLog = true
, otherwise no logging will be performed.log.ice.fHHH
.required by ufs-community/ufs-weather-model#1367
resolves - #57
The logging is added inside
cice_wrapper_mod
code, mimicking what is currently done for the perf_mod calls for CESM (t_startf
etc).