Changeset 5292
- Timestamp:
- 2015-05-22T18:49:31+02:00 (9 years ago)
- Location:
- branches/2015/dev_r5092_CNRS_SETTE/NEMOGCM/TRUST
- Files:
-
- 1 added
- 7 copied
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_r5092_CNRS_SETTE/NEMOGCM/TRUST/cfg/user_template.cfg
r5286 r5292 13 13 [ -z "${CONF_REFE}" ] && CONF_REFE='' # ORCA2_LIM_PISCES, GYRE, ... 14 14 [ -z "${CONF_TEST}" ] && CONF_TEST='' # ${CONF_REFE}_trust, ... 15 NEMO_HOME='' # NEMOGCM equivalent root directory 15 NEMO_HOME='' # NEMOGCM equivalent root directory to find ./ARCH,./CONFIG, ... 16 16 # (${DIR_WORK}/NEMO/${NEMO_BRAN}/NEMOGCM, ...) 17 17 … … 25 25 26 26 # NEMO inputs (fill in if necessary) 27 NEMO_FORC='' # Directory synchronized with DODS server of IDRIS27 NEMO_FORC='' # Directory synchronized with DODS server 28 28 # (${DIR_WORK}/NEMO/FORC, ...) 29 29 FORC_TARF='' # Archive name (ORCA2_LIM_nemo_v3.6.tar, ...) -
branches/2015/dev_r5092_CNRS_SETTE/NEMOGCM/TRUST/trusting.env
r5286 r5292 7 7 8 8 # Sourcing user configuration 9 . cfg/user.cfg 9 [ ! find ./cfg -name ${CFG_USER}.cfg ] && { echo 'No configuration file in ./cfg for '${CFG_USER}; exit; } 10 . cfg/${CFG_USER}.cfg 10 11 export DIR_WORK DIR_SCRA DIR_STOR 11 12 export NEMO_HOME NEMO_BRAN CONF_REFE CONF_TEST … … 15 16 16 17 NEMO_ARCH=${NEMO_HOME}/ARCH ; NEMO_CONF=${NEMO_HOME}/CONFIG ; NEMO_ENGI=${NEMO_HOME}/NEMO 17 NEMO_EFCM=${NEMO_HOME}/EXTERNAL/fcm ; NEMO_IPSL=${NEMO_HOME}/EXTERNAL/IOIPSL; NEMO_ SETT=${NEMO_HOME}/SETTE18 NEMO_EFCM=${NEMO_HOME}/EXTERNAL/fcm ; NEMO_IPSL=${NEMO_HOME}/EXTERNAL/IOIPSL; NEMO_TRUS=${NEMO_HOME}/SETTE 18 19 NEMO_TCMP=${NEMO_HOME}/TOOLS/COMPILE 19 20 export NEMO_ARCH NEMO_CONF NEMO_EFCM 20 export NEMO_ENGI NEMO_IPSL NEMO_ SETT21 export NEMO_ENGI NEMO_IPSL NEMO_TRUS 21 22 export NEMO_TCMP 22 23 23 24 # Sourcing super-computer configuration 24 . cfg/$ARCH.cfg 25 [ ! find ./cfg -name ${CFG_ARCH}.cfg ] && { echo 'No configuration file in ./cfg for '${CFG_ARCH}; exit; } 26 . cfg/${CFG_ARCH}.cfg 25 27 export CDO COMPILER MPI NETCDF 26 28 export JOB_SUBM JOB_LIST JOB_VIEW JOB_DELE … … 28 30 export ARCH_ENV 29 31 30 [ ! find ${NEMO_ARCH} -name arch-$ARCH.fcm ] && exit32 [ ! find ${NEMO_ARCH} -name arch-$ARCH.fcm ] && { echo 'No fcm file in '${NEMO_ARCH}' for '$ARCH ; exit; } -
branches/2015/dev_r5092_CNRS_SETTE/NEMOGCM/TRUST/trusting.sh
r5286 r5292 11 11 DEBUG=0; PUBLISH=0; status='OK' 12 12 13 # Get options &&replace some initials settings13 # Get options to replace some initials settings 14 14 while [ $# -ne 0 ]; do 15 15 case $1 in 16 16 -b|--branch ) NEMO_BRAN=$2 ; shift 2;; -d|--debug ) set -vx; DEBUG=1 ; shift ;; 17 17 -e|--email ) MAIL=$2 ; shift 2;; -j|--job ) NPROC=$2 ; shift 2;; 18 -h|--help ) cat trusting_help.txt; exit ;; -m|--machine) ARCH=$2; shift 2;;18 -h|--help ) cat trusting_help.txt; exit ;; -m|--machine) CFG_ARCH=$2 ; shift 2;; 19 19 -n|--newconf) CONF_TEST=$2 ; shift 2;; -r|--refconf) CONF_REFE=$2 ; shift 2;; 20 20 -t|--time ) TIME_LIMI=$2 ; shift 2;; -p|--publish) PUBLISH=1 ; shift ;; 21 -u|--user ) CFG_USER=$2 ; shift 2;; -v|--version) NEMO_REVI=$2 ; shift 2;; 21 22 *) cat trusting_help.txt; exit ;; 22 23 esac … … 24 25 25 26 # Set super-computer & user environment 26 [[ ! -z "$ ARCH" && . trusting.env ]]|| { ./trusting.sh -h && exit; }27 [[ ! -z "${CFG_ARCH}" && ! -z "${CFG_USER}" ]] && . trusting.env || { ./trusting.sh -h && exit; } 27 28 export DEBUG PUBLISH 28 29 … … 34 35 cd ${DIR_TEST} 35 36 datestr1=$( LC_ALL=C date -d"$DATE_STR" +%Y-%m-%dT%H:%M ) 36 printf "Date\n%s\n" $datestr1 > mesg_01_date .txt37 printf "Date\n%s\n" $datestr1 > mesg_01_date_${CFG_USER}_${CFG_ARCH}.txt 37 38 38 printf "Status\nFAILED\n" > mesg_02_status .txt # Only at end status will change to OK39 printf "Status\nFAILED\n" > mesg_02_status_${CFG_USER}_${CFG_ARCH}.txt # Only at end status will change to OK 39 40 40 41 . trusting_func.sh … … 45 46 #============================================= 46 47 for rel in $CDO $COMPILER $MPI $NETCDF; do 47 printf "Step......................\nGet $rel release\n" > mesg_03_step .txt48 printf "Step......................\nGet $rel release\n" > mesg_03_step_${CFG_USER}_${CFG_ARCH}.txt 48 49 arch_rel=$( echo $LOADEDMODULES | sed "s#.*:$rel/\([^:]*\).*#\1#" ) 49 50 [ -z "${arch_rel}" ] && arch_rel=$( echo $PATH | sed "s#.*$rel/\([^/]*\).*#\1#" ) … … 52 53 done 53 54 54 sed -n 1p model.log | sed 'i\Fortran compiler' > mesg_04_c uriec.txt55 sed -n 2p model.log | sed 'i\MPI libraries ' > mesg_05_mpi curie.txt56 sed -n 3p model.log | sed 'i\NetCDF libraries' > mesg_06_netcdf_ curie.txt55 sed -n 1p model.log | sed 'i\Fortran compiler' > mesg_04_compiler_${CFG_USER}_${CFG_ARCH}.txt 56 sed -n 2p model.log | sed 'i\MPI libraries ' > mesg_05_mpi_${CFG_USER}_${CFG_ARCH}.txt 57 sed -n 3p model.log | sed 'i\NetCDF libraries' > mesg_06_netcdf_${CFG_USER}_${CFG_ARCH}.txt 57 58 58 59 59 60 #--------------------------------------------- 60 printf "Step......................\nCheckout XIOS, FCM-make(/EXTERNAL/fcm), NEMO engines (/NEMO) & configuration (/CONFIG)\n" > mesg_03_step.txt 61 printf "Step......................\nCheckout XIOS, FCM-make(/EXTERNAL/fcm), NEMO engines (/NEMO) & configuration (/CONFIG)\n" > mesg_03_step_${CFG_USER}_${CFG_ARCH}.txt 62 svn_cmd='svn status' 63 64 # If -v|--version option has been set, modify svn command 65 [ $( echo ${NEMO_VERS} | grep "up\|update" ) ] && svn_cmd='svn update' 66 [ $( echo ${NEMO_VERS} | tr -d '[:alpha:][:punct:]' ) ] && svn_cmd='svn update -r '$( echo ${NEMO_VERS} | tr -d '[:alpha:][:punct:]' ) 67 61 68 rev=0 62 for dir in ${DIR_XIOS} ${NEMO_ARCH} ${NEMO_CONF} ${NEMO_EFCM} ${NEMO_ENGI} ${NEMO_IPSL} ${NEMO_SETT} ${NEMO_TCMP}; do 63 svn up $dir 69 for dir in ${DIR_XIOS} ${NEMO_ARCH} ${NEMO_CONF} ${NEMO_EFCM} ${NEMO_ENGI} ${NEMO_IPSL} ${NEMO_TRUS} ${NEMO_TCMP}; do 70 [ $dir == ${DIR_XIOS} ] && echo 'XIOS '$( svn info $dir | awk '(NR == 9) {print $NF}' ) >> model.log && continue 71 ${svn_cmd} $dir 64 72 rev_loc=$( svn info $dir | awk '(NR == 9) {print $NF}' ) 65 [ $dir == ${DIR_XIOS} ] && echo 'XIOS '${rev_loc} >> model.log && continue66 73 (( ${rev_loc} >= $rev )) && rev=${rev_loc} 67 74 done … … 70 77 71 78 #--------------------------------------------- 72 printf "Step......................\nCompilation NEMO configuration %s\n" ${CONF_REF} > mesg_03_step .txt79 printf "Step......................\nCompilation NEMO configuration %s\n" ${CONF_REF} > mesg_03_step_${CFG_USER}_${CFG_ARCH}.txt 73 80 cd ${NEMO_CONF} 74 81 . ${ARCH_ENV} # Sourcing architecture environment … … 79 86 80 87 #--------------------------------------------- 81 printf "Step......................\nPreparing job\n" > mesg_03_step .txt88 printf "Step......................\nPreparing job\n" > mesg_03_step_${CFG_USER}_${CFG_ARCH}.txt 82 89 cd ${DIR_TEST} 83 90 find ${NEMO_CONF}/${CONF_TEST}/EXP00 -regex '.*\(cfg\|opa\|ref\|xml\)' -exec cp {} . \; … … 94 101 95 102 #--------------------------------------------- 96 printf "Step......................\nRunning\n" > mesg_03_step .txt103 printf "Step......................\nRunning\n" > mesg_03_step_${CFG_USER}_${CFG_ARCH}.txt 97 104 #${JOB_SUB} ${DIR_TEST}/../../batch.sh 98 105 job_num=$( ${JOB_SUB} ${DIR_TEST}/../../batch.sh | awk '{print $NF}') … … 110 117 111 118 #--------------------------------------------- 112 printf "Step......................\nTest if ASCII output files exist\n" > mesg_03_step .txt119 printf "Step......................\nTest if ASCII output files exist\n" > mesg_03_step_${CFG_USER}_${CFG_ARCH}.txt 113 120 if [ ! -f ${output_test} ]; then 114 121 … … 116 123 else if [ ] 117 124 118 grep 'E R R O R' ocean.output >> mesg_11_comments .txt119 sed 's/^/Time step :/' time.step >> mesg_11_comments .txt125 grep 'E R R O R' ocean.output >> mesg_11_comments_${CFG_USER}_${CFG_ARCH}.txt 126 sed 's/^/Time step :/' time.step >> mesg_11_comments_${CFG_USER}_${CFG_ARCH}.txt 120 127 fi 121 128 122 129 123 130 #--------------------------------------------- 124 printf "Step......................\nTest ASCII output files difference\n" > mesg_03_step .txt131 printf "Step......................\nTest ASCII output files difference\n" > mesg_03_step_${CFG_USER}_${CFG_ARCH}.txt 125 132 for file in ocean.output solver.stat tracer.stat; do 126 133 diff $file ${DIR_REFE}/$file … … 130 137 131 138 #--------------------------------------------- 132 printf "Step......................\nTest last restart files difference\n" > mesg_03_step .txt139 printf "Step......................\nTest last restart files difference\n" > mesg_03_step_${CFG_USER}_${CFG_ARCH}.txt 133 140 diff_trusting 2>/dev/null 134 141 [ $? -ne 0 ] && status='FAILED' … … 136 143 137 144 #--------------------------------------------- 138 echo 'Comments' > mesg_11_comments .txt139 grep 'W A R N I N G:' ocean.output >> mesg_11_comments .txt145 echo 'Comments' > mesg_11_comments_${CFG_USER}_${CFG_ARCH}.txt 146 grep 'W A R N I N G:' ocean.output >> mesg_11_comments_${CFG_USER}_${CFG_ARCH}.txt 140 147 141 148 142 149 #--------------------------------------------- 143 150 if [ $status != 'FAILED' ]; then 144 printf "Step......................\nGet Real CPU time\n" > mesg_03_step .txt151 printf "Step......................\nGet Real CPU time\n" > mesg_03_step_${CFG_USER}_${CFG_ARCH}.txt 145 152 real_cpu_time=$( ${JOB_VIEW} $job_num | awk 'END{print $9}') 146 printf "Real CPU time\n%s\n" ${real_cpu_time} > mesg_08_realcputime .txt153 printf "Real CPU time\n%s\n" ${real_cpu_time} > mesg_08_realcputime_${CFG_USER}_${CFG_ARCH}.txt 147 154 else 148 printf "Step......................\nTest InputFiles difference\n" > mesg_03_step .txt155 printf "Step......................\nTest InputFiles difference\n" > mesg_03_step_${CFG_USER}_${CFG_ARCH}.txt 149 156 diff inputs_list.txt ${DIR_REFE}/inputs_list.txt 150 157 [ $? -ne 0 ] && getout 151 [[ $? -ne 0 && printf "InputFiles\n%s\n" "Different" > mesg_09_inputfiles .txt ]] || printf "InputFiles\n%s\n" "Same" > mesg_09_inputfiles.txt158 [[ $? -ne 0 && printf "InputFiles\n%s\n" "Different" > mesg_09_inputfiles_${CFG_USER}_${CFG_ARCH}.txt ]] || printf "InputFiles\n%s\n" "Same" > mesg_09_inputfiles_${CFG_USER}_${CFG_ARCH}.txt 152 159 fi 153 160 154 161 155 162 #--------------------------------------------- 156 printf "Status\nOK\n" > mesg_02_status .txt157 printf "Step......................\nCode is reliable\n" > mesg_03_step .txt163 printf "Status\nOK\n" > mesg_02_status_${CFG_USER}_${CFG_ARCH}.txt 164 printf "Step......................\nCode is reliable\n" > mesg_03_step_${CFG_USER}_${CFG_ARCH}.txt 158 165 159 166 #--------------------------------------------- -
branches/2015/dev_r5092_CNRS_SETTE/NEMOGCM/TRUST/trusting_func.sh
r5286 r5292 2 2 3 3 function mesg_make { 4 paste -d ';' mesg_* .txt > trusting_${DATE_STR}.txt5 cat trusting_${DATE_STR} .txt4 paste -d ';' mesg_*_${CFG_USER}_${CFG_ARCH}.txt > trusting_${DATE_STR}_${CFG_USER}_${CFG_ARCH}.txt 5 cat trusting_${DATE_STR}_${CFG_USER}_${CFG_ARCH}.txt 6 6 } 7 7 … … 11 11 if [ $PUBLISH -eq 1 ]; then 12 12 13 if [ -f ${DIR_TEST}/trusting .txt ] ; then14 tail -1 trusting_${DATE_STR} .txt >> ${DIR_TEST}/trusting.txt13 if [ -f ${DIR_TEST}/trusting_${CFG_USER}_${CFG_ARCH}.txt ] ; then 14 tail -1 trusting_${DATE_STR}_${CFG_USER}_${CFG_ARCH}.txt >> ${DIR_TEST}/trusting_${CFG_USER}_${CFG_ARCH}.txt 15 15 else 16 cp trusting_${DATE_STR} .txt ${DIR_TEST}/trusting.txt16 cp trusting_${DATE_STR}_${CFG_USER}_${CFG_ARCH}.txt ${DIR_TEST}/trusting_${CFG_USER}_${CFG_ARCH}.txt 17 17 fi 18 18 19 cp trusting_${DATE_STR} .txt ${DIR_TEST}20 # chmod o+r ${DIR_TEST}/trusting_${DATE_STR} .txt19 cp trusting_${DATE_STR}_${CFG_USER}_${CFG_ARCH}.txt ${DIR_TEST} 20 # chmod o+r ${DIR_TEST}/trusting_${DATE_STR}_${CFG_USER}_${CFG_ARCH}.txt 21 21 22 22 # rm -rf ${DIR_WORK}/../../dods/public/${LOGNAME}/trusting/${CONF_REF} … … 25 25 26 26 # Send mail only when FAILED 27 if [[ grep 'FAILED' mesg_02_status .txt && ! -z $MAIL ]]; then27 if [[ grep 'FAILED' mesg_02_status_${CFG_USER}_${CFG_ARCH}.txt && ! -z $MAIL ]]; then 28 28 cat << END_MAIL > ${DIR_TEST}/trusting.mail 29 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 29 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 30 30 Dear $USER, 31 31 … … 33 33 Please consult http://webservices.ipsl.fr/trusting/ 34 34 35 Failed at step: `tail -n 1 mesg_03_step .txt`35 Failed at step: `tail -n 1 mesg_03_step_${CFG_USER}_${CFG_ARCH}.txt` 36 36 Directory : ${DIR_TEST} 37 37 38 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 38 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 39 39 40 40 END_MAIL
Note: See TracChangeset
for help on using the changeset viewer.