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 5402 – NEMO

Changeset 5402


Ignore:
Timestamp:
2015-06-10T18:33:20+02:00 (9 years ago)
Author:
nicolasmartin
Message:

dev_r5092_CNRS_SETTE Nearing initial release by adding namelists & iodef files in comparison

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  
    33# Available softwares: 
    44CDO=cdo  
    5 COMPILER=intel 
     5COMPILER=ifort 
    66MPI=bullxmpi 
    77NETCDF=netcdf 
  • branches/2015/dev_r5092_CNRS_SETTE/NEMOGCM/TRUST/cfg/user_template.cfg

    r5383 r5402  
    1515NEMO_HOME=''                              # NEMOGCM equivalent root directory to find ./ARCH,./CONFIG, ... 
    1616                                          # (${DIR_WORK}/NEMO/${NEMO_BRAN}/NEMOGCM, ...) 
    17 NEMO_RBDN=''                              # NEMO rebuild executable 
    1817 
    1918# Comparatives directories localization: 
     
    2322# External softs directories: 
    2423DIR_XIOS=''                  # ${DIR_WORK}/XIOS/xios-1.0 
    25 DIR_OASI=''                  # ${DIR_WORK}/OASIS         
     24#DIR_OASI=''                    # ${DIR_WORK}/OASIS         
    2625 
    2726# NEMO inputs (fill in if necessary) 
    28 NEMO_FORC=''                              # Directory synchronized with DODS server 
    29                                           # (${DIR_WORK}/NEMO/FORC, ...) 
     27NEMO_FORC=''                              # Directory with forcing archive to extract from ESGF server 
     28                                          #        or  ""  all inputs files to copy 
    3029FORC_TARF=''                              # Archive name (ORCA2_LIM_nemo_v3.6.tar, ...) 
     30                                          # Leave blank if not requested 
    3131 
    3232# Mailing list to inform of a failure, -p|--publish option required 
  • branches/2015/dev_r5092_CNRS_SETTE/NEMOGCM/TRUST/trusting.env

    r5383 r5402  
    1212export NEMO_HOME NEMO_BRAN 
    1313export REFE_CONF TEST_CONF REFE_DIR TEST_DIR 
    14 export DIR_XIOS  DIR_OASI 
     14export DIR_XIOS  #DIR_OASI 
    1515export NEMO_FORC FORC_TARF 
    1616 
    1717# 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 
     18NEMO_ARCH=${NEMO_HOME}/ARCH              ; NEMO_CONF=${NEMO_HOME}/CONFIG       ; NEMO_ENGI=${NEMO_HOME}/NEMO 
     19NEMO_EIOI=${NEMO_HOME}/EXTERNAL/IOIPSL   ; NEMO_EFCM=${NEMO_HOME}/EXTERNAL/fcm 
     20NEMO_TRBD=${NEMO_HOME}/TOOLS/REBUILD_NEMO; NEMO_TCMP=${NEMO_HOME}/TOOLS/COMPILE 
    2021export NEMO_ARCH NEMO_CONF NEMO_ENGI 
    21 export NEMO_EIOI NEMO_EFCM NEMO_TCMP 
     22export NEMO_EIOI NEMO_EFCM 
     23export NEMO_TRBD NEMO_TCMP 
    2224 
    2325# Sourcing super-computer configuration 
  • branches/2015/dev_r5092_CNRS_SETTE/NEMOGCM/TRUST/trusting.sh

    r5383 r5402  
    6666. ${ARCH_ENV} > /dev/null    # Sourcing architecture environment 
    6767get_rel 
    68 sed -n 2p model.log | sed 'i\Fortran compiler' > mesg_05_compiler_${CFG_USER}_${CFG_ARCH}.txt 
    69 sed -n 3p model.log | sed 'i\MPI libraries   ' > mesg_06_mpi_${CFG_USER}_${CFG_ARCH}.txt 
    70 sed -n 4p model.log | sed 'i\NetCDF libraries' > mesg_07_netcdf_${CFG_USER}_${CFG_ARCH}.txt 
     68sed -n 2p model.log | sed 'i\Fortran compiler' | tee mesg_05_compiler_${CFG_USER}_${CFG_ARCH}.txt 
     69sed -n 3p model.log | sed 'i\MPI libraries   ' | tee mesg_06_mpi_${CFG_USER}_${CFG_ARCH}.txt 
     70sed -n 4p model.log | sed 'i\NetCDF libraries' | tee mesg_07_netcdf_${CFG_USER}_${CFG_ARCH}.txt 
    7171 
    7272 
     
    8989# Get namelists, xml & forced files for running 
    9090#--------------------------------------------------- 
     91cd ${TEST_DIR} 
    9192printf "Step......................\nPreparing job\n"                             | tee mesg_04_step_${CFG_USER}_${CFG_ARCH}.txt 
    92 cd ${TEST_DIR} 
    9393find ${NEMO_CONF}/${TEST_CONF}/EXP00 -regex '.*\(cfg\|opa\|ref\|xml\)' -exec cp {} . \; 
    9494 
    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 
     95if [ ! -z "${FORC_TAR}" ]; then 
     96    cmd_iol="tar -tvf ${NEMO_FORC}/${FORC_TAR}"; cmd_iof="tar -vxf ${NEMO_FORC}/${FORC_TAR}" 
    10097else 
    101     touch inputs_list.txt 
     98    cmd_iol="ls ${NEMO_FORC}/*"                ; cmd_iof="\cp ${NEMO_FORC}/* ." 
    10299fi 
     100 
     101${cmd_iol} > inputs_list.txt && ${cmd_iof} > /dev/null 
     102[ $? -ne 0 ] && get_out 
     103[ $( find . -name '*.gz' -print -quit ) ] && gunzip *.gz 
    103104 
    104105 
     
    111112time_elapsed=0; time_increment=30 
    112113sleep ${time_increment} 
    113 while [[ $( ${JOB_LIST} | grep $job_num ) && ${time_elapsed} -lt ${TIME_LIMI} ]]; do 
     114while [[ $( ${JOB_LIST} | grep ${job_num} ) && ${time_elapsed} -lt ${TIME_LIMI} ]]; do 
    114115    printf "\n####################################################" >> computation.log 
    115     ${JOB_VIEW} $job_num                                            >> computation.log 
     116    ${JOB_VIEW} ${job_num}                                          >> computation.log 
    116117    sleep ${time_increment} 
    117118    let time_elapsed+=${time_increment} 
    118119done 
    119  
     120sleep ${time_increment} 
    120121 
    121122# Eventual crash during computing 
     
    124125if   [ ! -f ocean.output                  ]; then 
    125126    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 
    126128    status='FAILED' 
    127129elif [ $( grep 'E R R O R' ocean.output ) ]; then 
    128130    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 
    131134    status='FAILED' 
    132135fi 
     
    149152 
    150153 
    151 # Comments 
    152 #--------------------------------------------------- 
    153 echo 'Comments'                    >  mesg_12_comments_${CFG_USER}_${CFG_ARCH}.txt 
    154 grep 'W A R N I N G:' ocean.output >> mesg_12_comments_${CFG_USER}_${CFG_ARCH}.txt 
    155  
    156  
    157154# Finals tests 
    158155#--------------------------------------------------- 
    159156if [ $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 ! 
    160164    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}.txt 
     165    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 
    163167else 
    164168    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 
    173170    get_out 
    174171fi 
  • branches/2015/dev_r5092_CNRS_SETTE/NEMOGCM/TRUST/trusting_func.sh

    r5383 r5402  
    11#!/bin/bash 
    22 
     3 
     4diff_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} 
    317 
    418diff_nc() { 
     
    1327 
    1428diff_restart() { 
    15     last_time_step=$( cat ${REFE_DIR}/time.step ) 
     29    last_time_step=$( cat ${REFE_DIR}/time.step | tr -d [:space:] ) 
    1630    result_final=0 
    1731 
     
    1933 
    2034    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 
    2540       result=$( diff_nc ${TEST_DIR}/*${last_time_step}_$file.nc ${REFE_DIR}/*${last_time_step}_$file.nc ) 
    2641       printf "cdo diffv $result\n" 
    2742       (( result_final = result_final + result )) 
     43#      \rm *${last_time_step}_${file}_[0-9]*.nc 
    2844   else 
    2945       printf "no restart files found for comparison\n" 
     
    3955                                arch_rel=$( echo $LOADEDMODULES | sed "s#.*$rel/\([^:]*\).*#\1#" ) 
    4056   [ -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.]* ' ) 
    4258   echo $rel ${arch_rel} >> model.log 
    4359    done 
     
    4763    rev=0 
    4864 
    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} \ 
    5067          ${NEMO_EFCM} ${NEMO_TRUS} ${NEMO_TCMP} ${NEMO_TRBD}               ; do 
    5168   # 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 && continue 
     69#  [ $dir == ${DIR_XIOS} ] && echo 'XIOS '$( svn info $dir | awk '(NR == 9) {print $NF}' ) >> model.log && continue 
    5370   ${SVN_CMD} $dir 
    5471   rev_loc=$( svn info $dir | awk '(NR == 9) {print $NF}' ) 
Note: See TracChangeset for help on using the changeset viewer.