- Timestamp:
- 2017-11-22T11:28:53+01:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_r5092_CNRS18_TRUST/NEMOGCM/TRUST/inc/trusting_func.sh
r5988 r8780 3 3 4 4 ## Messenger filenames 5 FILE_DATE=mesg_01_date_$PATTERNAME.txt ; FILE_RSLT=mesg_02_result_$PATTERNAME.txt6 FILE_STAT=mesg_03_state_$PATTERNAME.txt ; FILE_NEMO=mesg_04_nemo_$PATTERNAME.txt7 FILE_XIOS=mesg_05_xios_$PATTERNAME.txt ; FILE_CMPF=mesg_06_compiler_$PATTERNAME.txt8 FILE_LMPI=mesg_07_mpi_$PATTERNAME.txt ; FILE_NCDF=mesg_08_netcdf_$PATTERNAME.txt9 FILE_INPT=mesg_09_inputs_$PATTERNAME.txt; FILE_TIME=mesg_10_time_$PATTERNAME.txt10 FILE_MEMY=mesg_11_memory_$PATTERNAME.txt; FILE_NOTE=mesg_12_comments_$PATTERNAME.txt5 file_date=mesg_01_date.txt ; file_rslt=mesg_02_result.txt 6 file_stat=mesg_03_state.txt ; file_nemo=mesg_04_nemo.txt 7 file_xios=mesg_05_xios.txt ; file_cmpf=mesg_06_compiler.txt 8 file_lmpi=mesg_07_mpi.txt ; file_ncdf=mesg_08_netcdf.txt 9 file_inpt=mesg_09_inputs.txt; file_time=mesg_10_time.txt 10 file_memy=mesg_11_memory.txt; file_note=mesg_12_comments.txt 11 11 12 12 ## Trusting timestamped logfile & archive 13 TRUS_FILE=trusting_${ DATE}_$PATTERNAME.txt; TRUS_ARCH=trusting_${DATE}_$PATTERNAME.tgz13 TRUS_FILE=trusting_${TRUS_DATE}_$TRUS_NAME.txt; TRUS_ARCH=trusting_${TRUS_DATE}_$TRUS_NAME.tgz 14 14 15 15 … … 23 23 24 24 init_files() { 25 echo 'Date' > ${ FILE_DATE}; echo 'Result' > ${FILE_RSLT}26 echo 'State' > ${ FILE_STAT}; echo 'NEMOGCM rev.' > ${FILE_NEMO}27 echo 'XIOS rev.' > ${ FILE_XIOS}; echo 'Fortran compiler' > ${FILE_CMPF}28 echo 'MPI libs' > ${ FILE_LMPI}; echo 'NetCDF libs' > ${FILE_NCDF}29 echo 'Input files' > ${ FILE_INPT}; echo 'Elapsed time' > ${FILE_TIME}30 echo 'Memory usage (P/V)' > ${ FILE_MEMY}; echo 'Comments' > ${FILE_NOTE}25 echo 'Date' > ${file_date}; echo 'Result' > ${file_rslt} 26 echo 'State' > ${file_stat}; echo 'NEMOGCM rev.' > ${file_nemo} 27 echo 'XIOS rev.' > ${file_xios}; echo 'Fortran compiler' > ${file_cmpf} 28 echo 'MPI libs' > ${file_lmpi}; echo 'NetCDF libs' > ${file_ncdf} 29 echo 'Input files' > ${file_inpt}; echo 'Elapsed time' > ${file_time} 30 echo 'Memory usage (P/V)' > ${file_memy}; echo 'Comments' > ${file_note} 31 31 32 32 ## 'Failed' status with 'Unknown error' by default 33 33 echo ${TRUS_RSLT} \ 34 >> ${ FILE_RSLT}34 >> ${file_rslt} 35 35 echo 'Unknown error' \ 36 >> ${ FILE_STAT}36 >> ${file_stat} 37 37 } 38 38 39 39 get_date() { 40 40 ## UTC time zone for timestamping 41 local dat=$( date -ud "${ DATE}" +"%F %R %Z" )41 local dat=$( date -ud "${TRUS_DATE}" +"%F %R %Z" ) 42 42 43 43 echo $dat \ 44 >> ${ FILE_DATE}44 >> ${file_date} 45 45 } 46 46 … … 58 58 >> model.log 59 59 echo "<a href=\"https://forge.ipsl.jussieu.fr/ioserver/changeset/${rev_loc}\" target=\"_blank\">${rev_loc}</a>" \ 60 >> ${ FILE_XIOS}60 >> ${file_xios} 61 61 continue 62 62 fi … … 72 72 >> model.log 73 73 echo "<a href=\"https://forge.ipsl.jussieu.fr/nemo/changeset/$rev\" target=\"_blank\">$rev</a>" \ 74 >> ${ FILE_NEMO}74 >> ${file_nemo} 75 75 } 76 76 … … 110 110 111 111 sed -n 3p model.log \ 112 >> ${ FILE_CMPF}112 >> ${file_cmpf} 113 113 sed -n 4p model.log \ 114 >> ${ FILE_LMPI}114 >> ${file_lmpi} 115 115 sed -n 5p model.log \ 116 >> ${ FILE_NCDF}116 >> ${file_ncdf} 117 117 } 118 118 … … 145 145 [ $mesg == 'Same' ] && echo $mesg 146 146 echo $mesg \ 147 >> ${ FILE_INPT}147 >> ${file_inpt} 148 148 149 149 ## List different files for web comment 150 150 [ -n "${files_list}" ] && echo 'Inputs : '${files_list}'differ<br>' \ 151 >> temp_${ FILE_NOTE}151 >> temp_${file_note} 152 152 } 153 153 … … 161 161 printf "\n%s\n" ${outline// /#} \ 162 162 >> computation.log 163 [ -n "${TRUS_JINF}" ] && eval ${ JOB_INFO} \163 [ -n "${TRUS_JINF}" ] && eval ${TRUS_JINF} \ 164 164 >> computation.log 165 165 sleep ${time_increment} … … 170 170 171 171 ## Kill remaining job & stop the test if it's too long 172 [ ${time_elapsed} -eq ${TRUS_TOUT} ] && { eval ${ JOB_DELE} &> /dev/null; get_out 6; }172 [ ${time_elapsed} -eq ${TRUS_TOUT} ] && { eval ${TRUS_JKIL} &> /dev/null; get_out 6; } 173 173 } 174 174 … … 192 192 ## List different files for web comment 193 193 [ -n "${files_list}" ] && echo 'Results : '${files_list}'differ<br>' \ 194 >> temp_${ FILE_NOTE}194 >> temp_${file_note} 195 195 } 196 196 … … 263 263 if [ ${dif_sum} -ne 0 ]; then 264 264 echo 'Restarts: '${files_list}${dif_sum}' record(s) differ<br>' \ 265 >> temp_${ FILE_NOTE}265 >> temp_${file_note} 266 266 else 267 267 echo 'Same' … … 281 281 282 282 printf "Elapsed time: " 283 echo ${time_cpu} | tee -a ${ FILE_TIME}283 echo ${time_cpu} | tee -a ${file_time} 284 284 } 285 285 … … 291 291 292 292 printf "Memory max usage (physical/virtual): " 293 echo ${memory_pmax}' / '${memory_vmax} | tee -a ${ FILE_MEMY}293 echo ${memory_pmax}' / '${memory_vmax} | tee -a ${file_memy} 294 294 } 295 295 … … 308 308 309 309 [ -n "$line" ] && ( echo $line; printf "$line<br>" \ 310 >> temp_${ FILE_NOTE} )310 >> temp_${file_note} ) 311 311 } 312 312 313 313 log_make() { 314 314 ## Format comments for web 315 [ -e temp_${ FILE_NOTE} ] && cat temp_${FILE_NOTE} | tr -d '\n' | sed 's/<br>$//' \316 >> ${ FILE_NOTE}315 [ -e temp_${file_note} ] && cat temp_${file_note} | tr -d '\n' | sed 's/<br>$//' \ 316 >> ${file_note} 317 317 318 318 ## Construct txt file with all messenger files … … 328 328 329 329 ## Create or append trusting logfile 330 if [ -f ${TRUS_STOR}/trusting_$ PATTERNAME.txt ]; then cmd='tail -1'; else cmd='cat'; fi330 if [ -f ${TRUS_STOR}/trusting_$TRUS_NAME.txt ]; then cmd='tail -1'; else cmd='cat'; fi 331 331 332 332 $cmd ${TRUS_FILE} \ 333 >> ${TRUS_STOR}/trusting_$ PATTERNAME.txt333 >> ${TRUS_STOR}/trusting_$TRUS_NAME.txt 334 334 335 335 ## Send mail only when FAILED … … 409 409 ## Last messenger files 410 410 #export TRUS_RORR 411 sed -i "2 s/.*/$TRUS_RSLT/" ${ FILE_RSLT}; sed -i "2 s/.*/$TRUS_RORR/" ${FILE_STAT}411 sed -i "2 s/.*/$TRUS_RSLT/" ${file_rslt}; sed -i "2 s/.*/$TRUS_RORR/" ${file_stat} 412 412 413 413 ## Save tested configuration if trusting failed in production mode (-p|--prod)
Note: See TracChangeset
for help on using the changeset viewer.