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

NOAA machine pass of base_suite #155 #372

Merged
merged 99 commits into from
May 15, 2020
Merged

NOAA machine pass of base_suite #155 #372

merged 99 commits into from
May 15, 2020

Conversation

rgrumbine
Copy link
Contributor

For detailed information about submitting Pull Requests (PRs) to the CICE-Consortium,
please refer to: https://github.com/CICE-Consortium/About-Us/wiki/Resource-Index#information-for-developers

#155

PR checklist

  • Short (1 sentence) summary of your PR:
    Configurations to pass all regression tests from base_suite on NOAA machines hera, phase2, phase3

  • Developer(s):
    Robert Grumbine

  • Suggest PR reviewers from list in the column to the right.
    Tony Craig
    Dave Bailey
    Note: no column visible to the right

  • [] Please copy the PR test results link or provide a summary of testing completed below.
    Bitwise pass of all tests in base_suite on all three systems

  • How much do the PR code changes differ from the unmodified code?

    • [x ] bit for bit
  • Does this PR create or have dependencies on Icepack or any other models?

    • [ x] No
  • Does this PR add any new test cases?

    • [x ] No
  • Is the documentation being updated? ("Documentation" includes information on the wiki or in the .rst files from doc/source/, which are used to create the online technical docs at https://readthedocs.org/projects/cice-consortium-cice/. A test build of the technical docs will be performed as part of the PR testing.)

    • [x ] No, does the documentation need to be updated at a later time?
      • [x ] No
  • Please provide any additional information or relevant details below:

@rgrumbine rgrumbine changed the title Master NOAA machine pass of base_suite #155 Oct 21, 2019
Copy link
Contributor

@apcraig apcraig left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are there changes in icepack showing up? Is that intended?

@phil-blain
Copy link
Member

I don't think it is; this PR references Icepack at commit 51ea326f12578355d4d51b0cea29b45cc9890cd1, which is not found in the Icepack repository...
Fetching the pull request locally results in an error :

error: Server does not allow request for unadvertised object 51ea326f12578355d4d51b0cea29b45cc9890cd1

@apcraig
Copy link
Contributor

apcraig commented Oct 21, 2019

It's also causing the readthedocs test to fail, unable to find the icepack hash.

@rgrumbine
Copy link
Contributor Author

rgrumbine commented Oct 21, 2019 via email

@phil-blain
Copy link
Member

Bob,

you can try these commands to update your branch :

git checkout master
git submodule update --remote --force
git add icepack
git commit -m "Revert icepack to 1.1.2"
git push 

@phil-blain
Copy link
Member

phil-blain commented Oct 21, 2019

@apcraig it is kind of troubling to me that the Travis build did not fail... when I try locally the commands from the Travis build log on my machine it gives the same error as RTD...
I can view the offending Icepack commit online here : CICE-Consortium/Icepack@51ea326
It comes from the commit 62d4854#diff-fdcb0c9501802a455921dc8b34a19a95 from Bob's master branch (which this PR references)

I think what happens is that since this PR references icepack at a commit that is not present in the icepack repository, GitHub creates an internal ref of some kind (in the CICE-Consortium/Icepack repository!) to be able to display the diff.
Although a mirror of the Icepack repo still doesn't find the commit...

$ git clone --mirror https://github.com/CICE-Consortium/Icepack.git icepack-mirror
$ cd icepack-mirror
$ git show 51ea326f12578355d4d51b0cea29b45cc9890cd1
fatal: bad object 51ea326f12578355d4d51b0cea29b45cc9890cd1

So Travis queries GitHub in such a way that the "unadvertised" commit is found...

@apcraig
Copy link
Contributor

apcraig commented Oct 21, 2019

@phil-blain I was just looking at that too. I don't know where it's getting the icepack version. If you click from bob's master on the icepack #51ea326, you get here,

https://github.com/cice-consortium/icepack/tree/51ea326f12578355d4d51b0cea29b45cc9890cd1

So it seems to be a tree, whatever that is. I'm still trying to understand. I still don't know how it exists in the cice-consortium repo.

@phil-blain
Copy link
Member

Maybe GitHub uses Git namespaces to store these hidden refs. However I haven't found a way to query the server for listings these alternate namespaces.

@phil-blain
Copy link
Member

I found this blog post form GitHub which explains that they use the alternate mechanism for forks, and store the commits from every fork into the "root" repo of a fork network. This explains why Bob's commit appear in the Icepack repo.
To test it I just created a branch in my fork of CICE and pushed it, and it can be seen in the CICE official repo :
e876483 (changes in this commit)
https://github.com/CICE-Consortium/CICE/tree/e87648356c7d800156ef2e4e1a5a3895c46c2390 (repo tree for this commit)

However it doesn't explain why Travis can fetch the unadvertised objects...

Copy link
Contributor

@apcraig apcraig left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we can merge this. I would propose a couple minor changes. In the cice.batch.csh file, there are a couple of reference to @rgrumbine's email or home directories in the batch submission part. The same is true in the env.hera_intel file and the phase2 and phase3 files where the WKDIR and some other settings are assocaited with @rgrumbine's user name. This will not allow the codes to work for other users on those machines. Those should be made generic. You can see how that is done for other machines that already exist. Use of $user or system settings like $WORKDIR should be used instead. The mailing in PBS is harder to make generic but the approach used on other machines is to make it generic ([email protected]) but then comment it out. Again, there are examples for other machines.

@eclare108213
Copy link
Contributor

@rgrumbine
Please, can you remove the script references that are specific to you, as outlined by Tony above? There are generic ways of doing this, which should work in your cases too. Thanks -

@rgrumbine
Copy link
Contributor Author

rgrumbine commented Nov 5, 2019 via email

@apcraig
Copy link
Contributor

apcraig commented Nov 5, 2019

@rgrumbine I don't think you pushed your changes to this branch, which happens to be your master. Also, you don't have to use $WORKDIR, you should just use whatever construct makes sense on your machine, like /scratch4/$user/$CASE or something. On most machines, you can provide a generic implementation.

Finally, this branch has conflicts with the Consortium version now that will need to be resolved, but should be trivial. I think they just have an overlapping change of the same thing . If you want any help with this, I'm happy to do that. I could pull your changes onto a branch in my fork and create a PR. Or I could just make specific suggestions about what to change. Also, we generally do not recommending doing development on the master branch in your fork, if you want some help reverting your master fork back to the consortium master, I can help you with that too.

@phil-blain phil-blain mentioned this pull request Nov 19, 2019
11 tasks
@apcraig
Copy link
Contributor

apcraig commented Nov 21, 2019

@rgrumbine, just pinging. Would like to get this merged if we can. We had some email contact about next changes. How is that going? If you need any assistance with the conflict or otherwise, let me know. There are a few ways I could help.

@apcraig
Copy link
Contributor

apcraig commented Mar 12, 2020

I think we could merge this, but there are still places where "Grumbine" shows up, namely in the email address in the batch scripts. I recommend that those be fixed too unless @rgrumbine wants mails from other peoples jobs on those machines.

@eclare108213
Copy link
Contributor

@rgrumbine
Are you happy with these code changes as they are? We would rather not have specific references to your email and file directories, but if that's they way you prefer these machines be handled, we will go with it.

@apcraig
Copy link
Contributor

apcraig commented May 15, 2020

I am going to merge this and then independently test on hera. I may also try to port to Orion if I get a chance.

@apcraig apcraig merged commit b08a97c into CICE-Consortium:master May 15, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants