Changeset 5402 for branches/2015/dev_r5092_CNRS_SETTE/NEMOGCM/TRUST
- Timestamp:
- 2015-06-10T18:33:20+02:00 (9 years ago)
- Location:
- branches/2015/dev_r5092_CNRS_SETTE/NEMOGCM/TRUST
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_r5092_CNRS_SETTE/NEMOGCM/TRUST/cfg/X64_CURIE.cfg
r5355 r5402 3 3 # Available softwares: 4 4 CDO=cdo 5 COMPILER=i ntel5 COMPILER=ifort 6 6 MPI=bullxmpi 7 7 NETCDF=netcdf -
branches/2015/dev_r5092_CNRS_SETTE/NEMOGCM/TRUST/cfg/user_template.cfg
r5383 r5402 15 15 NEMO_HOME='' # NEMOGCM equivalent root directory to find ./ARCH,./CONFIG, ... 16 16 # (${DIR_WORK}/NEMO/${NEMO_BRAN}/NEMOGCM, ...) 17 NEMO_RBDN='' # NEMO rebuild executable18 17 19 18 # Comparatives directories localization: … … 23 22 # External softs directories: 24 23 DIR_XIOS='' # ${DIR_WORK}/XIOS/xios-1.0 25 DIR_OASI='' # ${DIR_WORK}/OASIS24 #DIR_OASI='' # ${DIR_WORK}/OASIS 26 25 27 26 # NEMO inputs (fill in if necessary) 28 NEMO_FORC='' # Directory synchronized with DODSserver29 # (${DIR_WORK}/NEMO/FORC, ...)27 NEMO_FORC='' # Directory with forcing archive to extract from ESGF server 28 # or "" all inputs files to copy 30 29 FORC_TARF='' # Archive name (ORCA2_LIM_nemo_v3.6.tar, ...) 30 # Leave blank if not requested 31 31 32 32 # Mailing list to inform of a failure, -p|--publish option required -
branches/2015/dev_r5092_CNRS_SETTE/NEMOGCM/TRUST/trusting.env
r5383 r5402 12 12 export NEMO_HOME NEMO_BRAN 13 13 export REFE_CONF TEST_CONF REFE_DIR TEST_DIR 14 export DIR_XIOS DIR_OASI14 export DIR_XIOS #DIR_OASI 15 15 export NEMO_FORC FORC_TARF 16 16 17 17 # Only interest for essential NEMO directories 18 NEMO_ARCH=${NEMO_HOME}/ARCH ; NEMO_CONF=${NEMO_HOME}/CONFIG ; NEMO_ENGI=${NEMO_HOME}/NEMO 19 NEMO_EIOI=${NEMO_HOME}/EXTERNAL/IOIPSL; NEMO_EFCM=${NEMO_HOME}/EXTERNAL/fcm; NEMO_TCMP=${NEMO_HOME}/TOOLS/COMPILE 18 NEMO_ARCH=${NEMO_HOME}/ARCH ; NEMO_CONF=${NEMO_HOME}/CONFIG ; NEMO_ENGI=${NEMO_HOME}/NEMO 19 NEMO_EIOI=${NEMO_HOME}/EXTERNAL/IOIPSL ; NEMO_EFCM=${NEMO_HOME}/EXTERNAL/fcm 20 NEMO_TRBD=${NEMO_HOME}/TOOLS/REBUILD_NEMO; NEMO_TCMP=${NEMO_HOME}/TOOLS/COMPILE 20 21 export NEMO_ARCH NEMO_CONF NEMO_ENGI 21 export NEMO_EIOI NEMO_EFCM NEMO_TCMP 22 export NEMO_EIOI NEMO_EFCM 23 export NEMO_TRBD NEMO_TCMP 22 24 23 25 # Sourcing super-computer configuration -
branches/2015/dev_r5092_CNRS_SETTE/NEMOGCM/TRUST/trusting.sh
r5383 r5402 66 66 . ${ARCH_ENV} > /dev/null # Sourcing architecture environment 67 67 get_rel 68 sed -n 2p model.log | sed 'i\Fortran compiler' >mesg_05_compiler_${CFG_USER}_${CFG_ARCH}.txt69 sed -n 3p model.log | sed 'i\MPI libraries ' >mesg_06_mpi_${CFG_USER}_${CFG_ARCH}.txt70 sed -n 4p model.log | sed 'i\NetCDF libraries' >mesg_07_netcdf_${CFG_USER}_${CFG_ARCH}.txt68 sed -n 2p model.log | sed 'i\Fortran compiler' | tee mesg_05_compiler_${CFG_USER}_${CFG_ARCH}.txt 69 sed -n 3p model.log | sed 'i\MPI libraries ' | tee mesg_06_mpi_${CFG_USER}_${CFG_ARCH}.txt 70 sed -n 4p model.log | sed 'i\NetCDF libraries' | tee mesg_07_netcdf_${CFG_USER}_${CFG_ARCH}.txt 71 71 72 72 … … 89 89 # Get namelists, xml & forced files for running 90 90 #--------------------------------------------------- 91 cd ${TEST_DIR} 91 92 printf "Step......................\nPreparing job\n" | tee mesg_04_step_${CFG_USER}_${CFG_ARCH}.txt 92 cd ${TEST_DIR}93 93 find ${NEMO_CONF}/${TEST_CONF}/EXP00 -regex '.*\(cfg\|opa\|ref\|xml\)' -exec cp {} . \; 94 94 95 if [ ! -z "${NEMO_FORC}" ]; then 96 cp ${NEMO_FORC}/${FORC_TAR} . 97 tar -tvf ${FORC_TAR} > inputs_list.txt && tar -vxf ${FORC_TAR} > /dev/null 98 [ $? -ne 0 ] && get_out 99 gunzip *.gz 95 if [ ! -z "${FORC_TAR}" ]; then 96 cmd_iol="tar -tvf ${NEMO_FORC}/${FORC_TAR}"; cmd_iof="tar -vxf ${NEMO_FORC}/${FORC_TAR}" 100 97 else 101 touch inputs_list.txt98 cmd_iol="ls ${NEMO_FORC}/*" ; cmd_iof="\cp ${NEMO_FORC}/* ." 102 99 fi 100 101 ${cmd_iol} > inputs_list.txt && ${cmd_iof} > /dev/null 102 [ $? -ne 0 ] && get_out 103 [ $( find . -name '*.gz' -print -quit ) ] && gunzip *.gz 103 104 104 105 … … 111 112 time_elapsed=0; time_increment=30 112 113 sleep ${time_increment} 113 while [[ $( ${JOB_LIST} | grep $ job_num) && ${time_elapsed} -lt ${TIME_LIMI} ]]; do114 while [[ $( ${JOB_LIST} | grep ${job_num} ) && ${time_elapsed} -lt ${TIME_LIMI} ]]; do 114 115 printf "\n####################################################" >> computation.log 115 ${JOB_VIEW} $ job_num>> computation.log116 ${JOB_VIEW} ${job_num} >> computation.log 116 117 sleep ${time_increment} 117 118 let time_elapsed+=${time_increment} 118 119 done 119 120 sleep ${time_increment} 120 121 121 122 # Eventual crash during computing … … 124 125 if [ ! -f ocean.output ]; then 125 126 printf "Step......................\nOpa crashed at initialization\n" | tee mesg_04_step_${CFG_USER}_${CFG_ARCH}.txt 127 ${JOB_DELE} ${job_num} >/dev/null 2>&1 126 128 status='FAILED' 127 129 elif [ $( grep 'E R R O R' ocean.output ) ]; then 128 130 printf "Step......................\nOpa crashed\n" | tee mesg_04_step_${CFG_USER}_${CFG_ARCH}.txt 129 grep 'E R R O R' ocean.output >> mesg_12_comments_${CFG_USER}_${CFG_ARCH}.txt 130 sed 's/^/Time step :/' time.step >> mesg_12_comments_${CFG_USER}_${CFG_ARCH}.txt 131 grep 'E R R O R' ocean.output | tee mesg_10_comments_${CFG_USER}_${CFG_ARCH}.txt 132 sed 's/^/Time step :/' time.step | tee -a mesg_10_comments_${CFG_USER}_${CFG_ARCH}.txt 133 ${JOB_DELE} ${job_num} >/dev/null 2>&1 131 134 status='FAILED' 132 135 fi … … 149 152 150 153 151 # Comments152 #---------------------------------------------------153 echo 'Comments' > mesg_12_comments_${CFG_USER}_${CFG_ARCH}.txt154 grep 'W A R N I N G:' ocean.output >> mesg_12_comments_${CFG_USER}_${CFG_ARCH}.txt155 156 157 154 # Finals tests 158 155 #--------------------------------------------------- 159 156 if [ $status != 'FAILED' ]; then 157 158 # Comments 159 #--------------------------------------------------- 160 echo 'Comments' | tee mesg_10_comments_${CFG_USER}_${CFG_ARCH}.txt 161 grep 'W A R N I N G:' ocean.output | tee -a mesg_10_comments_${CFG_USER}_${CFG_ARCH}.txt 162 163 # Portability ! 160 164 printf "Step......................\nGet real CPU time\n" | tee mesg_04_step_${CFG_USER}_${CFG_ARCH}.txt 161 real_cpu_time=$( ${JOB_VIEW} $ job_num| awk 'END{print $9}' )162 printf "Real CPU time\n%s\n" ${real_cpu_time} > mesg_09_realcputime_${CFG_USER}_${CFG_ARCH}.txt165 real_cpu_time=$( ${JOB_VIEW} ${job_num} | awk 'END{print $9}' ) 166 printf "Real CPU time\n%s\n" ${real_cpu_time} | tee mesg_08_realcputime_${CFG_USER}_${CFG_ARCH}.txt 163 167 else 164 168 printf "Step......................\nTest input files difference\n" | tee mesg_04_step_${CFG_USER}_${CFG_ARCH}.txt 165 diff inputs_list.txt ${REFE_DIR}/inputs_list.txt 166 167 if [ $? -ne 0 ]; then 168 printf "Input files\nDifferent" > mesg_10_inputfiles_${CFG_USER}_${CFG_ARCH}.txt 169 else 170 printf "Input files\nSame" > mesg_10_inputfiles_${CFG_USER}_${CFG_ARCH}.txt 171 fi 172 169 diff_inputs 173 170 get_out 174 171 fi -
branches/2015/dev_r5092_CNRS_SETTE/NEMOGCM/TRUST/trusting_func.sh
r5383 r5402 1 1 #!/bin/bash 2 2 3 4 diff_inputs() { 5 for file in inputs_list.txt $( ls namelist_* ) iodef.xml; do 6 diff $file ${REFE_DIR}/$file 7 8 if [ $? -ne 0 ]; then 9 printf "Input files\nDifferent" | tee mesg_09_inputfiles_${CFG_USER}_${CFG_ARCH}.txt 10 get_out 11 fi 12 13 done 14 15 printf "Input files\nSame" | tee mesg_09_inputfiles_${CFG_USER}_${CFG_ARCH}.txt 16 } 3 17 4 18 diff_nc() { … … 13 27 14 28 diff_restart() { 15 last_time_step=$( cat ${REFE_DIR}/time.step )29 last_time_step=$( cat ${REFE_DIR}/time.step | tr -d [:space:] ) 16 30 result_final=0 17 31 … … 19 33 20 34 for file in restart restart_ice restart_trc; do 21 printf ${TEST_DIR}'/*'${last_time_step}'_'${file}'.nc: ' 22 23 if [ $( find ${TEST_DIR} -name *${last_time_step}_$file.nc ) ]; then 24 ${NEMO_RBDN} -t $NPROC ${TEST_CONF} $(( ${last_time_step} + 1 )) 35 printf "${TEST_DIR}/*${last_time_step}_${file}*.nc: " 36 find ${TEST_DIR} -name *${last_time_step}_$file*.nc && exit 0 37 if [ $( find ${TEST_DIR} -regex .*${last_time_step}_$file[_0-9]*.nc ) ]; then 38 filebase=$( ls *${last_time_step}_$file*.nc | sed "s/^\(.*_\)0*$last_time_step.*/\1/" ) 39 ${NEMO_TRBD}/rebuild_nemo -t $NPROC ${filebase}_${last_time_step}_$file $(( ${last_time_step} + 1 )) #>/dev/null 25 40 result=$( diff_nc ${TEST_DIR}/*${last_time_step}_$file.nc ${REFE_DIR}/*${last_time_step}_$file.nc ) 26 41 printf "cdo diffv $result\n" 27 42 (( result_final = result_final + result )) 43 # \rm *${last_time_step}_${file}_[0-9]*.nc 28 44 else 29 45 printf "no restart files found for comparison\n" … … 39 55 arch_rel=$( echo $LOADEDMODULES | sed "s#.*$rel/\([^:]*\).*#\1#" ) 40 56 [ -z "${arch_rel}" ] && arch_rel=$( echo $PATH | sed "s#.*$rel/\([^/]*\).*#\1#" ) 41 # [ $( echo $rel | grep $COMPILER ) ] && arch_rel=$( $rel --version | grep -m1 -o ' [0-9.]* ' >/dev/null)57 [ $( echo $rel | grep $COMPILER ) ] && arch_rel=$( $rel --version | grep -m1 -o ' [0-9.]* ' ) 42 58 echo $rel ${arch_rel} >> model.log 43 59 done … … 47 63 rev=0 48 64 49 for dir in ${DIR_XIOS} ${NEMO_ARCH} ${NEMO_CONF} ${NEMO_ENGI} ${NEMO_EIOI} \ 65 # for dir in ${DIR_XIOS} ${NEMO_ARCH} ${NEMO_CONF} ${NEMO_ENGI} ${NEMO_EIOI} \ 66 for dir in ${NEMO_ARCH} ${NEMO_CONF} ${NEMO_ENGI} ${NEMO_EIOI} \ 50 67 ${NEMO_EFCM} ${NEMO_TRUS} ${NEMO_TCMP} ${NEMO_TRBD} ; do 51 68 # For time being, just get revision number from XIOS 52 [ $dir == ${DIR_XIOS} ] && echo 'XIOS '$( svn info $dir | awk '(NR == 9) {print $NF}' ) >> model.log && continue69 # [ $dir == ${DIR_XIOS} ] && echo 'XIOS '$( svn info $dir | awk '(NR == 9) {print $NF}' ) >> model.log && continue 53 70 ${SVN_CMD} $dir 54 71 rev_loc=$( svn info $dir | awk '(NR == 9) {print $NF}' )
Note: See TracChangeset
for help on using the changeset viewer.