-
Notifications
You must be signed in to change notification settings - Fork 1
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
Run GEOSgcm.x from install directory #184
Comments
Note that if we want to keep the copies, I think then @tclune and I would need to look at hardcoding the RPATH in the executable. I think right now it uses |
Maybe that would be a good compromise? If there is a Though, I guess, if you make a simple source code change, you'll need to recompile anyway which means the one in |
I think we should investigate how this relates with @weiyuan-jiang 's changes. Sounds like there is at least a possibility that the issue will largely evaporate. I'm sure we'll need the LD_LIBRARY_PATH to be set though. |
Here is the issue:
Let’s say I check-out and build the latest version. I then create and launch an experiment that will use the GEOSgcm.x in the install/bin.
Next, using that same checked-out version, I modify gravity-wave drag, recompile, and build. So now, the GEOSgcm.x I the install/bin has been changed. What happens to the experiment I am already running trying to use the original GEOSgcm.x ?
Now, with GIT and all the fancy build options, perhaps you simply create a different install directory. Then, you can launch new experiments pointing to this new install while preserving the original.
In the past, we simply would always use the executable in the experiment directory. However, if there are better, more modern methodologies, we will need concrete instructions on how to do this for old farts like me 😊.
Larry
From: Matthew Thompson <[email protected]>
Sent: Wednesday, December 2, 2020 8:09 AM
To: GEOS-ESM/GEOSgcm_App <[email protected]>
Cc: Takacs, Lawrence L. (GSFC-610.1)[SCIENCE SYSTEMS AND APPLICATIONS INC] <[email protected]>; Mention <[email protected]>
Subject: [EXTERNAL] Re: [GEOS-ESM/GEOSgcm_App] Run GEOSgcm.x from install directory (#184)
The reason we copied the executable into the experiment directory is due to the fact that we routinely make “simple” source code updates, recompile and relink, and then run a new test with the new executable. Basically, all experiments are identical except for a few simple source code updates. So, they were all run under a single experiment ID. Sometimes, these tests were done by simply changing AGCM.rc parameters, but not all tests were based on a simple parameter change. Actually, the DAS also has this ability. If you place a GEOSgcm.x in the run directory, it will over-ride the GEOSgcm.x in the Linux/bin directory. Generally, however, the DAS never updates the GEOSgcm.x.
Maybe that would be a good compromise? If there is a GEOSgcm.x in the experiment directory, we run from that. Otherwise, we run from the one in install/bin?
Though, I guess, if you make a simple source code change, you'll need to recompile anyway which means the one in install/bin is the one you'd want? Right?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<https://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FGEOS-ESM%2FGEOSgcm_App%2Fissues%2F184%23issuecomment-737219847&data=04%7C01%7Clawrence.l.takacs%40nasa.gov%7Cdcf2c7fd22154c0a1ee708d896c38740%7C7005d45845be48ae8140d43da96dd17b%7C0%7C0%7C637425113818650273%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=r%2BOeDfAyhZ9NHK77AhHxRZfSBp4xQx7MyeqXCyzdXts%3D&reserved=0>, or unsubscribe<https://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAMRE3KZA3IMOZCLJDE6CLFTSSY36DANCNFSM4UJTJLWQ&data=04%7C01%7Clawrence.l.takacs%40nasa.gov%7Cdcf2c7fd22154c0a1ee708d896c38740%7C7005d45845be48ae8140d43da96dd17b%7C0%7C0%7C637425113818660231%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=c%2Fvpn7xGz5siz2xRxHehZt1jlTxSm9LqcSGltO5BVzA%3D&reserved=0>.
|
Oh yeah. I guess I forget that some people run the model for more than a model day/15 wall-minutes! 😄 Hmm. Interesting. I wonder if you can specify a different install directory after changing one file and get a complete new install? If not, I might want to look at seeing if we can make that path "hardcoded" rather than relative. |
Yes - you can definitely alter the install directory late in the game like that. I've done it recently. One has to be careful though, as if you forget that step, you will overwrite the executable as Larry said. Making a copy provides insulation against such mistakes. Flip side - what if one copies the entire install directory? |
Why do you oppose to set LD_LIBRARY_PATH? Any side effect? @mathomp4 |
@weiyuan-jiang No real opposition, but before the mom5/mom6 shared object transition this was possible:
Now with Though as Tom says, if we go full DSO, this might be all moot. |
@tclune My thought (that I'm going to try now) is what does this do:
I'm wondering: do you get a "full" install? Or does it only install the new files? I've never tried! I will find out in about 30 minutes... |
Update:
installed to:
and it wasn't a complete install. So don't use. But:
worked as expected. Hmm. |
Yes the latter is all that I attempted. Have not played with DESTDIR in a while. Vague memory that I found it confusing at best. Maybe only suitable for system installs? |
This is a question that might be useful to fix. As @bena-nasa found in his testing with the git GEOSadas, the DAS folks all run from
install/bin
. Butgcm_run.j
does not. Insteadgcm_setup
copies the executable into the experiment directory and then we copy that into thescratch/
directory and run from there. Why? Historical reasons? I'm not sure.But this has interesting effects currently. It is precisely because of this fact why we had to add
$GEOSDIR/lib
to theLD_LIBRARY_PATH
. You can see why if we look atldd
. First, let us runldd ./GEOSgcm.x
inside the install dir:Now I'll create an experiment and try with that copy:
Now with the work that @tclune and @weiyuan-jiang are doing with DSOs maybe this is moot...or maybe it's more important? I don't know. But it would be fairly simple to instead of doing:
we could just do:
just like how we run
binarytile.x
:However, perhaps @sdrabenh or @lltakacs have opinions on this?
The text was updated successfully, but these errors were encountered: