Changeset 5453
- Timestamp:
- 2015-06-19T20:51:04+02:00 (9 years ago)
- Location:
- branches/2015/dev_r5092_CNRS_SETTE/NEMOGCM/TRUST
- Files:
-
- 1 added
- 3 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_r5092_CNRS_SETTE/NEMOGCM/TRUST/trusting.env
r5402 r5453 8 8 # Sourcing user configuration 9 9 #-------------------------------------- 10 . ${NEMO_TRUS}/c fg/${CFG_USER}.cfg10 . ${NEMO_TRUS}/config/${CFG_USER}.cfg 11 11 export DIR_WORK DIR_SCRA DIR_STOR 12 12 export NEMO_HOME NEMO_BRAN … … 25 25 # Sourcing super-computer configuration 26 26 #-------------------------------------- 27 . ${NEMO_TRUS}/c fg/${CFG_ARCH}.cfg27 . ${NEMO_TRUS}/config/${CFG_ARCH}.cfg 28 28 export CDO COMPILER MPI NETCDF 29 29 export JOB_SUBM JOB_LIST JOB_VIEW JOB_DELE -
branches/2015/dev_r5092_CNRS_SETTE/NEMOGCM/TRUST/trusting.sh
r5452 r5453 31 31 if [[ ! -z "${CFG_ARCH}" && ! -z "${CFG_USER}" ]]; then 32 32 33 if [ ! $( find ${NEMO_TRUS}/c fg -name ${CFG_USER}.cfg ) ]; then34 echo 'No configuration file in '${NEMO_TRUS}'/c fg for '${CFG_USER}; exit 135 elif [ ! $( find ${NEMO_TRUS}/c fg -name ${CFG_ARCH}.cfg ) ]; then36 echo 'No configuration file in '${NEMO_TRUS}'/c fg for '${CFG_ARCH}; exit 133 if [ ! $( find ${NEMO_TRUS}/config -name ${CFG_USER}.cfg ) ]; then 34 echo 'No configuration file in '${NEMO_TRUS}'/config for '${CFG_USER}; exit 1 35 elif [ ! $( find ${NEMO_TRUS}/config -name ${CFG_ARCH}.cfg ) ]; then 36 echo 'No configuration file in '${NEMO_TRUS}'/config for '${CFG_ARCH}; exit 1 37 37 else 38 38 . ${NEMO_TRUS}/trusting.env … … 52 52 printf "Date\n$datestr1\n" > mesg_01_date_${CFG_USER}_${CFG_ARCH}.txt 53 53 # Only at end status will change to OK 54 STATUS='FAILED' 54 STATUS='FAILED'; STEP='' 55 55 56 56 # SVN action on XIOS & NEMO essentials directories … … 64 64 . ${ARCH_ENV} > /dev/null 65 65 get_soft_rel 66 cat model.log66 cat env.log 67 67 68 68 # XIOS compiling … … 78 78 #[ -d ${TEST_CONF} ] && ./makenemo -n ${TEST_CONF} clean 79 79 ./makenemo -n ${TEST_CONF} -r ${REFE_CONF} -m $ARCH -j $NPROC >& /dev/null 80 [ ! -e ${TEST_CONF}/BLD/bin/nemo.exe ] && get_out $ST EP $STATUS80 [ ! -e ${TEST_CONF}/BLD/bin/nemo.exe ] && get_out $STATUS $STEP 81 81 82 82 # Get namelists, xml & forced files for running … … 93 93 94 94 ${cmd_iol} > inputs_list.txt && ${cmd_iof} > /dev/null 95 [ $? -ne 0 ] && get_out $ST EP $STATUS95 [ $? -ne 0 ] && get_out $STATUS $STEP 96 96 [ $( find . -name '*.gz' -print -quit ) ] && gunzip *.gz 97 97 … … 104 104 #--------------------------------------------------- 105 105 print_step 'Running' 106 export JOB_ID=$( ${JOB_SUBM} | awk '{print $NF}' ) 107 [ $? -ne 0 ] && get_out $STEP $STATUS 106 JOB_ID=$( ${JOB_SUBM} | awk '{print $NF}' ) 107 export JOB_ID 108 [ $? -ne 0 ] && get_out $STATUS $STEP 108 109 109 110 time_elapsed=0; time_increment=30 … … 111 112 while [[ $( ${JOB_LIST} | grep ${JOB_ID} ) && ${time_elapsed} -lt ${TIME_LIMI} ]]; do 112 113 printf "\n####################################################" >> computation.log 113 ${JOB_VIEW} ${JOB_ID} >> computation.log114 ${JOB_VIEW} ${JOB_ID} >> computation.log 114 115 sleep ${time_increment} 115 116 let time_elapsed+=${time_increment} … … 122 123 if [[ ! -e ocean.output || $( grep 'E R R O R' ocean.output ) ]]; then 123 124 ${JOB_DELE} ${JOB_ID} &> /dev/null 124 [ ! -e ocean.output ] && ST ATUS='nemo.exe crashed at initialization'125 [ $( grep 'E R R O R' ocean.output ) ] && ST ATUS='nemo.exe crashed'126 comments ('E R R O R')125 [ ! -e ocean.output ] && STEP='nemo.exe crashed at initialization' 126 [ $( grep 'E R R O R' ocean.output ) ] && STEP='nemo.exe crashed' 127 comments 'E R R O R' 127 128 ${JOB_DELE} ${JOB_ID} >/dev/null 2>&1 128 get_out $ST EP $STATUS129 get_out $STATUS $STEP 129 130 else 130 131 STATUS='OK' … … 135 136 for file in ocean.output solver.stat tracer.stat; do 136 137 diff $file ${REFE_DIR}/$file 137 [ $? -ne 0 ] && STATUS=' At least 1ASCII output file differ'138 [ $? -ne 0 ] && STATUS='FAILED' && STEP='ASCII output file differ' 138 139 done 139 140 … … 142 143 print_step 'Test last restart NetCDF files diff' 143 144 diff_restart #2> /dev/null 144 [ $? -ne 0 ] && STATUS='At least 1 restart .nc file differ' 145 146 # Check super-computing architecture modification 147 #--------------------------------------------------- 148 print_step 'Test super-computing architecture change' 149 diff_arch 150 [ $? -ne 0 ] && STATUS='At least 1 restart .nc file differ' 145 [ $? -ne 0 ] && STATUS='FAILED' 151 146 152 147 # Get computation duration … … 155 150 get_cpu_time 156 151 157 comments ('W A R N I N G')152 comments 'W A R N I N G' 158 153 fi 159 154 … … 161 156 #--------------------------------------------------- 162 157 [ $STATUS == 'OK' ] && STEP='Code is reliable' 163 get_out $ST EP $STATUS158 get_out $STATUS $STEP -
branches/2015/dev_r5092_CNRS_SETTE/NEMOGCM/TRUST/trusting_func.sh
r5452 r5453 3 3 4 4 comments() { 5 [ -e ocean.output ] && grep $1 ocean.output 5 [ -e ocean.output ] && line=$( grep $1 ocean.output ) 6 7 # Check environment architecture modification 8 #--------------------------------------------------- 9 [ $( diff -q env.log ${REFE_DIR}/env.log ) ] && line=$( diff env.log ${REFE_DIR}/env.log ) 10 6 11 printf "Comments\n$line\n" | tee mesg_10_comments_${CFG_USER}_${CFG_ARCH}.txt 7 12 } … … 13 18 } 14 19 15 diff_arch() {16 diff env.log ${REFE_DIR}/env.log17 }18 19 20 diff_inputs() { 20 21 mesg='Same' 21 22 22 for file in inputs_list.txt $( ls namelist_* ) iodef.xml; do23 for file in inputs_list.txt $( ls namelist_* ) $( ls *.xml ); do 23 24 diff $file ${REFE_DIR}/$file 24 25 [ $? -ne 0 ] && mesg='Different' … … 46 47 cmp ${TEST_DIR}/${base_name}_$comp.nc ${REFE_DIR}/${base_name}_$comp.nc 47 48 if [ $? -ne 0 ]; then 48 export ST ATUS='FAILED'49 export STEP='Restart files different' 49 50 printf "$CDO diffn\n" 50 51 $CDO diffn ${TEST_DIR}/${base_name}_$comp.nc ${REFE_DIR}/${base_name}_$comp.nc 2> /dev/null … … 69 70 done 70 71 71 sed -n 4p env.log | sed 'i\Compiler' > mesg_05_compiler_${CFG_USER}_${CFG_ARCH}.txt72 sed -n 5p env.log | sed 'i\MPI libs' > mesg_06_mpi_${CFG_USER}_${CFG_ARCH}.txt73 sed -n 6p env.log | sed 'i\NetCDF libs' > mesg_07_netcdf_${CFG_USER}_${CFG_ARCH}.txt72 sed -n 3p env.log | sed 'i\Compiler' > mesg_05_compiler_${CFG_USER}_${CFG_ARCH}.txt 73 sed -n 4p env.log | sed 'i\MPI libs' > mesg_06_mpi_${CFG_USER}_${CFG_ARCH}.txt 74 sed -n 5p env.log | sed 'i\NetCDF libs' > mesg_07_netcdf_${CFG_USER}_${CFG_ARCH}.txt 74 75 } 75 76 … … 118 119 119 120 # Send mail only when FAILED 120 if [[ $( grep 'FAILED' mesg_02_status_${CFG_USER}_${CFG_ARCH}.txt ) && ! -z $MAIL]]; then121 if [[ ! -z $MAIL && "$STATUS"=='FAILED' ]]; then 121 122 cat << END_MAIL > trusting.mail 122 123 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX … … 137 138 } 138 139 139 print_step() { 140 STEP=$1 141 export STEP 142 printf "Step.....\n$1\n" 143 } 140 print_step() { STEP=$1; export STEP && printf "Step.....\n$TEP\n"; } 144 141 145 142 get_out() {
Note: See TracChangeset
for help on using the changeset viewer.