QuaLiKiz-group / QuaLiKiz

Other
1 stars 0 forks source link

Setup procedure to synchronize with the JETTO / ETS repos #29

Open fcasson opened 6 years ago

fcasson commented 6 years ago

I'm going to try and bring this repo in as a direct git submodule within JETTO. This may require you to accept a couple of new makefiles in your repo. Until ETS moves to git, they can't do the same very effectively.

Once this is working, then we can discuss the workflow for updates.

fcasson commented 6 years ago

You can assign this to me

jcitrin commented 6 years ago

Excellent, thank you.

fcasson commented 6 years ago

I'm having a play with this now, inspired by what @Karel-van-de-Plassche did already with git submodule for the NN. Can you recommend which commit I should take from the QLK repo which should be closest to the version currently in JETTO? Once I've aligned the infrastructure, moving to newer version should be easy.

fcasson commented 6 years ago

Found the answer to my own question in VERSION file I added to JETTO QLK folder:

QLK repository closest branch: CEA-QuaLiKiz QLK repository closest commit: 4c7e7ff6605 (20 July 2017)

fcasson commented 6 years ago

Made a commit (small changes) on top of 4c7e7ff to bring it in line with what we have in JETTO v080817 and v280818. Please can you grant me write access, at least to personal (new) branches, so I can push it?

I know the github way is to make a fork, but in this case I'd like to stick to your,main repo to keep the git submodule stuff a but simpler...

Karel-van-de-Plassche commented 6 years ago

I've added you to the developer group, so you should have write access.

Karel-van-de-Plassche commented 6 years ago

@fcasson Maybe you noticed, but the makefile structure is different between JETTO-QuaLiKiz (everything was dumped in a single folder for an easier makefile), QuaLiKiz-master (tree-like makefile, as in JETTO proper) and CEA-QuaLiKiz (three makefiles distributed by a shell script). I think we should move to the QuaLiKiz-master style also for JETTO, or did you have something else in mind?

fcasson commented 5 years ago

@Karel-van-de-Plassche: To get the submodule clone and build working first, I'm going to add the existing JETTO makefile in the folder, so there will just be two makefiles (makefile and Makefile) in the JETTO-QuaLikiz branch. Then later, at the point we try to merge with the QuaLiKiz master branch, you are welcome to cleanup the makefile (written actually by Jonathan) as you want. As long as it builds in all our build circmstances, I don't mind....

fcasson commented 5 years ago

Okay, I've completed the first phase, which means that JETTO now brings in QLK as a submodule directly from your repo here at commit 1200b766244 (branch JETTO-QuaLiKiz). JETTO builds as before and results are identical to before.

See also

Subsequent steps (who, to be debated)

1) Merge master into JETTO-QuaLiKiZ branch, resolving conflicts and checking that JETTO build still works (@Karel-van-de-Plassche ?). Here I think it should be okay to remove all the mpi_barriers that Jonathan added early on, I think during debugging paranoia. Rationalise makefiles if you want. 2) Run JETTO tests, including extended parallel testing of real QLK cases and check any differences are understood / acceptable (@jcitrin, @fcasson, other JETTO-QLK physics users at DIFFER) 3) Merge JETTO-QuaLiKiZ branch to master (@Karel-van-de-Plassche ?) 4) Update JETTO to point to QLK master @fcasson 5) Define the procedure for bringing future updates into JETTO (@fcasson - should then be easy).

Karel-van-de-Plassche commented 5 years ago

Do we want to keep the QLK as a link, and repo as QLKrepo style? Can we just point /transport/makefile and /transport/src/makefile to the underlying src directory?

fcasson commented 5 years ago

If you prefer. I just did this as it was easy.

Let's keep discussion on JETTO build in gitlab, and discussion on QLK updates / merge here