-
Notifications
You must be signed in to change notification settings - Fork 40
Copy MPAS model executable to work directory #360
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
Conversation
TestingI ran the ocean |
@matthewhoffman, I suspect this is not a functionality that you and the MALI team necessarily need. Even if not, could you run a test to make sure it does no harm? |
@xylar , thanks for tagging me. Does this mean that if you recompile the executable, you would now need to rerun |
@matthewhoffman, that's right. I'm glad I flagged you on this. We should make this off by default and only on if a certain flag (say |
I'm not sure what the best solution is. I could be convinced that this new way is a better overall design choice. I think it's a tradeoff between convenience and reproducibility. My preference is certainly the existing functionality for the reason I mentioned, but there might be other users for who the proposed functionality makes more sense. |
767c042
to
60da8e5
Compare
@matthewhoffman, I agree with you. The more frequent need is to rebuild frequently to debug. The ability to preserve the executable is not needed very often. It was a request from @sbrus89 so it clearly could be useful, but need not be the default. I believe I have set it up to be off by default, but on with |
I totally agree that copying the executable should not be the default behavior. The majority of the time, it's much better to have things linked for debugging as you've both mentioned. What I had in mind when I brought this up was using compass set up a series of runs for a paper, for example. In that case it would probably be better to not have the potential for the executable to change behind a sim link. I think another use case would be to keep around a long-lived baseline test. In this case, I think it's nice to have the executable to produced the baseline results 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.
I agree this is a useful option, and I like the solution of using --copy_executable
as an optional flag. I tested this branch without the flag (old behavior) and see no problems. I also tested with the new --copy_executable
flag. Tests still pass and now I see the exe is copied into the working dir as expected. Symlinks in the individual tests point to the copied exe in the root of the workdir. So everything seems to work as expected.
I'm not sure if there is somewhere in the docs this should be mentioned, but the help messages in the --help
output for compass setup and compass suite look good.
Great. @sbrus89, if you can test this out, I'll merge it. |
I added a paragraph to the User's Guide (the Quick Start) that explains this flag and the motivation, using @sbrus' examples from above. |
445e4c8
to
3f96622
Compare
3f96622
to
8e6c354
Compare
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.
@xylar. I have tested this and it works as expected. Thanks!
A directory (either
mpas-ocean
ormpas-albany-landice
) is made within the base of the work directory and the MPAS model executable (ocean_model
orlandice_model
) is copied there. Symlinks within the work directory are to that copy.This is useful if you want to delete the E3SM branch used to set up test cases or suites but you still want the ability to run the code after the fact.
closes #345