Changeset 5672 for branches/2015
- Timestamp:
- 2015-08-07T16:35:17+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/install_dir.sh
r5644 r5672 11 11 12 12 for elmt in 'ARCH' 'CONFIG' 'NEMO' 'EXTERNAL/IOIPSL' 'EXTERNAL/fcm' 'TOOLS' 'TRUST'; do 13 svn_bran=${NEMO_BRAN} 14 [ "$elmt" == 'TRUST' ] && svn_bran='branches/2015/dev_r5092_CNRS_SETTE' 15 svn co http://forge.ipsl.jussieu.fr/nemo/svn/${svn_bran}/NEMOGCM/$elmt ${}/NEMOGCM/$elmt13 svn_bran=${NEMO_BRAN}; rev='' 14 [ "$elmt" == 'TRUST' ] && svn_bran='branches/2015/dev_r5092_CNRS_SETTE' && rev='-r 5671' 15 svn co $rev http://forge.ipsl.jussieu.fr/nemo/svn/${svn_bran}/NEMOGCM/$elmt ${}/NEMOGCM/$elmt 16 16 17 17 done … … 20 20 21 21 for elmt in $( ls * ); do 22 [ ! $( echo $elmt | grep "COMPILE\|maketools\|REBUILD_NEMO" ) ] && rm -rf $elmt 22 if [ ! $( echo $elmt | grep "COMPILE\|maketools\|REBUILD_NEMO" ) ]; then 23 echo $elmt && rm -rf $elmt > /dev/null 24 fi 23 25 done 24 26 -
branches/2015/dev_r5092_CNRS_SETTE/NEMOGCM/TRUST/trusting_func.sh
r5671 r5672 86 86 87 87 [ "$soft" == "$COMPILER" ] && soft_rel=$( $soft --version | grep -m1 -oe '\<[0-9. ]*\>' ) 88 soft=$( echo $soft | sed 's#\\##g; s#[/-]$##' ) ## Cleaning characters string to display proper soft name 88 ## Cleaning characters string to display proper soft name 89 soft=$( echo $soft | sed 's#\\##g; s#[/-]$##' ) 89 90 echo $soft ${soft_rel} >> model.log 90 91 done 91 92 92 sed -n 4p model.log >> ${FILE_COMP}; sed -n 5p model.log >> ${FILE_MPIN}; sed -n 6p model.log >> ${FILE_NCDF} 93 sed -n 4p model.log >> ${FILE_COMP}; sed -n 5p model.log >> ${FILE_MPIN} 94 sed -n 6p model.log >> ${FILE_NCDF} 93 95 } 94 96 … … 110 112 if [ -n "$dif" ]; then 111 113 mesg='Different' 112 [ "$dif" != '0' ]&& echo $dif && files_list+=$file' '114 (( "$dif" != '0' )) && echo $dif && files_list+=$file' ' 113 115 fi 114 116 … … 118 120 echo $mesg >> ${FILE_INPT} 119 121 120 [ -n "${files_list}" ] && echo 'Inputs : '${files_list}'differ<br>' >> temp_${FILE_COMM} 122 [ -n "${files_list}" ] && echo 'Inputs : '${files_list}'differ<br>' \ 123 >> temp_${FILE_COMM} 121 124 } 122 125 123 126 job_pending() { 124 local time_elapsed=0 time_increment=30127 local outline=$( printf "%100s" ) time_elapsed=0 time_increment=30 125 128 126 129 sleep ${time_increment} 127 130 128 131 while [[ $( ${JOB_LIST} | grep ${JOB_ID} ) && ${time_elapsed} -lt ${TIME_LIMI} ]]; do 129 printf "\n ####################################################\n">> computation.log130 ${JOB_INFO} ${JOB_ID} 132 printf "\n%s\n" ${outline// /#} >> computation.log 133 ${JOB_INFO} ${JOB_ID} >> computation.log 131 134 sleep ${time_increment} 132 135 time_elapsed=$(( ${time_elapsed} + ${time_increment} )) … … 135 138 sleep ${time_increment} 136 139 137 if [ ${time_elapsed} -eq ${TIME_LIMI} ]; then140 if (( ${time_elapsed} == ${TIME_LIMI} )); then 138 141 ${JOB_DELE} ${JOB_ID} &> /dev/null 139 142 let TIME_LIMIT/=3600 … … 152 155 done 153 156 154 [ -n "${files_list}" ] && echo 'Results : '${files_list}'differ<br>' >> temp_${FILE_COMM} 157 [ -n "${files_list}" ] && echo 'Results : '${files_list}'differ<br>' \ 158 >> temp_${FILE_COMM} 155 159 } 156 160 157 161 diff_restart() { 158 local base_name dif f_rcd filenb_dom159 local dif=0 files_list='' list_rst=('restart restart_ice restart_trc restart_oce_out')162 local base_name dif dift file list_comp list_tmsp nb_dom 163 local files_list='' 160 164 161 165 [ ! -e ${REFE_DIR}/time.step ] && export ST='FAILED' && get_out 7 162 163 166 export TIME_STEP=$( cat ${REFE_DIR}/time.step | tr -d [:space:] ) 164 echo 'Last time step of standard run: '${TIME_STEP} 165 166 if [ $( find -regex ".*_0+$TIME_STEP_restart.*\.nc" -print -quit ) ]; then 167 base_name=$( find -regex ".*_0+$TIME_STEP_restart.*\.nc" -print -quit \ 168 | cut -d/ -f2 | sed "s/^\(.*$TIME_STEP\)\_restart.*/\1\_/" ) 169 170 for comp in ${list_rst}; do 171 file=${base_name}${comp} 172 173 nb_dom=$( find -name "${file}_[0-9]*.nc" | wc -l | awk '{ print $1 }' ) 174 if [ ${nb_dom} -gt 1 ]; then 175 ${NEMO_TRBD}/rebuild_nemo -t $NPROC $file ${nb_dom} > /dev/null 176 [ $? -eq 0 ] && rm -f ${base_name}${comp}_[0-9]*.nc > /dev/null 177 elif [ ${nb_dom} -eq 0 ]; then 178 export ST='FAILED' && get_out 8 179 fi 180 181 if [ -e ${REFE_DIR}/$file.nc ]; then 182 ## UNIX `cmp` not suitable (filename & timestamp in .nc file) 183 diff_rcd=$( $CDO diffn $file.nc ${REFE_DIR}/$file.nc 2> /dev/null \ 184 | awk '/records/ {print $0}' | sed '2 s/^/,/' | tr -d '\n' ) 185 186 if [[ ! -z ${diff_rcd} && $( echo ${diff_rcd} | awk '{ print $1 }') -ne 0 ]]; then 187 export ST='FAILED' 188 files_list+=$file' ' 189 let dif+=$( echo ${diff_rcd} | awk '{print $1}' ) 190 echo $file.nc': '${diff_rcd} 167 echo 'Last time step of benchmark run: '${TIME_STEP} 168 169 ## Find all restart files to rebuild 170 if [ $( find -regex ".*_restart.*[0-9]\.nc" -print -quit ) ]; then 171 base_name=$( find -regex ".*_restart.*[0-9]\.nc" \ 172 | sed "s#^\./\(.*\)_[0-9]*_restart.*#\1#" | sort -u ) 173 list_comp=$( find -regex ".*_restart.*[0-9]\.nc" \ 174 | sed "s#^.*\(restart[a-z_]*\)_[0-9].*\.nc#\1#" | sort -u ) 175 list_tmsp=$( find -regex ".*_restart.*[0-9]\.nc" \ 176 | sed "s#^.*\([0-9]\{8\}\)_restart.*#\1#" | sort -u ) 177 178 for tmsp in ${list_tmsp}; do 179 for comp in ${list_comp}; do 180 file=${base_name}_${tmsp}_${comp} 181 nb_dom=$( find -name "${file}_[0-9]*.nc" | wc -l | awk '{ print $1 }' ) 182 183 if (( ${nb_dom} > 1 )); then 184 ${NEMO_TRBD}/rebuild_nemo -t $NPROC $file ${nb_dom} > /dev/null 185 [ $? -eq 0 ] && rm -f ${file}_[0-9]*.nc > /dev/null 186 elif (( ${nb_dom} == 0 )); then 187 export ST='FAILED' && get_out 8 188 fi 189 190 ## Compare restart files at same time step 191 if (( $tmsp == ${TIME_STEP} )); then 192 if [ -e ${REFE_DIR}/$file.nc ]; then 193 ## UNIX `cmp` not suitable (timestamp in .nc file) 194 dif=$( $CDO diffn $file.nc ${REFE_DIR}/$file.nc 2> /dev/null \ 195 | awk '/records/ {print $0}' | sed '2 s/^/,/' | tr -d '\n' ) 196 197 if [[ -n "${dif}" && $( echo $dif | awk '{ print $1 }') -ne 0 ]]; then 198 export ST='FAILED' && files_list+=$file' ' 199 let dift+=$( echo $dif | awk '{print $1}' ) 200 echo $file'.nc: '$dif 201 else 202 echo 'identical' 203 fi 204 205 else 206 export ST='FAILED' && get_out 7 207 fi 208 191 209 else 192 echo 'identical'210 continue 193 211 fi 194 212 195 else 196 export ST='FAILED' && get_out 7 197 fi 198 213 done 199 214 done 200 215 201 [ -n "${files_list}" ] && echo 'Restarts: '${files_list}$dif' record(s) differ<br>' >> temp_${FILE_COMM} 216 [ -n "${files_list}" ] && echo 'Restarts: '${files_list}$dift' record(s) differ<br>' \ 217 >> temp_${FILE_COMM} 202 218 else 203 219 export ST='FAILED' … … 228 244 mesg_make() { 229 245 ## Format comments for web 230 [ -e temp_${FILE_COMM} ] && cat temp_${FILE_COMM} | tr -d '\n' | sed 's/<br>$//' >> ${FILE_COMM} 246 [ -e temp_${FILE_COMM} ] && cat temp_${FILE_COMM} | tr -d '\n' | sed 's/<br>$//' \ 247 >> ${FILE_COMM} 231 248 232 249 paste -d ';' mesg_*.txt | tee ${FILE_TRUS} … … 242 259 $cmd ${FILE_TRUS} >> ${REFE_DIR}/trusting_$PATTERNAME.txt 243 260 244 ## Send mail only when FAILED245 if [[ ! -z $EMAIL&& "$ST" == 'FAILED' ]]; then261 ## Send mail only when FAILED 262 if [[ ! -z "$EMAIL" && "$ST" == 'FAILED' ]]; then 246 263 cat << END_MAIL > trusting.mail 247 264 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX … … 256 273 257 274 END_MAIL 258 [ -e ${TEST_DIR}/${FILE_TRUS} ] && cat ${TEST_DIR}/${FILE_TRUS} >> trusting.mail 259 mail -s "[NEMO Trusting ${NEMO_HPCC} ${REFE_CONF} ${NEMO_BRAN}] $ST $ERR" $EMAIL < trusting.mail 275 [ -e ${TEST_DIR}/${FILE_TRUS} ] && cat ${TEST_DIR}/${FILE_TRUS} \ 276 >> trusting.mail 277 mail -s "[NEMO Trusting ${NEMO_HPCC} ${REFE_CONF} ${NEMO_BRAN}] $ST $ERR" $EMAIL \ 278 < trusting.mail 260 279 fi 261 280
Note: See TracChangeset
for help on using the changeset viewer.