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 14244 for utils/CI/sette/sette_test-cases.sh – NEMO

Ignore:
Timestamp:
2020-12-23T10:08:00+01:00 (4 years ago)
Author:
smasson
Message:

sette: merge with sette_wave

File:
1 edited

Legend:

Unmodified
Added
Removed
  • utils/CI/sette/sette_test-cases.sh

    r13790 r14244  
    3131# MPIRUN_FLAG       : flag to run in parallel (MPI) "yes" 
    3232#                           to run in sequential mode (NB_PROC = 1) "no" 
    33 # USING_XIOS        : flag to control the activation of key_iomput 
    34 #                      "yes" to compile using key_iomput and link to the external XIOS library 
    35 #                      "no"  to compile without key_iomput and link to the old IOIPSL library 
     33# USING_XIOS        : flag to control the activation of key_xios 
     34#                      "yes" to compile using key_xios and link to the external XIOS library 
     35#                      "no"  to compile without key_xios and link to the old IOIPSL library 
    3636# USING_MPMD        : flag to control the use of stand-alone IO servers 
    3737#                     requires USING_XIOS="yes" 
     
    4040# NUM_XIOSERVERS    : number of stand-alone IO servers to employ 
    4141#                     set to zero if USING_MPMD="no" 
     42# USING_MPI3        : flag to control the activation of key_mpi3 
     43#                     "yes" to use the MPI3 neighbourhood collectives for halo exchange 
     44#                     "no" to use standard point-to-point communications for halo exchange 
     45# USING_LOOP_FUSION : flag to control the activation of key_loop_fusion 
     46#                     "yes" to use the loop fusion adv routines when halo = 2 
     47#                     "no" to use standard adv routines 
    4248# 
    4349# Principal script is sette_test-cases.sh, that calls  
     
    108114if [ ${USING_XIOS} == "yes" ]  
    109115 then  
    110    export ADD_KEYS="${ADD_KEYS} key_iomput" 
     116   export ADD_KEYS="${ADD_KEYS} key_xios" 
    111117 else 
    112    export DEL_KEYS="${DEL_KEYS} key_iomput" 
     118   export DEL_KEYS="${DEL_KEYS} key_xios" 
    113119fi 
    114120# 
     
    118124 else 
    119125   export DEL_KEYS="${DEL_KEYS} key_nosignedzero"  
     126fi 
     127# 
     128if [ ${USING_MPI3} == "yes" ] 
     129 then 
     130   export ADD_KEYS="${ADD_KEYS} key_mpi3" 
     131fi 
     132# 
     133if [ ${USING_LOOP_FUSION} == "yes" ] 
     134 then 
     135   export ADD_KEYS="${ADD_KEYS} key_loop_fusion" 
     136fi 
     137# 
     138if [ ${NOT_USING_QCO} == "yes" ] 
     139 then 
     140   export DEL_KEYS="${DEL_KEYS} key_qco key_linssh" 
    120141fi 
    121142# 
     
    929950fi 
    930951 
     952 
     953# --------- 
     954# SWG 
     955# --------- 
     956if [ ${config} == "SWG" ] && [ ${DO_RESTART} == "1" ] && [ ${NOT_USING_QCO} == "no" ] ;  then 
     957## Restartability tests for SWG 
     958    if [ $( echo ${CMP_NAM} | grep -ic debug ) -eq 1 ] 
     959    then 
     960   ITEND=12 
     961    else 
     962   ITEND=1728 
     963    fi 
     964    ITRST=$(   printf "%08d" $(( ${ITEND} / 2 )) ) 
     965    export TEST_NAME="LONG" 
     966    cd ${MAIN_DIR} 
     967    # 
     968    # syncronisation if target directory/file exist (not done by makenemo) 
     969    . ${SETTE_DIR}/all_functions.sh 
     970    # 
     971    clean_config SWG SWG_ST 'tests' 
     972    # 
     973    sync_config  SWG SWG_ST 'tests' 
     974    # 
     975    . ./makenemo -m ${CMP_NAM} -n SWG_ST -a SWG -j 8  add_key "${ADD_KEYS}" del_key "${DEL_KEYS}" 
     976    cd ${SETTE_DIR} 
     977    . ./param.cfg 
     978    . ./all_functions.sh 
     979    . ./prepare_exe_dir.sh 
     980    set_valid_dir 
     981    clean_valid_dir 
     982    JOB_FILE=${EXE_DIR}/run_job.sh 
     983    NPROC=1 
     984    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi  
     985    cd ${EXE_DIR} 
     986    set_namelist namelist_cfg cn_exp \"SWG_LONG\" 
     987    set_namelist namelist_cfg nn_it000 1 
     988    set_namelist namelist_cfg nn_itend ${ITEND} 
     989    set_namelist namelist_cfg nn_stock $(( ${ITEND} / 2 )) 
     990    set_namelist namelist_cfg sn_cfctl%l_runstat .true.   
     991    
     992    #if [ ${SETTE_TIMING} == "yes" ]  ; then set_namelist namelist_cfg ln_timing .true. ; fi 
     993    if [ ${USING_MPMD} == "yes" ] ; then 
     994        set_xio_using_server iodef.xml true 
     995    else 
     996        set_xio_using_server iodef.xml false 
     997    fi 
     998    cd ${SETTE_DIR} 
     999    . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID} 
     1000     
     1001    cd ${SETTE_DIR} 
     1002    export TEST_NAME="SHORT" 
     1003    . ./prepare_exe_dir.sh 
     1004    set_valid_dir 
     1005    clean_valid_dir 
     1006    cd ${EXE_DIR} 
     1007    set_namelist namelist_cfg cn_exp \"SWG_SHORT\" 
     1008    set_namelist namelist_cfg nn_it000 $(( ${ITEND} / 2 + 1 )) 
     1009    set_namelist namelist_cfg nn_itend ${ITEND} 
     1010    set_namelist namelist_cfg nn_stock $(( ${ITEND} / 2 )) 
     1011    set_namelist namelist_cfg sn_cfctl%l_runstat .true. 
     1012    set_namelist namelist_cfg ln_rstart .true. 
     1013    set_namelist namelist_cfg nn_rstctl 2 
     1014    set_namelist namelist_cfg cn_ocerst_in \"SWG_LONG_${ITRST}_restart\" 
     1015       
     1016    #if [ ${SETTE_TIMING} == "yes" ]  ; then set_namelist namelist_cfg ln_timing .true. ; fi 
     1017    if [ ${USING_MPMD} == "yes" ] ; then 
     1018        set_xio_using_server iodef.xml true 
     1019    else 
     1020        set_xio_using_server iodef.xml false 
     1021    fi 
     1022    if [ $NPROC -eq 1 ] ;  then 
     1023        ln -sf ../LONG/SWG_LONG_${ITRST}_restart.nc . 
     1024    else 
     1025        for (( i=1; i<=$NPROC; i++)) ; do 
     1026            L_NPROC=$(( $i - 1 )) 
     1027            L_NPROC=`printf "%04d\n" ${L_NPROC}` 
     1028            ln -sf ../LONG/SWG_LONG_${ITRST}_restart_${L_NPROC}.nc . 
     1029        done 
     1030    fi 
     1031    cd ${SETTE_DIR} 
     1032    . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID} 
     1033    cd ${SETTE_DIR} 
     1034    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} 
     1035fi 
     1036 
     1037if [ ${config} == "SWG" ] && [ ${DO_REPRO} == "1" ] && [ ${NOT_USING_QCO} == "no" ] ;  then 
     1038 
     1039## Reproducibility tests for SWG 
     1040    export TEST_NAME="REPRO_2_3" 
     1041    cd ${MAIN_DIR} 
     1042    cd ${SETTE_DIR} 
     1043    . ./param.cfg 
     1044    . ./all_functions.sh 
     1045    . ./prepare_exe_dir.sh 
     1046    set_valid_dir 
     1047    clean_valid_dir 
     1048    JOB_FILE=${EXE_DIR}/run_job.sh 
     1049    NPROC=6 
     1050    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi 
     1051    cd ${EXE_DIR} 
     1052    set_namelist namelist_cfg cn_exp \"SWG_23\" 
     1053    set_namelist namelist_cfg nn_it000 1 
     1054    set_namelist namelist_cfg nn_itend ${ITEND} 
     1055    set_namelist namelist_cfg nn_stock ${ITEND} 
     1056    set_namelist namelist_cfg jpni 2 
     1057    set_namelist namelist_cfg jpnj 3 
     1058    set_namelist namelist_cfg sn_cfctl%l_runstat .true. 
     1059    set_namelist namelist_cfg sn_cfctl%l_prtctl .true. 
     1060    
     1061 
     1062    #if [ ${SETTE_TIMING} == "yes" ]  ; then set_namelist namelist_cfg ln_timing .true. ; fi 
     1063    if [ ${USING_MPMD} == "yes" ] ; then 
     1064       set_xio_using_server iodef.xml true 
     1065    else 
     1066       set_xio_using_server iodef.xml false 
     1067    fi 
     1068    cd ${SETTE_DIR} 
     1069    . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID} 
     1070    cd ${SETTE_DIR} 
     1071    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} 
     1072 
     1073    cd ${SETTE_DIR} 
     1074    export TEST_NAME="REPRO_3_2" 
     1075    . ./prepare_exe_dir.sh 
     1076    set_valid_dir 
     1077    clean_valid_dir 
     1078    JOB_FILE=${EXE_DIR}/run_job.sh 
     1079    NPROC=6 
     1080    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi 
     1081    cd ${EXE_DIR} 
     1082 
     1083    set_namelist namelist_cfg cn_exp \"SWG_32\" 
     1084    set_namelist namelist_cfg nn_it000 1 
     1085    set_namelist namelist_cfg nn_itend ${ITEND} 
     1086    set_namelist namelist_cfg nn_stock ${ITEND} 
     1087    set_namelist namelist_cfg jpni 3 
     1088    set_namelist namelist_cfg jpnj 2 
     1089    set_namelist namelist_cfg sn_cfctl%l_runstat .true. 
     1090    set_namelist namelist_cfg sn_cfctl%l_prtctl .true. 
     1091 
     1092    #if [ ${SETTE_TIMING} == "yes" ]  ; then set_namelist namelist_cfg ln_timing .true. ; fi 
     1093    if [ ${USING_MPMD} == "yes" ] ; then 
     1094       set_xio_using_server iodef.xml true 
     1095    else 
     1096       set_xio_using_server iodef.xml false 
     1097    fi 
     1098    cd ${SETTE_DIR} 
     1099    . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID} 
     1100    cd ${SETTE_DIR} 
     1101    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} 
     1102 
     1103fi 
     1104 
     1105 
     1106 
    9311107#---- 
    9321108done 
Note: See TracChangeset for help on using the changeset viewer.