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 15159 for utils/CI – NEMO

Changeset 15159 for utils/CI


Ignore:
Timestamp:
2021-07-29T18:33:12+02:00 (3 years ago)
Author:
acc
Message:

Some enhancements to SETTE scripts: Added a -N option to sette.sh to set ln_nnogather=.false. (where appropriate) and a -T <TEST_ROOT> option to sette_eval.sh where <TEST_ROOT> is either LONG, SHORT or REPRO (default:LONG). This option determines which set of results to compare between validation sets. In the case of REPRO, the first expanded match will be used for each configuration (e.g. REPRO_4_8)

Location:
utils/CI/sette
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • utils/CI/sette/sette.sh

    r14981 r15159  
    1515export USING_EXTRA_HALO='yes'  # Default: yes => set nn_hls=2           ; use -e to set nn_hls=1 
    1616export USING_COLLECTIVES='yes' # Default: yes => set nn_comm=2          ; use -C to set nn_comm=1 
     17export USING_NOGATHER='yes'    # Default: yes => set ln_nnogather=.true.; use -N to set ln_nnogather=.false. 
    1718export USING_TILING='yes'      # Default: yes => set ln_tile=.true.     ; use -t to disable 
    1819                               #    Note: yes also ensures nn_hls=2 but -t will not alter nn_hls  
     
    3435# Parse command-line arguments 
    3536if [ $# -gt 0 ]; then 
    36   while getopts n:x:v:g:cdrshTqQteiACFX option; do  
     37  while getopts n:x:v:g:cdrshTqQteiACFNX option; do  
    3738     case $option in 
    3839        c) export SETTE_CLEAN_CONFIGS='yes' 
     
    8586           echo "-C: nn_comm will be set to 1" 
    8687           echo "";; 
     88        N) export USING_NOGATHER='no' 
     89           echo "-N: ln_nnogather will be set to false" 
     90           echo "";; 
    8791        q) export USING_QCO='no' 
    8892           echo "-q: key_qco and key_linssh will NOT be activated" 
     
    107111               echo '-i set ln_icebergs false (default: true)' 
    108112               echo '-C set nn_comm=1 (default: nn_comm=2 ==> use MPI3 collective comms)' 
     113               echo '-N set ln_nnogather false for ORCA2 configurations (default: true)' 
    109114               echo '-q to remove the key_qco key (default: added)' 
    110115               echo '-X to remove the key_xios key (default: added)' 
     
    207212printf "%-33s : %s\n" USING_TILING $USING_TILING 
    208213printf "%-33s : %s\n" USING_COLLECTIVES $USING_COLLECTIVES 
     214printf "%-33s : %s\n" USING_NOGATHER $USING_NOGATHER 
    209215printf "%-33s : %s\n" USING_QCO $USING_QCO 
    210216printf "%-33s : %s\n" USING_LOOP_FUSION $USING_LOOP_FUSION 
  • utils/CI/sette/sette_eval.sh

    r14981 r15159  
    1 #!/bin/bash -f 
     1#!/bin/bash  
    22# set -vx 
    33# simple SETTE result evaluator 
     
    1414nrmiss=0 
    1515nvmiss=0 
     16TESTD_ROOT=LONG 
     17 
     18function get_testd() { 
     19  sroot=$1/${TESTD_ROOT} 
     20  ls -1d "$sroot"* &> /dev/null 
     21  if [ $? -eq 0 ] ; then 
     22   TESTD=`ls -1d "$sroot"* | head -1l` 
     23   TESTD=`basename $TESTD` 
     24   if [ ! -d $1/$TESTD ] ; then 
     25     echo "TEST directory not found with rootname: "$TESTD_ROOT 
     26     exit 
     27   fi 
     28  else 
     29   TESTD=$TESTD_ROOT 
     30  fi 
     31} 
    1632 
    1733function get_dorv() { 
     
    7288# 
    7389  if [ -d $vdir/$mach/$dorv/$nam ]; then 
    74     f1s=$vdir/$mach/$dorv/$nam/LONG/run.stat 
    75     f1t=$vdir/$mach/$dorv/$nam/LONG/tracer.stat 
    76     f2s=$vdirref/$mach/$dorvref/$nam/LONG/run.stat 
    77     f2t=$vdirref/$mach/$dorvref/$nam/LONG/tracer.stat 
     90    get_testd $vdir/$mach/$dorv/$nam 
     91    if  [ ! -d $vdir/$mach/$dorv/$nam/$TESTD ] ; then 
     92      printf "%-20s %s (%s)\n" $nam " not tested" $TESTD; 
     93      return; 
     94    fi 
     95    f1s=$vdir/$mach/$dorv/$nam/$TESTD/run.stat 
     96    f1t=$vdir/$mach/$dorv/$nam/$TESTD/tracer.stat 
     97    f2s=$vdirref/$mach/$dorvref/$nam/$TESTD/run.stat 
     98    f2t=$vdirref/$mach/$dorvref/$nam/$TESTD/tracer.stat 
    7899    if  [ ! -f $f1s ] && [ ! -f $f1t ] ; then 
    79100      printf "%-20s %s\n" $nam " incomplete test"; 
     
    91112      if [ $? == 0 ]; then 
    92113        if [ $silent == 0 ]; then 
    93           printf "%-20s %s %s\n" $nam  " run.stat    files are identical " 
     114          printf "%-20s %s (%s)\n" $nam  " run.stat    files are identical " $TESTD 
    94115        fi 
    95116      else 
    96117        get_ktdiff $f1s $f2s 
    97118        if [ $silent == 0 ]; then 
    98          printf "%-20s %s %s %-5s %s\n" $nam  " run.stat    files are DIFFERENT (results are different after " $ktdiff " time steps)" 
     119         printf "%-20s %s %s %-5s (%s)\n" $nam  " run.stat    files are DIFFERENT (results are different after " $ktdiff " time steps) " $TESTD 
    99120        else 
    100121         errcnt=$(( $errcnt + 1 )) 
     
    109130      if [ $? == 0 ]; then 
    110131        if [ $silent == 0 ]; then           
    111           printf "%-20s %s %s\n" $nam  " tracer.stat files are identical " 
     132          printf "%-20s %s (%s)\n" $nam  " tracer.stat files are identical " $TESTD 
    112133        fi 
    113134      else 
    114135        get_ktdiff2 $f1t $f2t 
    115136        if [ $silent == 0 ]; then           
    116          printf "%-20s %s %s %-5s %s\n" $nam  " tracer.stat files are DIFFERENT (results are different after " $ktdiff " time steps) " 
     137         printf "%-20s %s %s %-5s (%s)\n" $nam  " tracer.stat files are DIFFERENT (results are different after " $ktdiff " time steps) " $TESTD 
    117138        else 
    118139         errcnt=$(( $errcnt + 1 )) 
     
    139160# overwrite revision (later) or compiler 
    140161  if [ $# -gt 0 ]; then 
    141     while getopts r:R:c:v:V:qh option; do  
     162    while getopts r:R:c:v:V:T:qh option; do  
    142163       case $option in 
    143164          c) mach=$OPTARG;; 
     
    153174             fi 
    154175             ;; 
     176          T) TESTD_ROOT=$OPTARG;; 
    155177          h | *) echo '' 
    156178                 echo 'sette_eval.sh : '  
     
    162184                 echo ' -R REFERENCE REVISION_number :' 
    163185                 echo '     compare sette results against the specified revision (use to over-ride value set in param.cfg)' 
     186                 echo ' -T test_rootname :' 
     187                 echo '     root of test name to be checked. Valid choices ares: LONG, SHORT, REPRO. [default: LONG]' 
    164188                 echo ' -v sub_dir :' 
    165189                 echo '     validation sub-directory below NEMO_VALIDATION_DIR' 
     
    252276      echo '' 
    253277     fi 
    254      checklist=(GYRE_PISCES ORCA2_ICE_PISCES ORCA2_OFF_PISCES AMM12 ORCA2_SAS_ICE AGRIF_DEMO WED025 ISOMIP+ VORTEX ICE_AGRIF OVERFLOW LOCK_EXCHANGE SWG) 
     278     checklist=(GYRE_PISCES ORCA2_ICE_PISCES ORCA2_OFF_PISCES AMM12 ORCA2_SAS_ICE ORCA2_ICE_OBS AGRIF_DEMO WED025 ISOMIP+ VORTEX ICE_AGRIF OVERFLOW LOCK_EXCHANGE SWG)  
    255279     for repro_test in ${checklist[@]} 
    256280     do 
  • utils/CI/sette/sette_list_avail_rev.sh

    r14981 r15159  
    7878 echo " Availability for each config.: " 
    7979 echo -n " ------------------------------" 
    80  for CONFIG in GYRE_PISCES ORCA2_ICE_PISCES ORCA2_OFF_PISCES AMM12 ORCA2_SAS_ICE AGRIF_DEMO SWG ISOMIP+ OVERFLOW LOCK_EXCHANGE VORTEX ICE_AGRIF  
     80 for CONFIG in GYRE_PISCES ORCA2_ICE_PISCES ORCA2_OFF_PISCES AMM12 WED025 ORCA2_ICE_OBS ORCA2_SAS_ICE AGRIF_DEMO SWG ISOMIP+ OVERFLOW LOCK_EXCHANGE VORTEX ICE_AGRIF  
    8181 do 
    8282    DIR=${NEMO_VALID}/${COMPILER}/ 
  • utils/CI/sette/sette_reference-configurations.sh

    r15030 r15159  
    326326    set_namelist_opt namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1 
    327327    set_namelist_opt namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1 
     328    set_namelist_opt namelist_cfg ln_nnogather ${USING_NOGATHER} .true. .false. 
    328329    set_namelist_opt namelist_cfg ln_tile ${USING_TILING} .true. .false. 
    329330    # for debugging purposes set_namelist namelist_cfg rn_test_box -180.0, 180.0, -90.0, -55.0 
     
    370371    set_namelist_opt namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1 
    371372    set_namelist_opt namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1 
     373    set_namelist_opt namelist_cfg ln_nnogather ${USING_NOGATHER} .true. .false. 
    372374    set_namelist_opt namelist_cfg ln_tile ${USING_TILING} .true. .false. 
    373375    # for debugging purposes set_namelist namelist_cfg rn_test_box -180.0, 180.0, -90.0, -55.0 
     
    436438    set_namelist_opt namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1 
    437439    set_namelist_opt namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1 
     440    set_namelist_opt namelist_cfg ln_nnogather ${USING_NOGATHER} .true. .false. 
    438441    set_namelist_opt namelist_cfg ln_tile ${USING_TILING} .true. .false. 
    439442    # for debugging purposes set_namelist namelist_cfg rn_test_box -180.0, 180.0, -90.0, -55.0 
     
    480483    set_namelist_opt namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1 
    481484    set_namelist_opt namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1 
     485    set_namelist_opt namelist_cfg ln_nnogather ${USING_NOGATHER} .true. .false. 
    482486    set_namelist_opt namelist_cfg ln_tile ${USING_TILING} .true. .false. 
    483487    # for debugging purposes set_namelist namelist_cfg rn_test_box -180.0, 180.0, -90.0, -55.0 
     
    10231027    set_namelist_opt namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1 
    10241028    set_namelist_opt namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1 
     1029    set_namelist_opt namelist_cfg ln_nnogather ${USING_NOGATHER} .true. .false. 
    10251030    set_namelist_opt namelist_cfg ln_tile ${USING_TILING} .true. .false. 
    10261031    set_xio_using_server iodef.xml ${USING_MPMD} 
     
    10711076    set_namelist_opt namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1 
    10721077    set_namelist_opt namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1 
     1078    set_namelist_opt namelist_cfg ln_nnogather ${USING_NOGATHER} .true. .false. 
    10731079    set_namelist_opt namelist_cfg ln_tile ${USING_TILING} .true. .false. 
    10741080    set_xio_using_server iodef.xml ${USING_MPMD} 
Note: See TracChangeset for help on using the changeset viewer.