Issues for https://github.com/coecms/oasis3-mct

The GitHub - coecms/oasis3-mct: Derivative version of OASIS3-MCT from CERFACS (https://verc.enes.org/oasis). repository does not have issues enabled, so I am documenting two issues here.

Issues

The issues that I want raised are:

  1. The file util/make_dir/make.nci should be in the repository, not on the file system.
  2. The contents of /g/data/p66/pbd562/test/t47-hxw/jan20/4.0.2/oasis3-mct should be pushed back to the repository, either on the new_modules branch or on a new branch.

Doing so should simplify the building of ACCESS-ESM 1.5 as per GitHub - coecms/access-esm-build-gadi and its fork GitHub - penguian/access-esm-build-gadi: Fork to be used to migrate build to using GitHub repositories on the way to creating a Spack build of ACCESS-ESM 1.5.

Comments? Thoughts?

Details

Martin Dix’s version of the UM source code at https://github.com/MartinDix/ESM1.5 (sorry, private repository) produces a UM executable, that when used with the existing executables in access-esm/config.yaml at pre-industrial-MartinDix-um_hg3_exe · penguian/access-esm · GitHub

      exe: /g/data/access/payu/access-esm/bin/coe/mom5xx
      exe: /g/data/access/payu/access-esm/bin/coe/cicexx

reproduces the output produced by access-esm/config.yaml at pre-industrial · coecms/access-esm · GitHub

One of the key difference between the UM build in GitHub - penguian/access-esm-build-gadi: Fork to be used to migrate build to using GitHub repositories
and the UM build in https://github.com/MartinDix/ESM1.5 is that the latter
uses the following script snippet in https://github.com/MartinDix/ESM1.5/blob/main/compile/UM_exe_generator-ACCESS1.5

# OASIS
PBD_OASIS_DIR=/g/data/p66/pbd562/test/t47-hxw/jan20/4.0.2/oasis3-mct
export FPATH=${PBD_OASIS_DIR}/Linux/build/lib/psmile.MPI1/:${PBD_OASIS_DIR}/Linux/build/lib/mctdir/mct:${PBD_OASIS_DIR}/Linux/build/lib/scrip:$FPATH
export LIBRARY_PATH=${PBD_OASIS_DIR}/Linux/lib:$LIBRARY_PATH
export LD_LIBRARY_PATH=${PBD_OASIS_DIR}/Linux/lib:$LD_LIBRARY_PATH
export RPATH=${PBD_OASIS_DIR}/Linux/lib:$RPATH
export LD_RUN_PATH=${PBD_OASIS_DIR}/Linux/lib:$LD_RUN_PATH

This snippet is now in the branch GitHub - penguian/access-esm-build-gadi at build-um-from-MartinDix-patch

Looking at /g/data/p66/pbd562/test/t47-hxw/jan20/4.0.2/oasis3-mct we see:

[pcl851@gadi-login-01 ~]$ cd /g/data/p66/pbd562/test/t47-hxw/jan20/4.0.2/oasis3-mct
[pcl851@gadi-login-01 oasis3-mct]$ git remote -v
origin  https://github.com/coecms/oasis3-mct.git (fetch)
origin  https://github.com/coecms/oasis3-mct.git (push)
[pcl851@gadi-login-01 oasis3-mct]$ git status -uno
Refresh index: 100% (315/315), done.
On branch new_modules
Your branch is up to date with 'origin/new_modules'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   util/make_dir/config.nci
        modified:   util/make_dir/make.inc

no changes added to commit (use "git add" and/or "git commit -a")
[pcl851@gadi-login-01 oasis3-mct]$ git diff
diff --git a/util/make_dir/config.nci b/util/make_dir/config.nci
index 74a240e..01fc38f 100644
--- a/util/make_dir/config.nci
+++ b/util/make_dir/config.nci
@@ -1,5 +1,4 @@
 module purge
-module load intel-fc/2018.3.222
-module load intel-cc/2018.3.222
-module load netcdf/4.2.1.1
-module load openmpi/3.1.3
+module load openmpi/4.0.2
+module load intel-compiler/2019.3.199
+module load netcdf/4.7.1
diff --git a/util/make_dir/make.inc b/util/make_dir/make.inc
index d24a5ed..90dd30d 100644
--- a/util/make_dir/make.inc
+++ b/util/make_dir/make.inc
@@ -1 +1 @@
-include /short/w35/hxw599/oasis3-mct/util/make_dir/make.nci
+include /g/data/p66/pbd562/test/t47-hxw/jan20/4.0.2/oasis3-mct/util/make_dir/make.nci

Hi @paulleopardi. I didn’t even know we had a fork of oasis3-mct on our github org. It looks like it hasn’t been updated in a very long time. It’d probably be best to adapt the original repo at GitHub - COSIMA/oasis3-mct: Derivative version of OASIS3-MCT 2.0 from CERFACS (https://portal.enes.org/oasis). for your purposes, as that has more recent development, including some contributions from you on Gadi porting.

Thanks. I have updated my own fork, and added a branch GitHub - penguian/oasis3-mct at new_modules_pbd562 that I have been using for testing. Testing of the GitHub - penguian/access-esm-build-gadi at build-all-using-oasis3-new-modules-pbd562 build that uses this branch has so far been successful when run with the GitHub - penguian/access-esm at pre-industrial-using-oasis3-new-modules-pbd562 branch. This bitwise reproduces the output of GitHub - coecms/access-esm at pre-industrial

Also, I have found the source of the access oasis3-mct/ompi.4.0.2 module
See Where is the source code corresponding to the pre-industrial branch? · Issue #13 · coecms/access-esm · GitHub