Configuration for ngen Logs#44
Conversation
…e pathing for ngen logs
|
Note that with the new logging approach of the pending EWTS integration, particularly the per-rank log files, RTE's existing |
kyle-larkin
left a comment
There was a problem hiding this comment.
This is working as described.
The primary objectives were to enable non-ngenCERF users to specify log levels, and to avoid having to descend very deep into each run directory to retrieve log files. This achieves both of those objectives.
I think I was imagining users would be able to specify their own log location, but this would probably be needlessly complex to do in a safe/secure manner, and in retrospect, probably isn't what I really wanted.
I wonder if the TODO is even necessary, but it's possible/probable that I'm overlooking the advantage.
| # TODO need to implement for calibration. | ||
| ngen_log: LogParser = Field(init=False, default=None) | ||
| ### TODO update ngen_log to work with new EWTS per-rank logs, and new RTE log paths | ||
| # ngen_log: LogParser = Field(init=False, default=None) |
There was a problem hiding this comment.
What do you see as the advantage of this ngen_log?
There was a problem hiding this comment.
For forecasts the ngen_log attribute had been referring to the file .../logs/ngen.log. I believe EWTS changes have replaced this with the per-rank log files.
The RTE's forecast test had been reading this file (as well as ngen_stdout_stderr.log) to look for FATAL lines and marking the formulation test as a fail if FATAL lines exist. ngen.log was also being read to enable the test to intentionally stop ngen once it reached a certain step (rather than waiting for completion).
The RTE tests also had been reporting the first and last lines, and lines of certain log levels: SEVERE, CRITICAL, FATAL, for both types of log files.
|
This adds:
./bin_mounted/ngen_logging.jsonto controlngenlog levels per module.NGEN_LOG_TO_RTEinconfig.bashrc, which when set totrue, causesngenlogs to be written to a subfolder of./ngen_logs/rather than to the built realization's folder.This was tested in conjunction with the following PRs of other repositories:
For essential functionality changes:
NGWPC/nwm-cal-mgr#34
NGWPC/nwm-fcst-mgr#11
For pending EWTS integration:
NGWPC/ngen-forcing#121
And this branch of
ngenwhich also includes updates to various extern submodules: https://github.com/NGWPC/ngen/tree/cmaynard_ewts_separate_repo