-
Notifications
You must be signed in to change notification settings - Fork 14
[Experimental] Debugger #137
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
[Experimental] Debugger #137
Conversation
Verbose code
Check only when debugger present
Better handling of types unknown to xarray
romanc
left a comment
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.
Looks good to me. Couple small notes and questions inline, but nothing that would make me formally request changes.
I mostly skimmed over the viz/fv3 part since that was just copied from back then.
Thanks for adding this. I think this will be add a lot to quality of live and we'll probably come back later (once we used it a bit) to make changes.
Add warning for config not existing but set Use Pathlib for cross-OS resilience
romanc
left a comment
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.
Found one debug print statement, which I must have missed in my earlier review. Otherwise all good now.
oelbert
left a comment
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 have a small question on the implementation of debugger, and a (potentially) larger one on the license for the viz code
| @@ -0,0 +1,14 @@ | |||
| # Acknowledgment | |||
|
|
|||
| This code was lifted from <https://github.com/ai2cm/fv3net> and developped by AI2 under the MIT license (see below). | |||
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.
We're sure there's not a license violation or conflict between this and our top-level license?
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.
Also assuming you talked to the AI2 folks about this?
Actually, why not directly import fv3net? I have it as a Pace dependency (at least in the dockerfile...)?
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.
Because fv3net is a huge repository - and the viz is a very small code untouched for the last three years. It's the case of bring in thousands of line of code, for the benefit of using a handful.
I'll check the license, I think it's ok.
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.
Not a layer here, but the MIT license (as stated below) is pretty loose. In particular it allows to modify and re-distribute the code provided that the license header is preserved.
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.
So I checked and this is correct. If we were to make "substantial" changes we could rope the code in the Apache 2.0.
MIT is basically covering up AI2 for any side effect and by knock-on free us to use or reuse as is. If we modify we can argue that the license applying to the code is the one under we operate
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 also checked lol, but yeah it seems like this is fine. Probably still good to drop Oli WM a line to let him know if you haven't already
oelbert
left a comment
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.
Awesome, thanks!
Description
Embryo of a
gtbackend purposed debugger.Feature list:
netcdffor each parameter IN and OUT by name (no read/write analysis, just name matching on parameters list of stencils and instrumented methods)System is multi-rank and multi-call ready. It is driven by a
yamlfile of the shape:How Has This Been Tested?
This has been used during f32 debugging of the Dynamics
Checklist: