-
Notifications
You must be signed in to change notification settings - Fork 0
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
environment and repo issues w/ eCLM #3
Comments
Commit d61a0d49d418d9eb3040b293ad389435060d0ca8 is (HPSCTerrSys/TSMP2@d61a0d4) part of the TSMP2 repo. Where does this commit come from? |
Hi @mvhulten the detached HEAD is something that has been bugging me as well. If someone has a nice way of dealing with this, this would help. What I do: Check the commit hash, find the commit hash in the history of the main branch and then checkout a branch at this commit. |
Ok, I guess you just now did the same thing. Try this link: HPSCTerrSys/TSMP2@d61a0d49d4 Somehow too much detail in the hash has made the link go bad. OK, the commit does not belong to any branch. This happens, when the commit has been changed / rebased / squashed after it was saved in the submodule (for example if the submodule was specified during development of a PR and the PR was afterwards squashed). So the task would be to specify the corresponding commit in the history of TSMP2 that best fits (e.g. the squashed PR commit). |
Right, thanks for the clarification @jjokella! I messed up including a really non-existing hash (used to test!). Fixed comment above. In strict Git lingo, it is part of the repo but not of any branch (because of explanation you gave). |
Fixed in my comment above. Thanks. |
@s-poll, in I'll presume it is not important and I it should be |
Indeed the TSMP2 submodule should be updated after stages/2024 to the master. The WFE will take automatically the environment, which is used in Detached head are occurring as the submodules are at a specific commit. However, I am wondering why your eCLM build fails. There should be no need to load environments as it should be taken by default. |
No, that line doesn't do that. It puts instead all file names in a variable. Later in Funny, the actual behaviour you may not notice. But let's make this work in theory, not just in practice. Loading the environment in both TSMP2 and the WFE must be handled in a more controlled way. |
Actually, there should be only one file as a result otherwise the build is not clean. We could add a warning/abort message when there is more than one file listened. Please be aware that you should clean-up (remove the bin & bld directory) when using TSMP2 build with a new environment as mentioned in PR24 of TSMP2. |
|
I think I do see what you intend with displaying an abort message when there are multiple environment files. I suppose this hangs on the idea that TSMP2 should provide no more than one environment file, because then it is univocal in what environment is to be used. However, this is the WFE point of view, not per se that of TSMP2. Practically, it can be great, at least for TSMP2, to provide several environment variables (but others may comment on that), and this is fine, because it is the task only for the WFE to make a simulation unambiguously reproducible. I propose to accept that TSMP2 may provide multiple environment files and that the WFE picks one; that is really a task of the WFE. WDYT? |
Unfortunately we can't do anything about DETACHED heads since In the context of submodules, I interpret a DETACHED head as "tampering with this sub-repo is not encouraged". I believe this aligns with the reproducibility principle of the WFE. If you want to ensure that # Make sure all models/* are updated
git submodule update --init --remote
git submodule update --force
# Check if sub-repo versions are correct, which means
# no diffs under models/*
git status
We're planning to do this on the |
IMO the provision of several environment files in TSMP2 is desired and was already discussed in this TSMP2 PR. However, the WFE should only take the one, which was used for building the model system. Thus, this number should always be always one. The find-command for the environment is done in the directory of the binaries. For the git submodules I have nothing to add to Pauls statement, except that I would not call it "correct version of components" but rather most up-to-date version. |
You're right. I was just confusing things in my last comment. Now (with Stages/2024) eCLM cloning and compilation shows no problems anymore for me. |
When I follow the workflow,
src/TSMP2
is pulled in. From there one must./build_tsmp2.sh --eclm
to build just eCLM. This fails of course when I do not load modules, which I will do on the next try.I think we should try standardise on Stages/2024 (almost DONE in TSMP2 repo; TODO here).
But trying to check consistency between repo, HEAD and environment, I see a detached HEAD and am unsure what is going on and what I should do:
The text was updated successfully, but these errors were encountered: