From b6ca55100e06ac8723668627d5ca72de43cb89a0 Mon Sep 17 00:00:00 2001
From: not populated <acc@noc.ac.uk>
Date: Tue, 30 Nov 2021 13:15:43 +0000
Subject: [PATCH] First attempt at replacing svn commands for tracking versions
 in SETTE

---
 arch/NOC/arch-X86_ARCHER2-Cray.fcm       | 10 +++++-----
 arch/NOC/arch-X86_ARCHER2-Cray_DEBUG.fcm |  2 +-
 sette/all_functions.sh                   |  5 +++--
 sette/prepare_job.sh                     |  2 +-
 sette/sette_eval.sh                      | 12 +++++++-----
 sette/sette_fetch_inputs.sh              |  2 +-
 sette/sette_rpt.sh                       | 12 +++++++-----
 7 files changed, 25 insertions(+), 20 deletions(-)

diff --git a/arch/NOC/arch-X86_ARCHER2-Cray.fcm b/arch/NOC/arch-X86_ARCHER2-Cray.fcm
index 20b997e25..94854ed8d 100644
--- a/arch/NOC/arch-X86_ARCHER2-Cray.fcm
+++ b/arch/NOC/arch-X86_ARCHER2-Cray.fcm
@@ -32,7 +32,7 @@
 #
 %NCDF_HOME           $NETCDF_DIR
 %HDF5_HOME           $HDF5_DIR
-%XIOS_HOME           /work/n01/shared/acc/xios-trunk
+%XIOS_HOME           /work/n01/shared/nemo/xios-trunk
 #OASIS_HOME          
 
 %NCDF_INC            -I%NCDF_HOME/include -I%HDF5_HOME/include
@@ -44,8 +44,8 @@
 
 %CPP	             cpp -Dkey_nosignedzero
 %FC                  ftn
-%FCFLAGS             -em -s integer32 -s real64 -O1 -hflex_mp=intolerant -N1023
-%FFLAGS              -em -s integer32 -s real64 -O1 -hflex_mp=intolerant -N1023
+%FCFLAGS             -em -s integer32 -s real64 -O0 -hflex_mp=intolerant -N1023
+%FFLAGS              -em -s integer32 -s real64 -O0 -hflex_mp=intolerant -N1023
 %LD                  CC -Wl,"--allow-multiple-definition"
 %FPPFLAGS            -P -traditional
 %LDFLAGS             -lmpifort_cray
@@ -57,6 +57,6 @@
 #USER_INC            %XIOS_INC %OASIS_INC %NCDF_INC
 #USER_LIB            %XIOS_LIB %OASIS_LIB %NCDF_LIB
 
-%CC                  cc
-%CFLAGS              -O0
+%CC                  cc -Wl,"--allow-multiple-definition"
+%CFLAGS              -O0 -Wl,"--allow-multiple-definition"
 bld::tool::fc_modsearch -J
diff --git a/arch/NOC/arch-X86_ARCHER2-Cray_DEBUG.fcm b/arch/NOC/arch-X86_ARCHER2-Cray_DEBUG.fcm
index 793a60f2b..0bc04b68f 100644
--- a/arch/NOC/arch-X86_ARCHER2-Cray_DEBUG.fcm
+++ b/arch/NOC/arch-X86_ARCHER2-Cray_DEBUG.fcm
@@ -32,7 +32,7 @@
 #
 %NCDF_HOME           $NETCDF_DIR
 %HDF5_HOME           $HDF5_DIR
-%XIOS_HOME           /work/n01/shared/acc/xios-trunk
+%XIOS_HOME           /work/n01/shared/nemo/xios-trunk
 #OASIS_HOME          
 
 %NCDF_INC            -I%NCDF_HOME/include -I%HDF5_HOME/include
diff --git a/sette/all_functions.sh b/sette/all_functions.sh
index b8dd6383f..9b081783f 100755
--- a/sette/all_functions.sh
+++ b/sette/all_functions.sh
@@ -171,7 +171,8 @@ clean_config() {
 
 # define validation dir
 set_valid_dir () {
-    REVISION_NB=`${SVN_CMD} info ${SETTE_DIR}/.. | grep "Last Changed Rev" | awk '{print $NF}'`
+    #REVISION_NB=`${SVN_CMD} info ${SETTE_DIR}/.. | grep "Last Changed Rev" | awk '{print $NF}'`
+    REVISION_NB=`git rev-list --abbrev-commit origin`
     if [ ${#REVISION_NB} -eq 0 ]
     then
         echo "some problems with ${SVN_CMD} info command"
@@ -182,7 +183,7 @@ set_valid_dir () {
     else
     echo "value of revision number of NEMOGCM: ${REVISION_NB}"
     fi
-    [ `${SVN_CMD} status -q ${SETTE_DIR}/../{cfgs,tests,src} | wc -l` -ge 1 ] && REVISION_NB=${REVISION_NB}+
+    #[ `${SVN_CMD} status -q ${SETTE_DIR}/../{cfgs,tests,src} | wc -l` -ge 1 ] && REVISION_NB=${REVISION_NB}+
     # remove last _ST followed by zero or more alphanumeric characters
     NEW_CONF1=$( echo $NEW_CONF | sed -e 's/_ST\([0-9a-zA-Z]*\)$//' )
     export NEMO_VALID=${NEMO_VALIDATION_DIR}/${CMP_NAM}/${REVISION_NB}/${NEW_CONF1}/${TEST_NAME}
diff --git a/sette/prepare_job.sh b/sette/prepare_job.sh
index 9e8c7cd9a..d4339d1e0 100755
--- a/sette/prepare_job.sh
+++ b/sette/prepare_job.sh
@@ -199,7 +199,7 @@ fi
 	       			fi
 				;;
 			X86_ARCHER2*)
-                                MK_TEMPLATE=$( /work/n01/shared/acc/mkslurm_settejob_4.2 -S $NXIO_PROC -s 8 -m 4 -C $NB_PROC -g 2 -a n01-CLASS -j sette_job -t 20:00 > ${SETTE_DIR}/job_batch_template )
+                                MK_TEMPLATE=$( /work/n01/shared/nemo/mkslurm_settejob_4.2 -S $NXIO_PROC -s 8 -m 4 -C $NB_PROC -g 2 -a n01-CLASS -j sette_job -t 20:00 > ${SETTE_DIR}/job_batch_template )
 				;;
                         XC40_METO*) #Setup for Met Office XC40 with any compiler
                                 # ocean cores are packed 32 to a node
diff --git a/sette/sette_eval.sh b/sette/sette_eval.sh
index b22b46157..079d91b6b 100755
--- a/sette/sette_eval.sh
+++ b/sette/sette_eval.sh
@@ -234,11 +234,13 @@ function runcmpres(){
 # Show current revision tag and branch name
 #
 if [ ${quiet} -eq 0 ] ; then echo "" ; fi
-lastchange=`${SVN_CMD} info ${MAIN_DIR} | grep 'Last Changed Rev' | awk '{print $NF}'`
-revision=`${SVN_CMD} info ${MAIN_DIR} | grep 'Revision' | awk '{print $NF}'`
+#lastchange=`${SVN_CMD} info ${MAIN_DIR} | grep 'Last Changed Rev' | awk '{print $NF}'`
+lastchange=`git rev-list --abbrev-commit origin`
+#revision=`${SVN_CMD} info ${MAIN_DIR} | grep 'Revision' | awk '{print $NF}'`
+revision=`git rev-list --abbrev-commit origin`
 branchname=`${SVN_CMD} info ${MAIN_DIR} | grep ^URL | awk -F ipsl/forge/projets/nemo/svn/ '{print $NF}'`
-if [ ${quiet} -eq 0 ] ; then echo "Current code is : $branchname @ r$revision  ( last change @ r$lastchange )" ; fi
-[ `${SVN_CMD} status -q ${MAIN_DIR}/{cfgs,tests,src} | wc -l` -ge 1 ] && lastchange=${lastchange}+
+if [ ${quiet} -eq 0 ] ; then echo "Current code is : $branchname @ $revision  ( last change @ $lastchange )" ; fi
+#[ `${SVN_CMD} status -q ${MAIN_DIR}/{cfgs,tests,src} | wc -l` -ge 1 ] && lastchange=${lastchange}+
 
 # by default use the current lastchanged revision
 lastchange=${rev:-$lastchange}
@@ -247,7 +249,7 @@ if [ ${quiet} -eq 0 ] ; then
  echo ""
  echo "SETTE evaluation for : "
  echo ""
- echo "       $branchname @ r$lastchange (last changed revision)"
+ echo "       $branchname @ $lastchange (last changed revision)"
  echo ""
  echo "       on $COMPILER arch file"
  echo ""
diff --git a/sette/sette_fetch_inputs.sh b/sette/sette_fetch_inputs.sh
index c47644f65..ed2205399 100755
--- a/sette/sette_fetch_inputs.sh
+++ b/sette/sette_fetch_inputs.sh
@@ -11,7 +11,7 @@
   . ./param.cfg
   get_lite=0
   if [ $# -gt 0 ]; then
-    while getopts l option ; do 
+    while getopts lh option ; do 
        case $option in
           l) get_lite=1;;
           h | *) echo ''
diff --git a/sette/sette_rpt.sh b/sette/sette_rpt.sh
index 6eb03d6f8..0f9c14b5a 100755
--- a/sette/sette_rpt.sh
+++ b/sette/sette_rpt.sh
@@ -541,11 +541,13 @@ function identictest(){
 # Show current revision tag and branch name
 #
 echo ""
-lastchange=`${SVN_CMD} info ${MAIN_DIR} | grep 'Last Changed Rev' | awk '{print $NF}'`
-revision=`${SVN_CMD} info ${MAIN_DIR} | grep 'Revision' | awk '{print $NF}'`
+#lastchange=`${SVN_CMD} info ${MAIN_DIR} | grep 'Last Changed Rev' | awk '{print $NF}'`
+lastchange=`git rev-list --abbrev-commit origin`
+#revision=`${SVN_CMD} info ${MAIN_DIR} | grep 'Revision' | awk '{print $NF}'`
+revision=`git rev-list --abbrev-commit origin`
 branchname=`${SVN_CMD} info ${MAIN_DIR} | grep ^URL | awk -F ipsl/forge/projets/nemo/svn/ '{print $NF}'`
-echo "Current code is : $branchname @ r$revision  ( last change @ r$lastchange )"
-[ `${SVN_CMD} status -q ${MAIN_DIR}/{cfgs,tests,src} | wc -l` -ge 1 ] && lastchange=${lastchange}+
+echo "Current code is : $branchname @ $revision  ( last change @ $lastchange )"
+#[ `${SVN_CMD} status -q ${MAIN_DIR}/{cfgs,tests,src} | wc -l` -ge 1 ] && lastchange=${lastchange}+
 
 # by default use the current lastchanged revision
 lastchange=${rev:-$lastchange}
@@ -553,7 +555,7 @@ lastchange=${rev:-$lastchange}
 echo ""
 echo "SETTE validation report generated for : "
 echo ""
-echo "       $branchname @ r$lastchange (last changed revision)"
+echo "       $branchname @ $lastchange (last changed revision)"
 echo ""
 echo "       on $COMPILER arch file"
 echo ""
-- 
GitLab