- Timestamp:
- 2015-08-11T19:52:33+02:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_r5092_CNRS_SETTE/NEMOGCM/TRUST/trusting_func.sh
r5672 r5681 13 13 FILE_TRUS=trusting_${DATE}_$PATTERNAME.txt; FILE_ARCH=trusting_${DATE}_$PATTERNAME.tar.gz 14 14 15 15 16 print_step() { printf "\nStep.....\n$1\n"; } 17 16 18 17 19 init_files() { … … 27 29 } 28 30 31 29 32 get_date() { 30 33 local dat=$( date -ud ${DATE} +"%F %R %Z" ) … … 32 35 echo $dat >> ${FILE_DATE} 33 36 } 37 34 38 35 39 get_nemo_rev() { … … 54 58 55 59 ## For time being, just get revision number from XIOS 56 if [ "$dir" == "${DIR_XIOS}"]; then60 if [ $dir == ${DIR_XIOS} ]; then 57 61 rev_loc=$( svn info $dir | awk '(NR == 9) {print $NF}' ) 58 62 echo 'XIOS '${rev_loc} >> model.log … … 73 77 } 74 78 79 75 80 get_soft_rel() { 76 81 local soft_rel … … 85 90 fi 86 91 87 [ "$soft" == "$COMPILER"] && soft_rel=$( $soft --version | grep -m1 -oe '\<[0-9. ]*\>' )92 [ $soft == $COMPILER ] && soft_rel=$( $soft --version | grep -m1 -oe '\<[0-9. ]*\>' ) 88 93 ## Cleaning characters string to display proper soft name 89 94 soft=$( echo $soft | sed 's#\\##g; s#[/-]$##' ) … … 95 100 } 96 101 102 97 103 get_inputs() { 98 104 local cmd_iol="tar -tvf ${NEMO_FORC}/${NEMO_TARF}" cmd_iof="tar -vxf ${NEMO_FORC}/${NEMO_TARF}" … … 101 107 ${cmd_iol} > inputs_list.txt && ${cmd_iof} > /dev/null 102 108 } 109 103 110 104 111 diff_inputs() { … … 106 113 local files_list='' mesg='Same' 107 114 108 for file in inputs_list.txt namelist_* *.xml ; do115 for file in inputs_list.txt namelist_* *.xml cpp_*; do 109 116 dif='' 110 if [ -e ${REFE_DIR}/$file ]; then dif=$( diff -q $file ${REFE_DIR}/$file ); else dif=0; fi 117 118 if [ -e ${REFE_DIR}/$file ]; then 119 dif=$( diff -q $file ${REFE_DIR}/$file ) 120 else dif=0; fi 111 121 112 122 if [ -n "$dif" ]; then 113 123 mesg='Different' 114 (( "$dif" != '0' ))&& echo $dif && files_list+=$file' '124 [ $dif != '0' ] && echo $dif && files_list+=$file' ' 115 125 fi 116 126 117 127 done 118 128 119 [ "$mesg" == 'Same' ] && echo $mesg 120 echo $mesg >> ${FILE_INPT} 121 129 [ $mesg == 'Same' ] && echo $mesg | tee -a ${FILE_INPT} 122 130 [ -n "${files_list}" ] && echo 'Inputs : '${files_list}'differ<br>' \ 123 131 >> temp_${FILE_COMM} 124 132 } 133 125 134 126 135 job_pending() { … … 146 155 } 147 156 157 148 158 diff_results() { 149 159 local files_list='' … … 159 169 } 160 170 171 161 172 diff_restart() { 162 local base_name dif diftfile list_comp list_tmsp nb_dom163 local files_list='' 164 165 [ ! -e 173 local base_name dif file list_comp list_tmsp nb_dom 174 local files_list='' dift=0 175 176 [ ! -e ${REFE_DIR}/time.step ] && export ST='FAILED' && get_out 7 166 177 export TIME_STEP=$( cat ${REFE_DIR}/time.step | tr -d [:space:] ) 167 178 echo 'Last time step of benchmark run: '${TIME_STEP} … … 195 206 | awk '/records/ {print $0}' | sed '2 s/^/,/' | tr -d '\n' ) 196 207 197 if [[ -n "$ {dif}" && $( echo $dif | awk '{ print $1 }') -ne 0]]; then208 if [[ -n "$dif" && (( $( echo $dif | awk '{print $1}' ) -ne 0 )) ]]; then 198 209 export ST='FAILED' && files_list+=$file' ' 199 210 let dift+=$( echo $dif | awk '{print $1}' ) 200 echo $file'.nc: '$dif 201 else 202 echo 'identical' 211 echo $file.nc': '$dif 203 212 fi 204 213 205 else 206 export ST='FAILED' && get_out 7 207 fi 208 209 else 210 continue 211 fi 214 else export ST='FAILED' && get_out 7; fi 215 216 else continue; fi 212 217 213 218 done 214 219 done 215 220 216 [ -n "${files_list}" ] && echo 'Restarts: '${files_list}$dift' record(s) differ<br>' \ 217 >> temp_${FILE_COMM} 218 else 219 export ST='FAILED' 220 fi 221 222 } 221 if (( $dift != 0 )); then 222 echo 'Restarts: '${files_list}$dift' record(s) differ<br>' \ 223 >> temp_${FILE_COMM} 224 else echo 'No restart differ'; fi 225 226 else export ST='FAILED'; fi 227 228 } 229 223 230 224 231 get_cpu_time() { … … 227 234 echo ${real_cpu_time} | tee -a ${FILE_CPUT} 228 235 } 236 229 237 230 238 comments() { … … 242 250 } 243 251 252 244 253 mesg_make() { 245 254 ## Format comments for web … … 250 259 } 251 260 261 252 262 mesg_publish() { 253 263 local cmd … … 259 269 $cmd ${FILE_TRUS} >> ${REFE_DIR}/trusting_$PATTERNAME.txt 260 270 261 ## Send mail only when FAILED 262 if [[ ! -z "$EMAIL" && "$ST" == 'FAILED' ]]; then 263 cat << END_MAIL > trusting.mail 264 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 271 ## Send mail only when FAILED 272 if [[ ! -z "$EMAIL" && $ST == 'FAILED' ]]; then 273 cat <<END_MAIL \ 274 > trusting.mail 275 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 265 276 266 277 Dear $USER, … … 270 281 Archive created: ${FILE_ARCH} in ${REFE_DIR} 271 282 272 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 283 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 273 284 274 285 END_MAIL … … 282 293 } 283 294 295 284 296 get_out() { 285 297 ERR=$1 … … 287 299 cd ${TEST_DIR} 288 300 289 if [ "$ST"== 'FAILED' ]; then301 if [ $ST == 'FAILED' ]; then 290 302 291 303 ## Error identification … … 309 321 310 322 ## Save tested configuration if trusting failed 311 if [[ "$ST"== 'FAILED' && $PUBLISH -eq 1 && $DEBUG -eq 0 ]]; then323 if [[ $ST == 'FAILED' && $PUBLISH -eq 1 && $DEBUG -eq 0 ]]; then 312 324 echo 'Creating archive '${FILE_ARCH}' under '${REFE_DIR} 313 tar -czf ${REFE_DIR}/${FILE_ARCH} * ${ TEST_DIR}/${NEMO_CONF}/${TEST_CONF}/cpp_* \314 ${ TEST_DIR}/${NEMO_CONF}/${TEST_CONF}/MY_SRC \315 ${ TEST_DIR}/${NEMO_CONF}/${TEST_CONF}/WORK325 tar -czf ${REFE_DIR}/${FILE_ARCH} * ${NEMO_HOME}/CONFIG/${TEST_CONF}/cpp_* \ 326 ${NEMO_HOME}/CONFIG/${TEST_CONF}/MY_SRC \ 327 ${NEMO_HOME}/CONFIG/${TEST_CONF}/WORK 316 328 fi 317 329
Note: See TracChangeset
for help on using the changeset viewer.