Changeset 5444 for branches/2015
- Timestamp:
- 2015-06-19T17:40:51+02:00 (9 years ago)
- Location:
- branches/2015/dev_r5092_CNRS_SETTE/NEMOGCM/TRUST
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_r5092_CNRS_SETTE/NEMOGCM/TRUST/trusting.sh
r5438 r5444 11 11 #--------------------------------------------------- 12 12 NEMO_TRUS=$( pwd $( dirname $0 ) ) 13 SVN_OPT='status' 14 DEBUG=0; PUBLISH=0; status='OK' 13 DEBUG=0; PUBLISH=0; STATUS='OK' 15 14 16 15 # Get options for replacing some initials settings … … 53 52 printf "Date\n$datestr1\n" > mesg_01_date_${CFG_USER}_${CFG_ARCH}.txt 54 53 # Only at end status will change to OK 55 status='FAILED' 54 STATUS='FAILED' 55 56 # SVN action on XIOS & NEMO essentials directories 57 #--------------------------------------------------- 58 pstep "Get NEMO SVN state with: ${SVN_OPT}" 59 get_nemo_rev 56 60 57 61 # Check softwares versions (source arch environment) … … 60 64 . ${ARCH_ENV} > /dev/null 61 65 get_soft_rel 66 cat model.log 62 67 63 # SVN action on XIOS & NEMO essentials directories68 # XIOS compiling 64 69 #--------------------------------------------------- 65 pstep "Get NEMO SVN state with: ${SVN_OPT}" 66 get_nemo_rev 67 exit 0 70 pstep 'Compiling XIOS' 71 cd ${DIR_XIOS} 72 #./make_xios --arch $ARCH -job $NPROC >& /dev/null 73 68 74 # NEMO config compiled from scratch 69 75 #--------------------------------------------------- … … 72 78 #[ -d ${TEST_CONF} ] && ./makenemo -n ${TEST_CONF} clean 73 79 ./makenemo -n ${TEST_CONF} -r ${REFE_CONF} -m $ARCH -j $NPROC >& /dev/null 74 [ ! -e ${TEST_CONF}/BLD/bin/nemo.exe ] && get_out $ step $status80 [ ! -e ${TEST_CONF}/BLD/bin/nemo.exe ] && get_out $STEP $STATUS 75 81 76 82 # Get namelists, xml & forced files for running 77 83 #--------------------------------------------------- 78 84 pstep 'Preparing job' 85 cd ${TEST_DIR} 79 86 find ${NEMO_CONF}/${TEST_CONF}/EXP00 -regex '.*\(cfg\|opa\|ref\|xml\)' -exec cp {} . \; 80 87 … … 86 93 87 94 ${cmd_iol} > inputs_list.txt && ${cmd_iof} > /dev/null 88 [ $? -ne 0 ] && get_out $ step $status95 [ $? -ne 0 ] && get_out $STEP $STATUS 89 96 [ $( find . -name '*.gz' -print -quit ) ] && gunzip *.gz 90 97 … … 93 100 pstep 'Test input files difference' 94 101 diff_inputs 95 102 get_out $STEP $STATUS 96 103 # Job submission & computing 97 104 #--------------------------------------------------- 98 105 pstep 'Running' 99 106 job_num=$( ${JOB_SUBM} | awk '{print $NF}' ) 100 [ $? -ne 0 ] && get_out $ step $status107 [ $? -ne 0 ] && get_out $STEP $STATUS 101 108 102 109 time_elapsed=0; time_increment=30 … … 115 122 if [[ ! -f ocean.output || $( grep 'E R R O R' ocean.output ) ]]; then 116 123 ${JOB_DELE} ${job_num} &> /dev/null 117 [ ! -f ocean.output ] && step='nemo.exe crashed at initialization'118 [ $( grep 'E R R O R' ocean.output ) ] && step='nemo.exe crashed'124 [ ! -f ocean.output ] && STEP='nemo.exe crashed at initialization' 125 [ $( grep 'E R R O R' ocean.output ) ] && STEP='nemo.exe crashed' 119 126 comments('E R R O R') 120 127 ${JOB_DELE} ${job_num} >/dev/null 2>&1 121 status='FAILED'122 get_out $ step $status128 STATUS='FAILED' 129 get_out $STEP $STATUS 123 130 else 124 status='OK'131 STATUS='OK' 125 132 126 133 # Inspect output text files … … 129 136 for file in ocean.output solver.stat tracer.stat; do 130 137 diff $file ${REFE_DIR}/$file 131 [ $? -ne 0 ] && status='FAILED'138 [ $? -ne 0 ] && STATUS='FAILED' 132 139 done 133 140 … … 136 143 pstep 'Test last restart NetCDF files diff' 137 144 diff_restart #2> /dev/null 138 [ $? -ne 0 ] && status='FAILED'145 [ $? -ne 0 ] && STATUS='FAILED' 139 146 140 147 # Get computation duration … … 148 155 # End 149 156 #--------------------------------------------------- 150 if [ $ status == 'FAILED' ]; then step='Test outputs difference'; else step='Code is reliable'; fi151 get_out $ step $status157 if [ $STATUS == 'FAILED' ]; then STEP='Test outputs difference'; else STEP='Code is reliable'; fi 158 get_out $STEP $STATUS -
branches/2015/dev_r5092_CNRS_SETTE/NEMOGCM/TRUST/trusting_func.sh
r5438 r5444 10 10 # Portability ! 11 11 real_cpu_time=$( ${JOB_VIEW} ${job_num} | awk 'END{print $9}' ) 12 printf "Real CPU time\n%s\n" ${real_cpu_time} | tee mesg_0 8_realcputime_${CFG_USER}_${CFG_ARCH}.txt12 printf "Real CPU time\n%s\n" ${real_cpu_time} | tee mesg_09_realcputime_${CFG_USER}_${CFG_ARCH}.txt 13 13 } 14 14 … … 21 21 done 22 22 23 printf "Input files\n$mesg" | tee mesg_0 9_inputfiles_${CFG_USER}_${CFG_ARCH}.txt23 printf "Input files\n$mesg" | tee mesg_08_inputfiles_${CFG_USER}_${CFG_ARCH}.txt 24 24 } 25 25 … … 42 42 cmp ${TEST_DIR}/${base_name}_$comp.nc ${REFE_DIR}/${base_name}_$comp.nc 43 43 if [ $? -ne 0 ]; then 44 status='FAILED'44 export STATUS='FAILED' 45 45 printf "$CDO diffn\n" 46 46 $CDO diffn ${TEST_DIR}/${base_name}_$comp.nc ${REFE_DIR}/${base_name}_$comp.nc 2> /dev/null … … 65 65 done 66 66 67 sed -n 2p model.log | sed 'i\Compiler' | teemesg_05_compiler_${CFG_USER}_${CFG_ARCH}.txt68 sed -n 3p model.log | sed 'i\MPI libs' | teemesg_06_mpi_${CFG_USER}_${CFG_ARCH}.txt69 sed -n 4p model.log | sed 'i\NetCDF libs' | teemesg_07_netcdf_${CFG_USER}_${CFG_ARCH}.txt67 sed -n 4p model.log | sed 'i\Compiler' > mesg_05_compiler_${CFG_USER}_${CFG_ARCH}.txt 68 sed -n 5p model.log | sed 'i\MPI libs' > mesg_06_mpi_${CFG_USER}_${CFG_ARCH}.txt 69 sed -n 6p model.log | sed 'i\NetCDF libs' > mesg_07_netcdf_${CFG_USER}_${CFG_ARCH}.txt 70 70 } 71 71 72 72 get_nemo_rev() { 73 rev=073 svn_opt='status' 74 74 75 75 # If -v|--version option has been set, modify svn command 76 if [ $( echo ${NEMO_VERS} | grep "up\|update" ) ]; then SVN_OPT='update' 77 elif [ $( echo ${NEMO_VERS} | tr -d '[:alpha:][:punct:]' ) ]; then SVN_OPT='checkout' 78 rev=$( echo ${NEMO_VERS} | tr -d '[:alpha:][:punct:]' ) 76 if [[ $( echo ${NEMO_VERS} | grep "HEAD\|up\|update" ) \ 77 || $( echo ${NEMO_VERS} | tr -d '[:alpha:][:punct:]' ) ]]; then 78 rev=$( echo ${NEMO_VERS} | tr -d '[:alpha:][:punct:]' ) || rev='HEAD' 79 svn_cmd='svn update -r '$rev 80 else 81 svn_cmd='svn '${svn_opt} 79 82 fi 80 83 81 for dir in ${DIR_XIOS} ${NEMO_ARCH} ${NEMO_CONF} ${NEMO_ENGI} ${NEMO_EIOI} \ 82 ${NEMO_EFCM} ${NEMO_TRUS} ${NEMO_TCMP} ${NEMO_TRBD} ; do 84 rev=0 85 for dir in ${DIR_XIOS} ${NEMO_ARCH} ${NEMO_CONF} ${NEMO_ENGI} \ 86 ${NEMO_EIOI} ${NEMO_EFCM} ${NEMO_TCMP} ${NEMO_TRBD} ; do 83 87 84 88 # For time being, just get revision number from XIOS … … 88 92 fi 89 93 90 # 91 if [ $( echo ${SVN_OPT} | grep 'checkout' ) ]; then 92 cd ../$dir 93 url=$( svn info $dir | grep URL | awk '{print $NF}' ) 94 svn ${SVN_OPT} $url -r $rev $dir && cd - 95 else 96 svn ${SVN_OPT} $dir 97 fi 98 94 ${svn_cmd} $dir 99 95 rev_loc=$( svn info $dir | awk '(NR == 5) {print $NF}' ) 100 96 (( ${rev_loc} >= $rev )) && rev=${rev_loc} 101 97 done 102 98 103 echo 'NEMO '$rev >> model.log104 sed -n 6p model.log | sed 'i\NEMOGCM rev.' | tee mesg_02_nemo_${CFG_USER}_${CFG_ARCH}.txt99 echo 'NEMOGCM '$rev >> model.log 100 sed -n 2p model.log | sed 'i\NEMO rev.' > mesg_02_nemogcm_${CFG_USER}_${CFG_ARCH}.txt 105 101 } 106 102 … … 139 135 140 136 pstep() { 137 STEP=$1 138 export STEP 141 139 printf "Step.....\n$1\n" 142 140 } 143 141 144 142 get_out() { 145 step=$1; status=$2146 143 mesg_make; mesg_publish 147 144 148 145 # Save tested configuration if trusting failed 149 if [ $status == 'FAILED' ]; then 150 touch mesg_08_realcputime_${CFG_USER}_${CFG_ARCH}.txt mesg_10_comments_${CFG_USER}_${CFG_ARCH}.txt 151 cd ${REFE_DIR} 152 tar -czf trusting_${DATE_STR}_${CFG_USER}_${CFG_ARCH}.tar.gz ${TEST_DIR}/* 153 cd - 146 if [ "$STATUS" == 'FAILED' ]; then 147 touch mesg_08_inputfiles_${CFG_USER}_${CFG_ARCH}.txt mesg_09_realcputime_${CFG_USER}_${CFG_ARCH}.txt \ 148 mesg_10_comments_${CFG_USER}_${CFG_ARCH}.txt 149 tar -czf ${REFE_DIR}/trusting_${DATE_STR}_${CFG_USER}_${CFG_ARCH}.tar.gz * 154 150 fi 155 151 156 printf "Status\n$ status\n" > mesg_03_status_${CFG_USER}_${CFG_ARCH}.txt157 printf "Step.....\n$ step\n" > mesg_04_step_${CFG_USER}_${CFG_ARCH}.txt152 printf "Status\n$STATUS\n" > mesg_03_status_${CFG_USER}_${CFG_ARCH}.txt 153 printf "Step.....\n$STEP\n" > mesg_04_step_${CFG_USER}_${CFG_ARCH}.txt 158 154 159 155 exit 1
Note: See TracChangeset
for help on using the changeset viewer.