-
Notifications
You must be signed in to change notification settings - Fork 133
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 a Python library for developer utilities with an initial module for log parsing #499
Conversation
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.
I like where this is going. Are you confident that all SUNLogger lines consistently use the required format, i.e., that single items have the format
[loglvl][rank][scope][label] key1 = value, key2 = value
and array-valued items have the format
[loglvl][rank][scope][label] y(:)
y_1
y_2
...
? It looks like you fixed one inconsistency in CVODE, but I think that all such inconsistencies should be resolved before this PR is eventually merged.
I am pretty confident that all single line entires do follow the required format. The vector valued ones do not yet (only CVODE where I updated it).
My intent was for this PR to just put up what I have developed already as part of a different task. Others can extend it, and update lines in the other packages as necessary. If I need to resolve all inconsistencies in the packages before merging this, I will not be able to finish up this PR for a bit. Since its just a developer tool, perhaps we can accept it as-is and others can fix inconsistencies they find as needed? Update: I fixed the inconsistent logging of vector-valued outputs. I did not go verify all of the single line logging statements though (that would take a lot more time, and I would like to merge this without doing so). |
Co-authored-by: Daniel R. Reynolds <reynolds@smu.edu>
I think this is ready now @gardner48. The last two comments will be taken care of in #501. |
Add initial log parsing Python library --------- Co-authored-by: Daniel R. Reynolds <reynolds@smu.edu> Co-authored-by: David J. Gardner <gardner48@llnl.gov>
Follow on to utilities added in #499 * Make info logging output in the integrators more consistent * Update parser for MRI and operator splitting methods * Add function to extract lists of data for plotting * Add example scripts using log parser --------- Co-authored-by: Steven Roberts <roberts115@llnl.gov> Co-authored-by: Daniel R. Reynolds <reynolds@smu.edu> Co-authored-by: Cody Balos <balos1@llnl.gov>
I started this on another branch where I needed to parse the
SUNLogger
log files to understand (and plot) some CVode behavior. The intent is to add more of our Python utilities for plotting stuff like step size over time etc. We can also add other modules unrelated to logging.