-
Notifications
You must be signed in to change notification settings - Fork 61
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
Allow logging in CCPP physics schemes #439
Comments
Note, I think this feature requires a change to the CCPP Framework rules. However, I did not see it in the rules. The closest I got was the "Reason" behind C12. |
Quoting a suggestion on this topic from @gold2718 that was brought up in a different PR:
My personal take is that this idea seems reasonable assuming we don't build a more formal logging system in the framework. However, I might vote to create a new CCPP variable instead of overloading |
How often do we encounter the case where ccpp_error_code=0 and ccpp_error_message != '' ? |
We could consider renaming it to |
So far, none, because the rule was that only in the event of an error would you change the error code to something else and then add a meaningful error message to the error message variable (which may change as part of this discussion). |
For the record, I would much prefer that we introduce a new and improved error / logging method and introduce it as an alternative to https://github.com/ESMCI/history_output/blob/development/src/util/hist_msg_handler.F90 I think the way to introduce it would be to allow the framework to generate either at the top level (i.e., in the caps) and then have ways to convert one into the other. Going from |
Description
While the current rules prohibit a CCPP scheme from writing to a log file (any output), many developers would like to be able to log information from a scheme. This can be for diagnostic (e.g., debugging) or informational (e.g., process statistics) purposes.
Solution
Add two now CCPP standard names to allow the host model to control output from physics schemes:
log_output_unit
(integer): Provides a Fortran unit for log outputdo_log_output
(logical):.true.
on task(s) which are allowed to write tolog_output_unit
.The text was updated successfully, but these errors were encountered: