New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 5681 for branches/2015/dev_r5092_CNRS_SETTE/NEMOGCM/TRUST/trusting_func.sh – NEMO

Ignore:
Timestamp:
2015-08-11T19:52:33+02:00 (9 years ago)
Author:
nicolasmartin
Message:

dev_r5092_CNRS_SETTE Add cpp keys management & "cpp_*" file to compare in order to add ORCA2AGUL config to Trusting

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/dev_r5092_CNRS_SETTE/NEMOGCM/TRUST/trusting_func.sh

    r5672 r5681  
    1313FILE_TRUS=trusting_${DATE}_$PATTERNAME.txt; FILE_ARCH=trusting_${DATE}_$PATTERNAME.tar.gz 
    1414 
     15 
    1516print_step() { printf "\nStep.....\n$1\n"; } 
     17 
    1618 
    1719init_files() { 
     
    2729} 
    2830 
     31 
    2932get_date() { 
    3033    local dat=$( date -ud ${DATE} +"%F %R %Z" ) 
     
    3235    echo $dat >> ${FILE_DATE} 
    3336} 
     37 
    3438 
    3539get_nemo_rev() { 
     
    5458 
    5559   ## For time being, just get revision number from XIOS 
    56    if [ "$dir" == "${DIR_XIOS}" ]; then 
     60   if [ $dir == ${DIR_XIOS} ]; then 
    5761       rev_loc=$( svn info $dir | awk '(NR == 9) {print $NF}' ) 
    5862       echo 'XIOS '${rev_loc} >> model.log 
     
    7377} 
    7478 
     79 
    7580get_soft_rel() { 
    7681    local soft_rel 
     
    8590   fi 
    8691 
    87    [ "$soft" == "$COMPILER" ] && soft_rel=$( $soft --version | grep -m1 -oe '\<[0-9. ]*\>' ) 
     92   [ $soft == $COMPILER ] && soft_rel=$( $soft --version | grep -m1 -oe '\<[0-9. ]*\>' ) 
    8893   ## Cleaning characters string to display proper soft name 
    8994   soft=$( echo $soft | sed 's#\\##g; s#[/-]$##' ) 
     
    95100} 
    96101 
     102 
    97103get_inputs() { 
    98104    local cmd_iol="tar -tvf ${NEMO_FORC}/${NEMO_TARF}" cmd_iof="tar -vxf ${NEMO_FORC}/${NEMO_TARF}" 
     
    101107    ${cmd_iol} > inputs_list.txt && ${cmd_iof} > /dev/null 
    102108} 
     109 
    103110 
    104111diff_inputs() { 
     
    106113    local files_list='' mesg='Same'  
    107114 
    108     for file in inputs_list.txt namelist_* *.xml; do 
     115    for file in inputs_list.txt namelist_* *.xml cpp_*; do 
    109116   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 
    111121 
    112122   if [ -n "$dif" ]; then 
    113123       mesg='Different' 
    114        (( "$dif" != '0' )) && echo $dif && files_list+=$file' ' 
     124       [ $dif != '0' ] && echo $dif && files_list+=$file' ' 
    115125   fi 
    116126 
    117127    done 
    118128 
    119     [ "$mesg" == 'Same' ] && echo $mesg 
    120     echo $mesg >> ${FILE_INPT} 
    121  
     129    [ $mesg == 'Same' ] && echo $mesg | tee -a ${FILE_INPT} 
    122130    [ -n "${files_list}" ] && echo 'Inputs  : '${files_list}'differ<br>' \ 
    123131   >> temp_${FILE_COMM} 
    124132} 
     133 
    125134 
    126135job_pending() { 
     
    146155} 
    147156 
     157 
    148158diff_results() { 
    149159    local files_list='' 
     
    159169} 
    160170 
     171 
    161172diff_restart() { 
    162     local base_name dif dift file list_comp list_tmsp nb_dom 
    163     local files_list=''  
    164  
    165     [ ! -e  ${REFE_DIR}/time.step ] && export ST='FAILED' && get_out 7 
     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 
    166177    export TIME_STEP=$( cat ${REFE_DIR}/time.step | tr -d [:space:] ) 
    167178    echo 'Last time step of benchmark run: '${TIME_STEP} 
     
    195206                | awk '/records/ {print $0}' | sed '2 s/^/,/' | tr -d '\n'  ) 
    196207 
    197          if [[ -n "${dif}" && $( echo $dif | awk '{ print $1 }') -ne 0 ]]; then 
     208         if [[ -n "$dif" && (( $( echo $dif | awk '{print $1}' ) -ne 0 )) ]]; then 
    198209             export ST='FAILED' && files_list+=$file' ' 
    199210             let dift+=$( echo $dif | awk '{print $1}' ) 
    200              echo $file'.nc: '$dif 
    201          else 
    202              echo 'identical' 
     211             echo $file.nc': '$dif 
    203212         fi 
    204213 
    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 
    212217 
    213218       done 
    214219   done 
    215220 
    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 
    223230 
    224231get_cpu_time() { 
     
    227234    echo ${real_cpu_time} | tee -a ${FILE_CPUT} 
    228235} 
     236 
    229237 
    230238comments() { 
     
    242250} 
    243251 
     252 
    244253mesg_make() { 
    245254    ## Format comments for web 
     
    250259} 
    251260 
     261 
    252262mesg_publish() { 
    253263    local cmd 
     
    259269   $cmd ${FILE_TRUS} >> ${REFE_DIR}/trusting_$PATTERNAME.txt 
    260270 
    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 
     275XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 
    265276 
    266277Dear $USER, 
     
    270281Archive created: ${FILE_ARCH} in ${REFE_DIR} 
    271282 
    272 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 
     283XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 
    273284 
    274285END_MAIL 
     
    282293} 
    283294 
     295 
    284296get_out() { 
    285297    ERR=$1 
     
    287299    cd ${TEST_DIR} 
    288300 
    289     if [ "$ST" == 'FAILED' ]; then 
     301    if [ $ST == 'FAILED' ]; then 
    290302 
    291303        ## Error identification 
     
    309321 
    310322    ## Save tested configuration if trusting failed 
    311     if [[ "$ST" == 'FAILED' && $PUBLISH -eq 1 && $DEBUG -eq 0 ]]; then 
     323    if [[ $ST == 'FAILED' && $PUBLISH -eq 1 && $DEBUG -eq 0 ]]; then 
    312324   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}/WORK 
     325   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 
    316328    fi 
    317329 
Note: See TracChangeset for help on using the changeset viewer.