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

Changeset 14867


Ignore:
Timestamp:
2021-05-14T18:51:03+02:00 (3 years ago)
Author:
acc
Message:

Branch: sette_ticket2673. Fully working version of revamped submission scripts. See #2673 for details of changes. Still some work to do to bring the associated scripts such as sette_list_avail_rev.sh in line with new design.

Location:
utils/CI/sette_ticket2673
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • utils/CI/sette_ticket2673/all_functions.sh

    r13795 r14867  
    184184    fi 
    185185    [ `${SVN_CMD} status -q ${SETTE_DIR}/../{cfgs,tests,src} | wc -l` -ge 1 ] && REVISION_NB=${REVISION_NB}+ 
    186     NEMO_VALID=${NEMO_VALIDATION_DIR}/W${NEW_CONF}/${CMP_NAM}/${REVISION_NB}/${TEST_NAME} 
     186    #NEMO_VALID=${NEMO_VALIDATION_DIR}/W${NEW_CONF}/${CMP_NAM}/${REVISION_NB}/${TEST_NAME} 
     187    NEMO_VALID=${NEMO_VALIDATION_DIR}/${CMP_NAM}/${REVISION_NB}/${NEW_CONF/%_ST//}/${TEST_NAME} 
    187188} 
    188189 
  • utils/CI/sette_ticket2673/param.cfg

    r14861 r14867  
    4141# 
    4242# RUN setup 
    43 # generique batch scrip prefix name if MPMD set to true/false 
     43# generic batch scrip prefix name if MPMD set to true/false 
    4444JOB_PREFIX_MPMD=${SETTE_JOB_PREFIX_MPMD:-batch-mpmd} 
    4545JOB_PREFIX_NOMPMD=${SETTE_JOB_PREFIX_NOMPMD:-batch} 
    4646# ------------------------------------------------------------------------------------------ 
    4747# 
    48 # MISCELENIOUS 
     48# MISCELLANEOUS 
    4949# command for svn (some people use git svn)  
    5050# used in sette_rpt and in all_function to display revision and build correct repository name 
  • utils/CI/sette_ticket2673/sette.sh

    r14861 r14867  
    44SETTE_DIR=$(cd $(dirname "$0"); pwd) 
    55MAIN_DIR=$(dirname $SETTE_DIR) 
     6export CMPL_CORES=8            # Number of threads to use for compiling 
     7dry_run=0 
    68# 
    79# controls for some common namelist, run-time options: 
     
    1012export USING_ICEBERGS='yes'    # Default: yes => set ln_icebergs=.true. ; use -i to disable 
    1113export USING_EXTRA_HALO='yes'  # Default: yes => set nn_hls=2           ; use -e to set nn_hls=1 
     14export USING_COLLECTIVES='yes' # Default: yes => set nn_comm=2          ; use -C to set nn_comm=1 
    1215export USING_TILING='yes'      # Default: yes => set ln_tile=.true.     ; use -t to disable 
    1316                               #    Note: yes also ensures nn_hls=2 but -t will not alter nn_hls  
     
    3033# Parse command-line arguments 
    3134if [ $# -gt 0 ]; then 
    32   while getopts n:x:v:cshTzqQteiAFX option; do  
     35  while getopts n:x:v:cdshTzqQteiACFX option; do  
    3336     case $option in 
    3437        c) export SETTE_CLEAN_CONFIGS='yes' 
    3538           export SETTE_SYNC_CONFIGS='yes' 
    3639           echo "-c: Configuration $SETTE_TEST_CONFIGS will be cleaned; this option enforces also synchronisation" 
     40           echo "";; 
     41        d) dry_run=1 
    3742           echo "";; 
    3843        s) export SETTE_SYNC_CONFIGS='yes' 
     
    6570           echo "-i: ln_icebergs will be set to false" 
    6671           echo "";; 
    67    z) export USING_NOSIGNED0='no' 
     72        C) export USING_COLLECTIVES='no' 
     73           echo "-C: nn_comm will be set to 1" 
     74           echo "";; 
     75        z) export USING_NOSIGNED0='no' 
    6876           echo "-z: key_nosignedzero will NOT be activated" 
    6977           echo "";; 
    70    q) export USING_QCO='no' 
     78        q) export USING_QCO='no' 
    7179           echo "-q: key_qco and key_linssh will NOT be activated" 
    7280           echo "";; 
    73    Q) export USING_RK3='no' 
     81        Q) export USING_RK3='no' 
    7482           echo "-Q: key_qco and key_RK3 will not be activated" 
    7583           echo "    This is the curent default for now since RK3 is not ready" 
     
    8997               echo '-e set nn_hls=1 (default: nn_hls=2)' 
    9098               echo '-i set ln_icebergs false (default: true)' 
     99               echo '-C set nn_comm=1 (default: nn_comm=2 ==> use MPI3 collective comms)' 
    91100               echo '-z to remove the key_nosignedzero key (default: added)' 
    92101               echo '-q to remove the key_qco key (default: added)' 
     
    98107               echo '-x "TEST_type TEST_type ..." to specify particular types of test (RESTART is mandatory)' 
    99108               echo '-v "subdir" optional validation record subdirectory to be created below NEMO_VALIDATION_DIR' 
     109               echo '-d to perform a dryrun to simply report what settings will be used' 
    100110               echo '-c to clean each configuration' 
    101111               echo '-s to synchronise the sette MY_SRC and EXP00 with the reference MY_SRC and EXPREF'; exit 42 ;; 
     
    150160 fi 
    151161 export NEMO_VALIDATION_DIR=$NEMO_VALIDATION_DIR/$SETTE_SUB_VAL 
    152  if [ -d $NEMO_VALIDATION_REF/$SETTE_SUB_VAL ] ; then 
    153   while true; do 
    154       read -p "$NEMO_VALIDATION_REF/$SETTE_SUB_VAL exists. Do you wish to use it as a reference? " yn 
    155       case $yn in 
    156           [Yy]* ) export $NEMO_VALIDATION_REF-$NEMO_VALIDATION_REF/$SETTE_SUB_VAL; break;; 
    157           [Nn]* ) exit;; 
    158           * ) echo "Please answer yes or no.";; 
    159       esac 
    160   done 
    161  fi 
    162162fi 
    163163 
     
    172172printf "%-33s : %s\n" USING_EXTRA_HALO $USING_EXTRA_HALO 
    173173printf "%-33s : %s\n" USING_TILING $USING_TILING 
     174printf "%-33s : %s\n" USING_COLLECTIVES $USING_COLLECTIVES 
    174175printf "%-33s : %s\n" USING_NOSIGNED0 $USING_NOSIGNED0 
    175176printf "%-33s : %s\n" USING_QCO $USING_QCO 
     
    187188# 
    188189if [ ${USING_MPMD} == "yes" ] && [ ${USING_XIOS} == "no" ] ; then echo "Incompatible choices. MPMD mode requires the XIOS server" ; exit ; fi 
     190 
     191if [ ${dry_run} -eq 1 ] ; then echo "dryrun only: no tests performed" ; exit ; fi 
    189192 
    190193# run sette on reference configuration 
  • utils/CI/sette_ticket2673/sette_reference-configurations.sh

    r14861 r14867  
    150150    clean_config GYRE_PISCES GYRE_PISCES_ST 'cfgs' 
    151151    # 
    152     . ./makenemo -m ${CMP_NAM} -n GYRE_PISCES_ST -r GYRE_PISCES -j 8 add_key "${ADD_KEYS}" del_key "${DEL_KEYS}" 
    153     cd ${SETTE_DIR} 
    154     . ./param.cfg 
     152    # GYRE uses linssh so remove key_qco if added by default 
     153    . ./makenemo -m ${CMP_NAM} -n GYRE_PISCES_ST -r GYRE_PISCES -j ${CMPL_CORES} add_key "${ADD_KEYS/key_qco/}" del_key "${DEL_KEYS}" 
     154    cd ${SETTE_DIR} 
    155155    . ./all_functions.sh 
    156156    . ./prepare_exe_dir.sh 
     
    224224    cd ${MAIN_DIR} 
    225225    cd ${SETTE_DIR} 
    226     . ./param.cfg 
    227226    . ./all_functions.sh 
    228227    . ./prepare_exe_dir.sh 
     
    302301    clean_config ORCA2_ICE_PISCES ORCA2_ICE_PISCES_ST 'cfgs' 
    303302    # 
    304     . ./makenemo -m ${CMP_NAM} -n ORCA2_ICE_PISCES_ST -r ORCA2_ICE_PISCES -j 8 add_key "${ADD_KEYS}" del_key "${DEL_KEYS}" 
    305     cd ${SETTE_DIR} 
    306     . ./param.cfg 
     303    . ./makenemo -m ${CMP_NAM} -n ORCA2_ICE_PISCES_ST -r ORCA2_ICE_PISCES -j ${CMPL_CORES} add_key "${ADD_KEYS}" del_key "${DEL_KEYS}" 
     304    cd ${SETTE_DIR} 
    307305    . ./all_functions.sh 
    308306    . ./prepare_exe_dir.sh 
     
    331329    if [ ${USING_EXTRA_HALO} == "no" ]  ; then set_namelist namelist_cfg nn_hls 1 ; fi 
    332330    if [ ${USING_EXTRA_HALO} == "yes" ] ; then set_namelist namelist_cfg nn_hls 2 ; fi 
     331    if [ ${USING_COLLECTIVES} == "no" ]  ; then set_namelist namelist_cfg nn_comm 1 ; fi 
     332    if [ ${USING_COLLECTIVES} == "yes" ] ; then set_namelist namelist_cfg nn_comm 2 ; fi 
    333333    if [ ${USING_TILING} == "no" ]  ; then set_namelist namelist_cfg ln_tile .false. ; fi 
    334334    if [ ${USING_TILING} == "yes" ] ; then set_namelist namelist_cfg ln_tile .true. ; fi 
     
    381381    if [ ${USING_EXTRA_HALO} == "no" ]  ; then set_namelist namelist_cfg nn_hls 1 ; fi 
    382382    if [ ${USING_EXTRA_HALO} == "yes" ] ; then set_namelist namelist_cfg nn_hls 2 ; fi 
     383    if [ ${USING_COLLECTIVES} == "no" ]  ; then set_namelist namelist_cfg nn_comm 1 ; fi 
     384    if [ ${USING_COLLECTIVES} == "yes" ] ; then set_namelist namelist_cfg nn_comm 2 ; fi 
    383385    if [ ${USING_TILING} == "no" ]  ; then set_namelist namelist_cfg ln_tile .false. ; fi 
    384386    if [ ${USING_TILING} == "yes" ] ; then set_namelist namelist_cfg ln_tile .true. ; fi 
     
    430432    cd ${MAIN_DIR} 
    431433    cd ${SETTE_DIR} 
    432     . ./param.cfg 
    433434    . ./all_functions.sh 
    434435    . ./prepare_exe_dir.sh 
     
    455456    if [ ${USING_EXTRA_HALO} == "no" ]  ; then set_namelist namelist_cfg nn_hls 1 ; fi 
    456457    if [ ${USING_EXTRA_HALO} == "yes" ] ; then set_namelist namelist_cfg nn_hls 2 ; fi 
     458    if [ ${USING_COLLECTIVES} == "no" ]  ; then set_namelist namelist_cfg nn_comm 1 ; fi 
     459    if [ ${USING_COLLECTIVES} == "yes" ] ; then set_namelist namelist_cfg nn_comm 2 ; fi 
    457460    if [ ${USING_TILING} == "no" ]  ; then set_namelist namelist_cfg ln_tile .false. ; fi 
    458461    if [ ${USING_TILING} == "yes" ] ; then set_namelist namelist_cfg ln_tile .true. ; fi 
     
    505508    if [ ${USING_EXTRA_HALO} == "no" ]  ; then set_namelist namelist_cfg nn_hls 1 ; fi 
    506509    if [ ${USING_EXTRA_HALO} == "yes" ] ; then set_namelist namelist_cfg nn_hls 2 ; fi 
     510    if [ ${USING_COLLECTIVES} == "no" ]  ; then set_namelist namelist_cfg nn_comm 1 ; fi 
     511    if [ ${USING_COLLECTIVES} == "yes" ] ; then set_namelist namelist_cfg nn_comm 2 ; fi 
    507512    if [ ${USING_TILING} == "no" ]  ; then set_namelist namelist_cfg ln_tile .false. ; fi 
    508513    if [ ${USING_TILING} == "yes" ] ; then set_namelist namelist_cfg ln_tile .true. ; fi 
     
    551556    clean_config ORCA2_OFF_PISCES ORCA2_OFF_PISCES_ST 'cfgs' 
    552557    # 
    553     . ./makenemo -m ${CMP_NAM} -n ORCA2_OFF_PISCES_ST -r ORCA2_OFF_PISCES -j 8 add_key "${ADD_KEYS}" del_key "${DEL_KEYS}" 
    554     cd ${SETTE_DIR} 
    555     . ./param.cfg 
     558    # ORCA2_OFF_PISCES uses linssh so remove key_qco if added by default 
     559    . ./makenemo -m ${CMP_NAM} -n ORCA2_OFF_PISCES_ST -r ORCA2_OFF_PISCES -j ${CMPL_CORES} add_key "${ADD_KEYS/key_qco/}" del_key "${DEL_KEYS}" 
     560    cd ${SETTE_DIR} 
    556561    . ./all_functions.sh 
    557562    . ./prepare_exe_dir.sh 
     
    582587    set_namelist namelist_pisces_cfg ln_pisdmp .false. 
    583588    if [ ${USING_TIMING} == "yes" ]  ; then set_namelist namelist_cfg ln_timing .true. ; fi 
     589    if [ ${USING_COLLECTIVES} == "no" ]  ; then set_namelist namelist_cfg nn_comm 1 ; fi 
     590    if [ ${USING_COLLECTIVES} == "yes" ] ; then set_namelist namelist_cfg nn_comm 2 ; fi 
    584591    if [ ${USING_MPMD} == "yes" ] ; then 
    585592       set_xio_using_server iodef.xml true 
     
    623630    set_namelist namelist_pisces_cfg ln_pisdmp .false. 
    624631    if [ ${USING_TIMING} == "yes" ]  ; then set_namelist namelist_cfg ln_timing .true. ; fi 
     632    if [ ${USING_COLLECTIVES} == "no" ]  ; then set_namelist namelist_cfg nn_comm 1 ; fi 
     633    if [ ${USING_COLLECTIVES} == "yes" ] ; then set_namelist namelist_cfg nn_comm 2 ; fi 
    625634    if [ ${USING_MPMD} == "yes" ] ; then 
    626635       set_xio_using_server iodef.xml true 
     
    640649    cd ${MAIN_DIR} 
    641650    cd ${SETTE_DIR} 
    642     . ./param.cfg 
    643651    . ./all_functions.sh 
    644652    . ./prepare_exe_dir.sh 
     
    668676    set_namelist namelist_pisces_cfg ln_pisdmp .false. 
    669677    if [ ${USING_TIMING} == "yes" ]  ; then set_namelist namelist_cfg ln_timing .true. ; fi 
     678    if [ ${USING_COLLECTIVES} == "no" ]  ; then set_namelist namelist_cfg nn_comm 1 ; fi 
     679    if [ ${USING_COLLECTIVES} == "yes" ] ; then set_namelist namelist_cfg nn_comm 2 ; fi 
    670680    if [ ${USING_MPMD} == "yes" ] ; then 
    671681       set_xio_using_server iodef.xml true 
     
    706716    set_namelist namelist_pisces_cfg ln_pisdmp .false.  
    707717    if [ ${USING_TIMING} == "yes" ]  ; then set_namelist namelist_cfg ln_timing .true. ; fi 
     718    if [ ${USING_COLLECTIVES} == "no" ]  ; then set_namelist namelist_cfg nn_comm 1 ; fi 
     719    if [ ${USING_COLLECTIVES} == "yes" ] ; then set_namelist namelist_cfg nn_comm 2 ; fi 
    708720    if [ ${USING_MPMD} == "yes" ] ; then 
    709721       set_xio_using_server iodef.xml true 
     
    737749    clean_config AMM12 AMM12_ST 'cfgs' 
    738750    # 
    739     . ./makenemo -m ${CMP_NAM} -n AMM12_ST -r AMM12 -j 8 add_key "${ADD_KEYS}" del_key "${DEL_KEYS}" 
    740     cd ${SETTE_DIR} 
    741     . ./param.cfg 
     751    . ./makenemo -m ${CMP_NAM} -n AMM12_ST -r AMM12 -j ${CMPL_CORES} add_key "${ADD_KEYS}" del_key "${DEL_KEYS}" 
     752    cd ${SETTE_DIR} 
    742753    . ./all_functions.sh 
    743754    . ./prepare_exe_dir.sh 
     
    804815    cd ${MAIN_DIR} 
    805816    cd ${SETTE_DIR} 
    806     . ./param.cfg 
    807817    . ./all_functions.sh 
    808818    . ./prepare_exe_dir.sh 
     
    877887    clean_config ORCA2_SAS_ICE ORCA2_SAS_ICE_ST 'cfgs' 
    878888    # 
    879     . ./makenemo -m ${CMP_NAM} -n ORCA2_SAS_ICE_ST -r ORCA2_SAS_ICE -j 8 add_key "${ADD_KEYS}" del_key "${DEL_KEYS}" 
    880     cd ${SETTE_DIR} 
    881     . ./param.cfg 
     889    # ORCA2_SAS_ICE uses linssh so remove key_qco if added by default 
     890    . ./makenemo -m ${CMP_NAM} -n ORCA2_SAS_ICE_ST -r ORCA2_SAS_ICE -j ${CMPL_CORES} add_key "${ADD_KEYS/key_qco/}" del_key "${DEL_KEYS}" 
     891    cd ${SETTE_DIR} 
    882892    . ./all_functions.sh 
    883893    . ./prepare_exe_dir.sh 
     
    953963    cd ${MAIN_DIR} 
    954964    cd ${SETTE_DIR} 
    955     . ./param.cfg 
    956965    . ./all_functions.sh 
    957966    . ./prepare_exe_dir.sh 
     
    10291038    clean_config ORCA2_ICE_PISCES ORCA2_ICE_OBS_ST 'cfgs' 
    10301039    # 
    1031     . ./makenemo -m ${CMP_NAM} -n ORCA2_ICE_OBS_ST -r ORCA2_ICE_PISCES -d "OCE ICE"  -j 8 add_key "key_asminc ${ADD_KEYS}" del_key "key_top ${DEL_KEYS}" 
    1032     cd ${SETTE_DIR} 
    1033     . ./param.cfg 
     1040    . ./makenemo -m ${CMP_NAM} -n ORCA2_ICE_OBS_ST -r ORCA2_ICE_PISCES -d "OCE ICE"  -j ${CMPL_CORES} add_key "key_asminc ${ADD_KEYS}" del_key "key_top ${DEL_KEYS}" 
     1041    cd ${SETTE_DIR} 
    10341042    . ./all_functions.sh 
    10351043    . ./prepare_exe_dir.sh 
     
    11531161    clean_config AGRIF_DEMO AGRIF_DEMO_ST 'cfgs' 
    11541162    # 
    1155     . ./makenemo -m ${CMP_NAM} -n AGRIF_DEMO_ST -r AGRIF_DEMO -j 8 add_key "${ADD_KEYS}" del_key "${DEL_KEYS}" 
    1156     cd ${SETTE_DIR} 
    1157     . ./param.cfg 
     1163    . ./makenemo -m ${CMP_NAM} -n AGRIF_DEMO_ST -r AGRIF_DEMO -j ${CMPL_CORES} add_key "${ADD_KEYS}" del_key "${DEL_KEYS}" 
     1164    cd ${SETTE_DIR} 
    11581165    . ./all_functions.sh 
    11591166    . ./prepare_exe_dir.sh 
     
    12671274    cd ${MAIN_DIR} 
    12681275    cd ${SETTE_DIR} 
    1269     . ./param.cfg 
    12701276    . ./all_functions.sh 
    12711277    . ./prepare_exe_dir.sh 
     
    13701376    cd ${MAIN_DIR} 
    13711377    cd ${SETTE_DIR} 
    1372     . ./param.cfg 
    13731378    . ./all_functions.sh 
    13741379    . ./prepare_exe_dir.sh 
     
    14111416    clean_config AGRIF_DEMO AGRIF_DEMO_NOAGRIF_ST 'cfgs' 
    14121417    # 
    1413     . ./makenemo -m ${CMP_NAM} -n AGRIF_DEMO_NOAGRIF_ST -r AGRIF_DEMO -j 8 add_key "${ADD_KEYS}" del_key "key_agrif ${DEL_KEYS}" 
    1414     cd ${SETTE_DIR} 
    1415     . ./param.cfg 
     1418    . ./makenemo -m ${CMP_NAM} -n AGRIF_DEMO_NOAGRIF_ST -r AGRIF_DEMO -j ${CMPL_CORES} add_key "${ADD_KEYS}" del_key "key_agrif ${DEL_KEYS}" 
     1419    cd ${SETTE_DIR} 
    14161420    . ./all_functions.sh 
    14171421    . ./prepare_exe_dir.sh 
     
    14601464    clean_config WED025 WED025_ST 'cfgs' 
    14611465    # 
    1462     . ./makenemo -m ${CMP_NAM} -n WED025_ST -r WED025 -j 8 add_key "${ADD_KEYS}" del_key "${DEL_KEYS}" 
    1463     cd ${SETTE_DIR} 
    1464     . ./param.cfg 
     1466    # WED025 uses ln_hpg_isf so remove key_qco if added by default 
     1467    . ./makenemo -m ${CMP_NAM} -n WED025_ST -r WED025 -j ${CMPL_CORES} add_key "${ADD_KEYS/key_qco/}" del_key "${DEL_KEYS}" 
     1468    cd ${SETTE_DIR} 
    14651469    . ./all_functions.sh 
    14661470    . ./prepare_exe_dir.sh 
     
    15301534    cd ${MAIN_DIR} 
    15311535    cd ${SETTE_DIR} 
    1532     . ./param.cfg 
    15331536    . ./all_functions.sh 
    15341537    . ./prepare_exe_dir.sh 
  • utils/CI/sette_ticket2673/sette_rpt.sh

    r14844 r14867  
    1313function get_dorv() { 
    1414  if [ $lastchange == 'old' ] ; then  
    15     dorv=`ls -1rt $vdir/$nam/$mach/ | tail -1l ` 
     15    dorv=`ls -1rt $vdir/$mach/ | tail -1l ` 
    1616    dorv=`echo $dorv | sed -e 's:.*/::'` 
    17     dorv2=`ls -1rt $vdir/$nam2/$mach/ 2>/dev/null | tail -1l ` 
     17    dorv2=`ls -1rt $vdir/$mach/ 2>/dev/null | tail -1l ` 
    1818    dorv2=`echo $dorv2 | sed -e 's:.*/::'` 
    1919  else 
     
    4444# 
    4545# check if directory is here 
    46   if [ ! -d $vdir/$nam/$mach/$dorv ]; then 
     46  if [ ! -d $vdir/$mach/$dorv/$nam ]; then 
    4747    printf "%-27s %s %s\n" $nam  " directory                  MISSING : " $dorv 
    4848    return 
    4949  fi 
    5050 
    51   if [ -d $vdir/$nam/$mach/$dorv ]; then 
     51  if [ -d $vdir/$mach/$dorv/$nam ]; then 
    5252    # check ocean output 
    5353    runtest $vdir $nam $pass RST 
    5454    # 
    5555    # run restartibility test 
    56     f1o=$vdir/$nam/$mach/$dorv/LONG/ocean.output 
    57     f1s=$vdir/$nam/$mach/$dorv/LONG/run.stat 
    58     f1t=$vdir/$nam/$mach/$dorv/LONG/tracer.stat 
    59     f2o=$vdir/$nam/$mach/$dorv/SHORT/ocean.output 
    60     f2s=$vdir/$nam/$mach/$dorv/SHORT/run.stat 
    61     f2t=$vdir/$nam/$mach/$dorv/SHORT/tracer.stat 
     56    f1o=$vdir/$mach/$dorv/$nam/LONG/ocean.output 
     57    f1s=$vdir/$mach/$dorv/$nam/LONG/run.stat 
     58    f1t=$vdir/$mach/$dorv/$nam/LONG/tracer.stat 
     59    f2o=$vdir/$mach/$dorv/$nam/SHORT/ocean.output 
     60    f2s=$vdir/$mach/$dorv/$nam/SHORT/run.stat 
     61    f2t=$vdir/$mach/$dorv/$nam/SHORT/tracer.stat 
    6262 
    6363    if  [ ! -f $f1s ] &&  [ ! -f $f1t ] ; then  
     
    150150# 
    151151# check if directory is here 
    152   if [ ! -d $vdir/$nam/$mach/$dorv ]; then 
     152  if [ ! -d $vdir/$mach/$dorv/$nam ]; then 
    153153    printf "%-27s %s %s\n" $nam  " directory                  MISSING : " $dorv 
    154154    return 
    155155  fi 
    156156# 
    157   if [ -d $vdir/$nam/$mach/$dorv ]; then 
     157  if [ -d $vdir/$mach/$dorv/$nam ]; then 
    158158    # check ocean output 
    159159    runtest $vdir $nam $pass REPRO 
    160160    # 
    161161    # check reproducibility 
    162     rep1=`ls -1rt $vdir/$nam/$mach/$dorv/ | grep REPRO | tail -2l | head -1 ` 
    163     rep2=`ls -1rt $vdir/$nam/$mach/$dorv/ | grep REPRO | tail -1l` 
     162    rep1=`ls -1rt $vdir/$mach/$dorv/$nam/ | grep REPRO | tail -2l | head -1 ` 
     163    rep2=`ls -1rt $vdir/$mach/$dorv/$nam/ | grep REPRO | tail -1l` 
    164164    if [ $rep1 == $rep2 ]; then 
    165165       rep2='' 
    166166    fi 
    167     f1o=$vdir/$nam/$mach/$dorv/$rep1/ocean.output 
    168     f1s=$vdir/$nam/$mach/$dorv/$rep1/run.stat 
    169     f1t=$vdir/$nam/$mach/$dorv/$rep1/tracer.stat 
    170     f2o=$vdir/$nam/$mach/$dorv/$rep2/ocean.output 
    171     f2s=$vdir/$nam/$mach/$dorv/$rep2/run.stat 
    172     f2t=$vdir/$nam/$mach/$dorv/$rep2/tracer.stat 
     167    f1o=$vdir/$mach/$dorv/$nam/$rep1/ocean.output 
     168    f1s=$vdir/$mach/$dorv/$nam/$rep1/run.stat 
     169    f1t=$vdir/$mach/$dorv/$nam/$rep1/tracer.stat 
     170    f2o=$vdir/$mach/$dorv/$nam/$rep2/ocean.output 
     171    f2s=$vdir/$mach/$dorv/$nam/$rep2/run.stat 
     172    f2t=$vdir/$mach/$dorv/$nam/$rep2/tracer.stat 
    173173 
    174174    if  [ ! -f $f1s ] && [ ! -f $f1t ] ; then  
     
    257257# 
    258258# check if reference directory is present 
    259   if [ ! -d $vdirref/$nam/$mach/$dorvref ]; then 
     259  if [ ! -d $vdirref/$mach/$dorv/$namref ]; then 
    260260    printf "%-27s %s\n" $nam " REFERENCE directory at $dorvref is MISSING" 
    261261    return 
    262262  fi 
    263   if [ ! -d $vdir/$nam/$mach/$dorv ]; then 
     263  if [ ! -d $vdir/$mach/$dorv/$nam ]; then 
    264264    printf "%-27s %s\n" $nam " VALID     directory at $dorv is MISSING" 
    265265    return 
     
    267267 
    268268# 
    269   if [ -d $vdir/$nam/$mach/$dorv ]; then 
    270     f1s=$vdir/$nam/$mach/$dorv/LONG/run.stat 
    271     f1t=$vdir/$nam/$mach/$dorv/LONG/tracer.stat 
    272     f2s=$vdirref/$nam/$mach/$dorvref/LONG/run.stat 
    273     f2t=$vdirref/$nam/$mach/$dorvref/LONG/tracer.stat 
     269  if [ -d $vdir/$mach/$dorv/$nam ]; then 
     270    f1s=$vdir/$mach/$dorv/$nam/LONG/run.stat 
     271    f1t=$vdir/$mach/$dorv/$nam/LONG/tracer.stat 
     272    f2s=$vdirref/$mach/$dorv/$namref/LONG/run.stat 
     273    f2t=$vdirref/$mach/$dorv/$namref/LONG/tracer.stat 
    274274    if  [ ! -f $f1s ] && [ ! -f $f1t ] ; then 
    275275      printf "%-20s %s\n" $nam " incomplete test"; 
     
    343343# 
    344344# check if reference directory is present 
    345   if [ ! -d $vdirref/$nam/$mach/$dorvref ]; then 
     345  if [ ! -d $vdirref/$mach/$dorv/$namref ]; then 
    346346    return 
    347347  fi 
    348   if [ ! -d $vdir/$nam/$mach/$dorv ]; then 
     348  if [ ! -d $vdir/$mach/$dorv/$nam ]; then 
    349349    return 
    350350  fi 
    351351 
    352352# 
    353   if [ -d $vdir/$nam/$mach/$dorv ]; then 
    354     f1a=$vdir/$nam/$mach/$dorv/LONG/timing.output 
    355     f2a=$vdirref/$nam/$mach/$dorvref/LONG/timing.output 
     353  if [ -d $vdir/$mach/$dorv/$nam ]; then 
     354    f1a=$vdir/$mach/$dorv/$nam/LONG/timing.output 
     355    f2a=$vdirref/$mach/$dorv/$namref/LONG/timing.output 
    356356# 
    357357# Report average CPU time differences (if available) 
     
    390390# no print needed if the repository is not here (already catch before) 
    391391# 
    392   if [ -d $vdir/$nam/$mach/$dorv/ ]; then 
     392  if [ -d $vdir/$mach/$dorv/$nam/ ]; then 
    393393    # 
    394394    # apply check for all ttype directory 
    395     rep1=$(ls -rt $vdir/$nam/$mach/$dorv/ | grep -E $ttype) 
     395    rep1=$(ls -rt $vdir/$mach/$dorv/$nam/ | grep -E $ttype) 
    396396    for tdir in $rep1 ; do 
    397        f1o=$vdir/$nam/$mach/$dorv/$tdir/ocean.output 
     397       f1o=$vdir/$mach/$dorv/$nam/$tdir/ocean.output 
    398398       if  [ ! -f $f1o ] ; then 
    399399          if [ $pass == 0 ]; then printf "%-27s %s %s\n" $nam " ocean.output               MISSING : " $dorv ; fi 
     
    430430  get_dorv 
    431431# 
    432   rep=`ls -1rt $vdir/$nam/$mach/$dorv/ |  tail -1l` 
    433   f1s=${vdir}/${nam}/${mach}/${dorv}/${rep}/run.stat 
    434   f2s=${vdir}/${nam2}/${mach}/${dorv2}/${rep}/run.stat 
     432  rep=`ls -1rt $vdir/$mach/$dorv/$nam/ |  tail -1l` 
     433  f1s=${vdir}/${mach}/${dorv}/${nam}/${rep}/run.stat 
     434  f2s=${vdir}/${mach}/${dorv2}/${nam2}/${rep}/run.stat 
    435435# 
    436436  if  [ -f $f1s ] && [ -f $f2s ] ; then 
     
    470470 
    471471  mach=${COMPILER} 
    472   NEMO_VALID=${NEMO_VALIDATION_DIR} 
    473   NEMO_VALID_REF=${NEMO_VALIDATION_REF} 
    474 # 
    475   if [ ! -d $NEMO_VALID ]; then 
    476     echo "$NEMO_VALID validation directory not found" 
    477     exit 
    478   fi 
    479 # 
    480 # 
    481 # Show current revision tag and branch name 
    482 # 
    483 echo "" 
    484 lastchange=`${SVN_CMD} info ${MAIN_DIR} | grep 'Last Changed Rev' | awk '{print $NF}'` 
    485 revision=`${SVN_CMD} info ${MAIN_DIR} | grep 'Revision' | awk '{print $NF}'` 
    486 branchname=`${SVN_CMD} info ${MAIN_DIR} | grep ^URL | awk -F ipsl/forge/projets/nemo/svn/ '{print $NF}'` 
    487 echo "Current code is : $branchname @ r$revision  ( last change @ r$lastchange )" 
    488 [ `${SVN_CMD} status -q ${MAIN_DIR}/{cfgs,tests,src} | wc -l` -ge 1 ] && lastchange=${lastchange}+ 
    489  
    490 # overwrite revision or compiler 
     472# overwrite revision (later) or compiler 
    491473  if [ $# -gt 0 ]; then 
    492     while getopts r:c:h option; do  
     474    while getopts r:c:v:h option; do  
    493475       case $option in 
    494476          c) mach=$OPTARG;; 
    495477          r) rev=$OPTARG;; 
     478          v) SETTE_SUB_VAL=$OPTARG;; 
    496479          h | *) echo '' 
    497480                 echo 'sette_rpt.sh : '  
     
    501484                 echo ' -r REVISION_number :' 
    502485                 echo '     display sette results for the specified revision (set old for the latest revision available for each config)' 
     486                 echo ' -v sub_dir :' 
     487                 echo '     validation sub-directory below NEMO_VALIDATION_DIR' 
    503488                 echo '' 
    504489                 exit 42;; 
     
    506491    done 
    507492    shift $((OPTIND - 1)) 
    508 fi 
    509  
     493  fi 
    510494# if $1 (remaining arguments) 
    511 if [[ ! -z $1 ]] ; then rev=$1 ; fi 
     495  if [[ ! -z $1 ]] ; then rev=$1 ; fi 
     496 
     497  if [ ! -z $SETTE_SUB_VAL ] ; then 
     498   export NEMO_VALIDATION_DIR=$NEMO_VALIDATION_DIR/$SETTE_SUB_VAL 
     499   if [ -d $NEMO_VALIDATION_REF/$SETTE_SUB_VAL ] ; then 
     500    while true; do 
     501        read -p "$NEMO_VALIDATION_REF/$SETTE_SUB_VAL exists. Do you wish to use it as a reference? " yn 
     502        case $yn in 
     503            [Yy]* ) export $NEMO_VALIDATION_REF/$SETTE_SUB_VAL; break;; 
     504            [Nn]* ) exit;; 
     505            * ) echo "Please answer yes or no.";; 
     506        esac 
     507    done 
     508   fi 
     509  fi 
     510  NEMO_VALID=${NEMO_VALIDATION_DIR} 
     511  NEMO_VALID_REF=${NEMO_VALIDATION_REF} 
     512# 
     513  if [ ! -d $NEMO_VALID ]; then 
     514    echo "$NEMO_VALID validation directory not found" 
     515    exit 
     516  fi 
     517# 
     518# 
     519# Show current revision tag and branch name 
     520# 
     521echo "" 
     522lastchange=`${SVN_CMD} info ${MAIN_DIR} | grep 'Last Changed Rev' | awk '{print $NF}'` 
     523revision=`${SVN_CMD} info ${MAIN_DIR} | grep 'Revision' | awk '{print $NF}'` 
     524branchname=`${SVN_CMD} info ${MAIN_DIR} | grep ^URL | awk -F ipsl/forge/projets/nemo/svn/ '{print $NF}'` 
     525echo "Current code is : $branchname @ r$revision  ( last change @ r$lastchange )" 
     526[ `${SVN_CMD} status -q ${MAIN_DIR}/{cfgs,tests,src} | wc -l` -ge 1 ] && lastchange=${lastchange}+ 
    512527 
    513528# by default use the current lastchanged revision 
     
    541556 echo "" 
    542557 echo "   !----restart----!   " 
    543  for restart_test in WGYRE_PISCES_ST WORCA2_ICE_PISCES_ST WORCA2_OFF_PISCES_ST WAMM12_ST WORCA2_SAS_ICE_ST WAGRIF_DEMO_ST WWED025_ST WISOMIP+_ST WOVERFLOW_ST WLOCK_EXCHANGE_ST WVORTEX_ST WICE_AGRIF_ST WSWG_ST 
     558 for restart_test in GYRE_PISCES ORCA2_ICE_PISCES ORCA2_OFF_PISCES AMM12 ORCA2_SAS_ICE AGRIF_DEMO WED025 ISOMIP+ OVERFLOW LOCK_EXCHANGE VORTEX ICE_AGRIF SWG 
    544559 do 
    545560   resttest $NEMO_VALID $restart_test $pass 
     
    549564 echo "" 
    550565 echo "   !----repro----!   " 
    551  for repro_test in WGYRE_PISCES_ST WORCA2_ICE_PISCES_ST WORCA2_OFF_PISCES_ST WAMM12_ST WORCA2_SAS_ICE_ST WORCA2_ICE_OBS_ST WAGRIF_DEMO_ST WWED025_ST WISOMIP+_ST WVORTEX_ST WICE_AGRIF_ST WSWG_ST 
     566 for repro_test in GYRE_PISCES ORCA2_ICE_PISCES ORCA2_OFF_PISCES AMM12 ORCA2_SAS_ICE ORCA2_ICE_OBS AGRIF_DEMO WED025 ISOMIP+ VORTEX ICE_AGRIF SWG 
    552567 do 
    553568   reprotest $NEMO_VALID $repro_test $pass 
     
    576591     echo "REFERENCE directory : $NEMO_VALID_REF at rev $NEMO_REV_REF" 
    577592     echo '' 
    578      checklist=(WGYRE_PISCES_ST WORCA2_ICE_PISCES_ST WORCA2_OFF_PISCES_ST WAMM12_ST WORCA2_SAS_ICE_ST WAGRIF_DEMO_ST WWED025_ST WISOMIP+_ST WVORTEX_ST WICE_AGRIF_ST WOVERFLOW_ST WLOCK_EXCHANGE_ST WSWG_ST) 
     593     checklist=(GYRE_PISCES ORCA2_ICE_PISCES ORCA2_OFF_PISCES AMM12 ORCA2_SAS_ICE AGRIF_DEMO WED025 ISOMIP+ VORTEX ICE_AGRIF OVERFLOW LOCK_EXCHANGE SWG) 
    579594     for repro_test in ${checklist[@]} 
    580595     do 
  • utils/CI/sette_ticket2673/sette_test-cases.sh

    r14861 r14867  
    151151    sync_config  OVERFLOW OVERFLOW_ST 'tests' 
    152152    # 
    153     . ./makenemo -m ${CMP_NAM} -n OVERFLOW_ST -a OVERFLOW -j 8 add_key "${ADD_KEYS}" del_key "${DEL_KEYS}" 
    154     cd ${SETTE_DIR} 
    155     . ./param.cfg 
     153    . ./makenemo -m ${CMP_NAM} -n OVERFLOW_ST -a OVERFLOW -j ${CMPL_CORES} add_key "${ADD_KEYS}" del_key "${DEL_KEYS}" 
     154    cd ${SETTE_DIR} 
    156155    . ./all_functions.sh 
    157156    . ./prepare_exe_dir.sh 
     
    224223         ## 
    225224        cd ${SETTE_DIR} 
    226         . ./param.cfg 
    227225        . ./all_functions.sh 
    228226        . ./prepare_exe_dir.sh 
     
    273271    sync_config  LOCK_EXCHANGE LOCK_EXCHANGE_ST 'tests' 
    274272    # 
    275     . ./makenemo -m ${CMP_NAM} -n LOCK_EXCHANGE_ST -a LOCK_EXCHANGE -j 8 add_key "${ADD_KEYS}" del_key "${DEL_KEYS}" 
    276     cd ${SETTE_DIR} 
    277     . ./param.cfg 
     273    . ./makenemo -m ${CMP_NAM} -n LOCK_EXCHANGE_ST -a LOCK_EXCHANGE -j ${CMPL_CORES} add_key "${ADD_KEYS}" del_key "${DEL_KEYS}" 
     274    cd ${SETTE_DIR} 
    278275    . ./all_functions.sh 
    279276    . ./prepare_exe_dir.sh 
     
    346343        ##   
    347344        cd ${SETTE_DIR} 
    348         . ./param.cfg 
    349345        . ./all_functions.sh 
    350346        . ./prepare_exe_dir.sh 
     
    397393    sync_config  VORTEX VORTEX_ST 'tests' 
    398394    # 
    399     . ./makenemo -m ${CMP_NAM} -n VORTEX_ST -a VORTEX -j 8  add_key "${ADD_KEYS}" del_key "${DEL_KEYS}" 
    400     cd ${SETTE_DIR} 
    401     . ./param.cfg 
     395    . ./makenemo -m ${CMP_NAM} -n VORTEX_ST -a VORTEX -j ${CMPL_CORES}  add_key "${ADD_KEYS}" del_key "${DEL_KEYS}" 
     396    cd ${SETTE_DIR} 
    402397    . ./all_functions.sh 
    403398    . ./prepare_exe_dir.sh 
     
    482477    cd ${MAIN_DIR} 
    483478    cd ${SETTE_DIR} 
    484     . ./param.cfg 
    485479    . ./all_functions.sh 
    486480    . ./prepare_exe_dir.sh 
     
    581575    sync_config  ICE_AGRIF ICE_AGRIF_ST 'tests' 
    582576    # 
    583     . ./makenemo -m ${CMP_NAM} -n ICE_AGRIF_ST -a ICE_AGRIF -j 8  add_key "${ADD_KEYS}" del_key "${DEL_KEYS}" 
    584     cd ${SETTE_DIR} 
    585     . ./param.cfg 
     577    # ICE_AGRIF uses linssh so remove key_qco if added by default 
     578    . ./makenemo -m ${CMP_NAM} -n ICE_AGRIF_ST -a ICE_AGRIF -j ${CMPL_CORES}  add_key "${ADD_KEYS/key_qco/}" del_key "${DEL_KEYS}" 
     579    cd ${SETTE_DIR} 
    586580    . ./all_functions.sh 
    587581    . ./prepare_exe_dir.sh 
     
    675669    cd ${MAIN_DIR} 
    676670    cd ${SETTE_DIR} 
    677     . ./param.cfg 
    678671    . ./all_functions.sh 
    679672    . ./prepare_exe_dir.sh 
     
    772765    sync_config  ISOMIP+ ISOMIP+_ST 'tests' 
    773766    # 
    774     . ./makenemo -m ${CMP_NAM} -n ISOMIP+_ST -a ISOMIP+ -j 8 add_key "${ADD_KEYS}" del_key "${DEL_KEYS}" 
    775     cd ${SETTE_DIR} 
    776     . ./param.cfg 
     767    # ISOMIP+ uses ln_hpg_isf so remove key_qco if added by default 
     768    . ./makenemo -m ${CMP_NAM} -n ISOMIP+_ST -a ISOMIP+ -j ${CMPL_CORES} add_key "${ADD_KEYS/key_qco/}" del_key "${DEL_KEYS}" 
     769    cd ${SETTE_DIR} 
    777770    . ./all_functions.sh 
    778771    . ./prepare_exe_dir.sh 
     
    845838    cd ${MAIN_DIR} 
    846839    cd ${SETTE_DIR} 
    847     . ./param.cfg 
    848840    . ./all_functions.sh 
    849841    . ./prepare_exe_dir.sh 
     
    903895# SWG 
    904896# --------- 
    905 if [ ${config} == "SWG" ] && [ ${DO_RESTART} == "1" ] && [ ${NOT_USING_QCO} == "no" ] ;  then 
     897if [ ${config} == "SWG" ] && [ ${DO_RESTART} == "1" ] && [ ${USING_QCO} == "yes" ] ;  then 
    906898## Restartability tests for SWG 
    907899    if [ $( echo ${CMP_NAM} | grep -ic debug ) -eq 1 ] 
     
    922914    sync_config  SWG SWG_ST 'tests' 
    923915    # 
    924     . ./makenemo -m ${CMP_NAM} -n SWG_ST -a SWG -j 8  add_key "${ADD_KEYS}" del_key "${DEL_KEYS}" 
    925     cd ${SETTE_DIR} 
    926     . ./param.cfg 
     916    . ./makenemo -m ${CMP_NAM} -n SWG_ST -a SWG -j ${CMPL_CORES}  add_key "${ADD_KEYS}" del_key "${DEL_KEYS}" 
     917    cd ${SETTE_DIR} 
    927918    . ./all_functions.sh 
    928919    . ./prepare_exe_dir.sh 
     
    984975fi 
    985976 
    986 if [ ${config} == "SWG" ] && [ ${DO_REPRO} == "1" ] && [ ${NOT_USING_QCO} == "no" ] ;  then 
     977if [ ${config} == "SWG" ] && [ ${DO_REPRO} == "1" ] && [ ${USING_QCO} == "yes" ] ;  then 
    987978 
    988979## Reproducibility tests for SWG 
     
    990981    cd ${MAIN_DIR} 
    991982    cd ${SETTE_DIR} 
    992     . ./param.cfg 
    993983    . ./all_functions.sh 
    994984    . ./prepare_exe_dir.sh 
Note: See TracChangeset for help on using the changeset viewer.