Skip to content
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

Bring in Makefile for ctsm5.2 branch to build all datasets with multiple batch submissions at the same time #1869

Closed
ekluzek opened this issue Oct 11, 2022 · 4 comments
Assignees
Labels
enhancement new capability or improved behavior of existing capability
Milestone

Comments

@ekluzek
Copy link
Collaborator

ekluzek commented Oct 11, 2022

I'm going to bring back the Makefile mechanism we have used to the mksurfdata_esmf ctsm5.2 branch so that the Makefile can send off multiple batch submission to create datasets at the same time. This also allows us to use different number of processors for different tests. This also allows us to integrate with #1674. This still relies on the new python batch scripts submission in mksurfdata_esmf, it just adds a thin layer on top of it that actually runs each of the batch script generation and then submits.

One change I'll need to make to get this to work is that right now the python batch submission creates a batch submission filename thats the same name no matter what scenario is chosen. This will need to change so that the filename depends on the scenario. That way the can all run at the same time and be submitted together without having to lock files for each.

@ekluzek ekluzek added the enhancement new capability or improved behavior of existing capability label Oct 11, 2022
@ekluzek ekluzek self-assigned this Oct 11, 2022
@ekluzek ekluzek added this to the ctsm5.2.0 milestone Oct 11, 2022
@ekluzek
Copy link
Collaborator Author

ekluzek commented Oct 11, 2022

@mvertens brought up a point about this that since we are using cmake for the build of the main mksurfdata_esmf tool itself, that adding a regular GNU Makefile might complicate things at least in appearance. So I'll look into that point more.

@billsacks
Copy link
Member

since we are using cmake for the build of the main mksurfdata_esmf tool itself, that adding a regular GNU Makefile might complicate things at least in appearance

I wouldn't worry about this, especially if you call it something like Makefile.data (like the old one): I think it's perfectly reasonable to use a Makefile for workflow things like this that are unrelated to the build.

@ekluzek
Copy link
Collaborator Author

ekluzek commented Oct 20, 2022

since we are using cmake for the build of the main mksurfdata_esmf tool itself, that adding a regular GNU Makefile might complicate things at least in appearance

I wouldn't worry about this, especially if you call it something like Makefile.data (like the old one): I think it's perfectly reasonable to use a Makefile for workflow things like this that are unrelated to the build.

Yes I think you are right. The cmake build is nicely separated in it's own directory and then in the src directory with a Python script that exercises the build. So adding a Makefile.data won't detract from that. It will also be easier to implement the existing one rather than figuring out how to do this in cmake.

I'll also include a readme file that explains this.

@ekluzek
Copy link
Collaborator Author

ekluzek commented Aug 24, 2023

We decided for the smallvile transient file with specified transitions, I'll create a simple bash script that recreates it by merging the old file with the new one from subset_data. This way this process can be used in the future, until we get a subset_data with the capability to handle this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement new capability or improved behavior of existing capability
Projects
None yet
Development

No branches or pull requests

2 participants