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.
sette_test-cases.sh in utils/CI/sette_ticket2673 – NEMO

source: utils/CI/sette_ticket2673/sette_test-cases.sh @ 14873

Last change on this file since 14873 was 14873, checked in by acc, 3 years ago

Branch: sette_ticket2673. Improved functionality: added -r (no report) option to disable running sette_rpt.sh at the end of sette.sh (allows chaining of sette.sh invocations with different arguments). Allowed SAS and AGRIF to be equivalently requested as ORCA2_SAS_ICE or AGRIF_DEMO (saves having to remember which are abbreviated). Sorted out the logic so that RESTART is no longer a mandatory test (allows REPRO without RESTART but, also, importantly, allows COMPILE as a test which will compile but not attempt to run - should mean fewer excuses for not running SETTE)

  • Property svn:executable set to *
File size: 35.4 KB
RevLine 
[9268]1#!/bin/bash
2############################################################
3# Author : Simona Flavoni for NEMO
4# Contact: sflod@locean-ipsl.upmc.fr
5#
6# sette_test-cases.sh   : principal script of SET TEsts for NEMO (SETTE)
7#                       : this script : compiles, run and tests TEST_CASES
8#
9#                       : TO DO: test if nitend is equal to end of run.stat
10# ----------------------------------------------------------------------
11# NEMO/SETTE , NEMO Consortium (2018)
12# Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
13# ----------------------------------------------------------------------
14#
15#############################################################
16#set -vx
17set -o posix
18#set -u
19#set -e
20# ===========
21# DESCRIPTION
22# ===========
23#
24# Variables to be checked by user:
25#
26# COMPILER          : name of compiler as defined in NEMOGCM/ARCH directory
27# BATCH_COMMAND_PAR :  name of the command for submitting parallel batch jobs
28# BATCH_COMMAND_SEQ :  name of the command for submitting sequential batch jobs 
29# INTERACT_FLAG     : flag to run in interactive mode "yes"
30#                           to run in batch mode "no"
31# MPIRUN_FLAG       : flag to run in parallel (MPI) "yes"
32#                           to run in sequential mode (NB_PROC = 1) "no"
33# NUM_XIOSERVERS    : number of stand-alone IO servers to employ
34#                     set to zero if USING_MPMD="no"
35#
36# Principal script is sette_test-cases.sh, that calls
37#
38#  makenemo  : to create successive exectuables in ${CONFIG_NAME}/BLD/bin/nemo.exe
[9576]39#              and links to nemo in ${CONFIG_NAME}/EXP00)
[9268]40#
41#  param.cfg : sets and loads following directories:
[13568]42#              This will have been run by the parent sette.sh and values exported here
[9268]43#
44#   FORCING_DIR         : is the directory for forcing files (tarfile)
45#   INPUT_DIR           : is the directory for input files storing
46#   TMPDIR              : is the temporary directory (if needed)
47#   NEMO_VALIDATION_DIR : is the validation directory
48#
49#   (NOTE: this file is the same for all configrations to be tested with sette_test-cases.sh)
50#
51#   all_functions.sh : loads functions used by sette (note: new functions can be added here)
52#   set_namelist     : function declared in all_functions that sets namelist parameters
53#   post_test_tidyup : creates validation storage directory and copies required output files
54#                      (run.stat and ocean.output) in it after execution of test.
55#
56#  VALIDATION tree is:
57#
58#   NEMO_VALIDATION_DIR/WCONFIG_NAME/WCOMPILER_NAME/TEST_NAME/REVISION_NUMBER(or DATE)
59#
60#  prepare_exe_dir.sh : defines and creates directory where the test is executed
61#                       execution directory takes name of TEST_NAME defined for every test
62#                       in sette_test-cases.sh. (each test in executed in its own directory)
63#
[11161]64#  set_valid_dir       : rename ocean.output/run.stat and tracer.stat to avoid checking them in the report
65#
66#  clean_valid_dir    : rename ocean.output/run.stat and tracer.stat to avoid checking them in the report
67#                       ( not doing it could lead to false positive )
68#
[9268]69#  prepare_job.sh     : to generate the script run_job.sh
70#
71#  fcm_job.sh         : run in batch (INTERACT_FLAG="no") or interactive (INTERACT_FLAG="yes")
72#                        see sette_test-cases.sh and BATCH_TEMPLATE directory
73#
74#  NOTE: jobs requiring initial or forcing data need to have an input_CONFIG.cfg in which
75#        can be found paths to the input tar file)
76#  NOTE: if job is not launched for any reason you have the executable ready in ${EXE_DIR}
77#        directory
78#  NOTE: the changed namelists are left in ${EXE_DIR} directory whereas original namelists
79#        remain in ${NEW_CONF}/EXP00
80#
81#  NOTE: a log file, output.sette, is created in ${SETTE_DIR} with the echoes of
82#        executed commands
83#
84#  NOTE: if sette_test-cases.sh is stopped in output.sette there is written the last command
85#        executed by sette_test-cases.sh
86#
87# example use: ./sette_test-cases.sh
88#########################################################################################
89#
[11161]90# LOAD param value
91SETTE_DIR=$(cd $(dirname "$0"); pwd)
92MAIN_DIR=$(dirname $SETTE_DIR)
[9268]93
[11161]94export BATCH_COMMAND_PAR=${BATCH_CMD}
95export BATCH_COMMAND_SEQ=${BATCH_CMD}
[9268]96export INTERACT_FLAG="no"
97export MPIRUN_FLAG="yes"
98#
99# Settings which control the use of stand alone servers (only relevant if using xios)
100#
101export NUM_XIOSERVERS=4
[11161]102export JOB_PREFIX=${JOB_PREFIX_MPMD}
[9268]103#
104if [ ${USING_MPMD} == "no" ] 
105 then
106   export NUM_XIOSERVERS=0
[11161]107   export JOB_PREFIX=${JOB_PREFIX_NOMPMD}
[9268]108fi
109#
110# Directory to run the tests
[9602]111CONFIG_DIR0=${MAIN_DIR}/cfgs
[9605]112TOOLS_DIR=${MAIN_DIR}/tools
[9268]113
114CMP_NAM=${1:-$COMPILER}
115# Copy job_batch_COMPILER file for specific compiler into job_batch_template
116cd ${SETTE_DIR}
117cp BATCH_TEMPLATE/${JOB_PREFIX}-${COMPILER} job_batch_template || exit
118# Description of configuration tested:
[11161]119# OVERFLOW       : TEST s-coordinates : (tracers) Advection schemes: FCT2, FCT4, ubs
120#                                     & (dynamics) advection schemes: flux form (ubs, centered), vector form (een)
121#                       zps-coordinates : (tracers) Advection schemes: FCT2, FCT4, ubs
122#                                     & (dynamics) advection schemes: flux form (ubs, centered), vector form (een, and een + Hollingsworth correction)
123# LOCK_EXCHANGE  :
124# VORTEX         :
125# ICE_AGRIF      :
[13382]126# ISOMIP+         :
[9744]127# WAD
[9268]128
[14873]129. ./all_functions.sh
[13568]130for config in ${TEST_CONFIGS[@]}
[9268]131do
132
[9524]133# ---------
134#  OVERFLOW
135# ---------
[14873]136if [ ${config} == "OVERFLOW" ] ;  then
[13559]137    if [ $( echo ${CMP_NAM} | grep -ic debug ) -eq 1 ]
138    then
139   ITEND=12
140    else
141   ITEND=120
142    fi
143    ITRST=$( printf "%08d" $(( ${ITEND} / 2 )) )
[9708]144    cd ${MAIN_DIR}
[12569]145    #
146    #
147    clean_config OVERFLOW OVERFLOW_ST 'tests'
148    #
149    sync_config  OVERFLOW OVERFLOW_ST 'tests'
150    #
[14867]151    . ./makenemo -m ${CMP_NAM} -n OVERFLOW_ST -a OVERFLOW -j ${CMPL_CORES} add_key "${ADD_KEYS}" del_key "${DEL_KEYS}"
[14873]152fi
153if [ ${config} == "OVERFLOW" ] && [ ${DO_RESTART} == "1" ] ;  then
154    ## Restartability tests for OVERFLOW
155    export TEST_NAME="LONG"
[9268]156    cd ${SETTE_DIR}
157    . ./prepare_exe_dir.sh
[11161]158    set_valid_dir
159    clean_valid_dir
[9268]160    JOB_FILE=${EXE_DIR}/run_job.sh
161    NPROC=1
162    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
163    cd ${EXE_DIR} 
164    set_namelist namelist_cfg cn_exp \"OVF_LONG\"
165    set_namelist namelist_cfg nn_it000 1
[13559]166    set_namelist namelist_cfg nn_itend ${ITEND}
167    set_namelist namelist_cfg nn_stock $(( ${ITEND} / 2 ))
[10575]168    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
[14869]169    set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
170    set_xio_using_server iodef.xml ${USING_MPMD}
[9268]171    cd ${SETTE_DIR}
[11161]172    . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[9268]173
174    cd ${SETTE_DIR}
175    export TEST_NAME="SHORT"
176    . ./prepare_exe_dir.sh
[11161]177    set_valid_dir
178    clean_valid_dir
[9268]179    cd ${EXE_DIR}
180    set_namelist namelist_cfg cn_exp \"OVF_SHORT\"
[13559]181    set_namelist namelist_cfg nn_it000 $(( ${ITEND} / 2 + 1 ))
182    set_namelist namelist_cfg nn_itend ${ITEND}
183    set_namelist namelist_cfg nn_stock $(( ${ITEND} / 2 ))
[10575]184    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
[9268]185    set_namelist namelist_cfg ln_rstart .true.
186    set_namelist namelist_cfg nn_rstctl 2
[13559]187    set_namelist namelist_cfg cn_ocerst_in \"OVF_LONG_${ITRST}_restart\"
[14869]188    set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
189    set_xio_using_server iodef.xml ${USING_MPMD}
[13559]190    ln -sf ../LONG/OVF_LONG_${ITRST}_restart.nc .
[9756]191
[9268]192    cd ${SETTE_DIR}
[11161]193    . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[9268]194    cd ${SETTE_DIR}
195    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
196
197
[13568]198fi
199
200if [ ${config} == "OVERFLOW" ] && [ ${DO_PHYOPTS} == "1" ] ;  then
[9268]201    ## Test for all advection, vert. coordinates, vector form, flux form: test runability and complete all time steps
202    ## Needed namelist-xxxx for every type of run tested
[13559]203    if [ $( echo ${CMP_NAM} | grep -ic debug ) -eq 1 ]
204    then
205   ITEND=12
206    else
207   ITEND=6120
208    fi
[9268]209    cd ${CONFIG_DIR}/${NEW_CONF}/EXP00
210
211    for file in $(echo `ls namelist_*_cfg `) ; do
[9963]212        TEST_NAME=`echo $file | sed -e "s/namelist_//" | sed -e "s/_cfg//"`
[9268]213        TEST_NAME="EXP-${TEST_NAME}"
[9963]214        if [ ! -d ${CONFIG_DIR}/${NEW_CONF}/${TEST_NAME} ] ; then mkdir ${CONFIG_DIR}/${NEW_CONF}/${TEST_NAME} ; fi
[9268]215        export TEST_NAME="${TEST_NAME}"
216         ##
217        cd ${SETTE_DIR}
218        . ./prepare_exe_dir.sh
[11161]219        set_valid_dir
220        clean_valid_dir
[9268]221        JOB_FILE=${EXE_DIR}/run_job.sh
222        NPROC=1
223        if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
224        cd ${EXE_DIR}
[9963]225        rm namelist_*_*_*_*
226        cp -pL ${CONFIG_DIR}/${NEW_CONF}/EXP00/$file namelist_cfg
[13559]227   set_namelist namelist_cfg nn_it000 1
228   set_namelist namelist_cfg nn_itend ${ITEND}
[14869]229        set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
230        set_xio_using_server iodef.xml ${USING_MPMD}
[9268]231        cd ${SETTE_DIR}
[11161]232        . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[9268]233        cd ${SETTE_DIR}
234        . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
235       ##
236     done
237fi
238
[9524]239# --------------
240#  LOCK_EXCHANGE
241# --------------
[14873]242if [ ${config} == "LOCK_EXCHANGE" ] ;  then
[13559]243    if [ $( echo ${CMP_NAM} | grep -ic debug ) -eq 1 ]
244    then
245   ITEND=12
246    else
247   ITEND=120
248    fi
249    ITRST=$( printf "%08d" $(( ${ITEND} / 2 )) )
[9708]250    cd ${MAIN_DIR}
[12569]251    #
252    # syncronisation if target directory/file exist (not done by makenemo)
253    #
254    clean_config LOCK_EXCHANGE LOCK_EXCHANGE_ST 'tests'
255    #
256    sync_config  LOCK_EXCHANGE LOCK_EXCHANGE_ST 'tests'
257    #
[14867]258    . ./makenemo -m ${CMP_NAM} -n LOCK_EXCHANGE_ST -a LOCK_EXCHANGE -j ${CMPL_CORES} add_key "${ADD_KEYS}" del_key "${DEL_KEYS}"
[14873]259fi
260if [ ${config} == "LOCK_EXCHANGE" ] && [ ${DO_RESTART} == "1" ] ;  then
261    ## Restartability tests for LOCK_EXCHANGE
262    export TEST_NAME="LONG"
[9268]263    cd ${SETTE_DIR}
264    . ./prepare_exe_dir.sh
[11161]265    set_valid_dir
266    clean_valid_dir
[9268]267    JOB_FILE=${EXE_DIR}/run_job.sh
268    NPROC=1
269    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
270    cd ${EXE_DIR}
271    set_namelist namelist_cfg cn_exp \"LOCK_LONG\"
272    set_namelist namelist_cfg nn_it000 1
[13559]273    set_namelist namelist_cfg nn_itend ${ITEND}
274    set_namelist namelist_cfg nn_stock $(( ${ITEND} / 2 ))
[10575]275    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
[14869]276    set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
277    set_xio_using_server iodef.xml ${USING_MPMD}
[9268]278    cd ${SETTE_DIR}
[11161]279    . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[9268]280
281    cd ${SETTE_DIR}
282    export TEST_NAME="SHORT"
283    . ./prepare_exe_dir.sh
[11161]284    set_valid_dir
285    clean_valid_dir
[9268]286    cd ${EXE_DIR}
287    set_namelist namelist_cfg cn_exp \"LOCK_SHORT\"
[13559]288    set_namelist namelist_cfg nn_it000 $(( ${ITEND} / 2 + 1 ))
289    set_namelist namelist_cfg nn_itend ${ITEND}
290    set_namelist namelist_cfg nn_stock $(( ${ITEND} / 2 ))
[10575]291    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
[9268]292    set_namelist namelist_cfg ln_rstart .true.
293    set_namelist namelist_cfg nn_rstctl 2
[13559]294    set_namelist namelist_cfg cn_ocerst_in \"LOCK_LONG_${ITRST}_restart\"
[14869]295    set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
296    set_xio_using_server iodef.xml ${USING_MPMD}
[13559]297    ln -sf ../LONG/LOCK_LONG_${ITRST}_restart.nc .
[9756]298
[9268]299    cd ${SETTE_DIR}
[11161]300    . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[9268]301    cd ${SETTE_DIR}
302    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
303
[13568]304fi
305
306if [ ${config} == "LOCK_EXCHANGE" ] && [ ${DO_PHYOPTS} == "1" ] ;  then
[9268]307    ## Test for all advection, vector form, flux form: test runability and complete all time steps
308    ## Needed namelist-xxxx for every type of run tested
[13568]309    if [ $( echo ${CMP_NAM} | grep -ic debug ) -eq 1 ]
310    then
311   ITEND=12
312    else
313   ITEND=61200
314    fi
[9268]315    cd ${CONFIG_DIR}/${NEW_CONF}/EXP00
316
317    for file in $(echo `ls namelist_*_cfg `) ; do
[10242]318        echo ''
319        TEST_NAME=`echo $file | sed -e "s/namelist_//" | sed -e "s/_cfg//"`
[9268]320        TEST_NAME="EXP-${TEST_NAME}"
321        `mkdir ${CONFIG_DIR}/${NEW_CONF}/${TEST_NAME}`
322        export TEST_NAME="${TEST_NAME}"
[10242]323        ## 
[9268]324        cd ${SETTE_DIR}
325        . ./prepare_exe_dir.sh
[11161]326        set_valid_dir
327        clean_valid_dir
[9268]328        JOB_FILE=${EXE_DIR}/run_job.sh
329        NPROC=1
330        if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
331        cd ${EXE_DIR}
[10242]332        rm namelist_*_*_*_*
333        cp -pL ${CONFIG_DIR}/${NEW_CONF}/EXP00/$file namelist_cfg
[13568]334   set_namelist namelist_cfg nn_it000 1
335        set_namelist namelist_cfg nn_itend ${ITEND}
[14869]336        set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
337        set_xio_using_server iodef.xml ${USING_MPMD}
[9268]338        cd ${SETTE_DIR}
[11161]339        . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[9268]340        cd ${SETTE_DIR}
341        . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
[10242]342        ##
343        echo ''
[9268]344   done
345fi
346
[9524]347# ---------
348# VORTEX
349# ---------
[14873]350if [ ${config} == "VORTEX" ] ;  then
[13559]351    if [ $( echo ${CMP_NAM} | grep -ic debug ) -eq 1 ]
352    then
353   ITEND=12
354    else
355   ITEND=240
356    fi
357    ITRST=$(   printf "%08d" $(( ${ITEND} / 2 )) )
358    ITRST_1=$( printf "%08d" $(( ${ITEND} * 3 / 2 )) )
[9708]359    cd ${MAIN_DIR}
[12569]360    #
361    # syncronisation if target directory/file exist (not done by makenemo)
362    #
363    clean_config VORTEX VORTEX_ST 'tests'
364    #
365    sync_config  VORTEX VORTEX_ST 'tests'
366    #
[14867]367    . ./makenemo -m ${CMP_NAM} -n VORTEX_ST -a VORTEX -j ${CMPL_CORES}  add_key "${ADD_KEYS}" del_key "${DEL_KEYS}"
[14873]368fi
369if [ ${config} == "VORTEX" ] && [ ${DO_RESTART} == "1" ] ;  then
370## Restartability tests for VORTEX
371    export TEST_NAME="LONG"
[9268]372    cd ${SETTE_DIR}
373    . ./prepare_exe_dir.sh
[11161]374    set_valid_dir
375    clean_valid_dir
[9268]376    JOB_FILE=${EXE_DIR}/run_job.sh
[9756]377    NPROC=6
378    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
[9268]379    cd ${EXE_DIR}
380    set_namelist namelist_cfg cn_exp \"VORTEX_LONG\"
381    set_namelist namelist_cfg nn_it000 1
[13559]382    set_namelist namelist_cfg nn_itend ${ITEND}
383    set_namelist namelist_cfg nn_stock $(( ${ITEND} / 2 ))
384    set_namelist namelist_cfg sn_cfctl%l_runstat .true. 
[10433]385
[9756]386    set_namelist 1_namelist_cfg cn_exp \"VORTEX_LONG\"
387    set_namelist 1_namelist_cfg nn_it000 1
[13559]388    set_namelist 1_namelist_cfg nn_itend $(( ${ITEND} * 3 ))
389    set_namelist 1_namelist_cfg nn_stock $(( ${ITEND} * 3 / 2 ))
[10575]390    set_namelist 1_namelist_cfg sn_cfctl%l_runstat .true.
[10433]391   
[14869]392    #set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
393    set_xio_using_server iodef.xml ${USING_MPMD}
[9268]394    cd ${SETTE_DIR}
[11161]395    . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[9756]396   
[9268]397    cd ${SETTE_DIR}
398    export TEST_NAME="SHORT"
399    . ./prepare_exe_dir.sh
[11161]400    set_valid_dir
401    clean_valid_dir
[9268]402    cd ${EXE_DIR}
403    set_namelist namelist_cfg cn_exp \"VORTEX_SHORT\"
[13559]404    set_namelist namelist_cfg nn_it000 $(( ${ITEND} / 2 + 1 ))
405    set_namelist namelist_cfg nn_itend ${ITEND}
406    set_namelist namelist_cfg nn_stock $(( ${ITEND} / 2 ))
[10575]407    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
[9268]408    set_namelist namelist_cfg ln_rstart .true.
409    set_namelist namelist_cfg nn_rstctl 2
[13559]410    set_namelist namelist_cfg cn_ocerst_in \"VORTEX_LONG_${ITRST}_restart\"
[9756]411   
412    set_namelist 1_namelist_cfg cn_exp \"VORTEX_SHORT\"
[13559]413    set_namelist 1_namelist_cfg nn_it000 $(( ${ITEND} * 3 / 2 + 1 ))
414    set_namelist 1_namelist_cfg nn_itend $(( ${ITEND} * 3 ))
415    set_namelist 1_namelist_cfg nn_stock $(( ${ITEND} * 3 / 2 ))
[10575]416    set_namelist 1_namelist_cfg sn_cfctl%l_runstat .true.
[9756]417    set_namelist 1_namelist_cfg ln_rstart .true.
418    set_namelist 1_namelist_cfg nn_rstctl 2
[13559]419    set_namelist 1_namelist_cfg cn_ocerst_in \"VORTEX_LONG_${ITRST_1}_restart\"
[9756]420     
[14869]421    #set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
422    set_xio_using_server iodef.xml ${USING_MPMD}
[9756]423    if [ $NPROC -eq 1 ] ;  then
[13559]424        ln -sf ../LONG/VORTEX_LONG_${ITRST}_restart.nc .
425        ln -sf ../LONG/1_VORTEX_LONG_${ITRST_1}_restart.nc .
[9756]426    else
427        for (( i=1; i<=$NPROC; i++)) ; do
428            L_NPROC=$(( $i - 1 ))
429            L_NPROC=`printf "%04d\n" ${L_NPROC}`
[13559]430            ln -sf ../LONG/VORTEX_LONG_${ITRST}_restart_${L_NPROC}.nc .
431            ln -sf ../LONG/1_VORTEX_LONG_${ITRST_1}_restart_${L_NPROC}.nc .
[9756]432        done
433    fi
434    cd ${SETTE_DIR}
[11161]435    . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[9756]436    cd ${SETTE_DIR}
437    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
[13568]438fi
[9756]439
[13568]440if [ ${config} == "VORTEX" ] && [ ${DO_REPRO} == "1" ] ;  then
441
[9756]442## Reproducibility tests for VORTEX
443    export TEST_NAME="REPRO_2_3"
444    cd ${MAIN_DIR}
445    cd ${SETTE_DIR}
446    . ./prepare_exe_dir.sh
[11161]447    set_valid_dir
448    clean_valid_dir
[9756]449    JOB_FILE=${EXE_DIR}/run_job.sh
450    NPROC=6
451    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
452    cd ${EXE_DIR}
453    set_namelist namelist_cfg cn_exp \"VORTEX_23\"
454    set_namelist namelist_cfg nn_it000 1
[13559]455    set_namelist namelist_cfg nn_itend ${ITEND}
456    set_namelist namelist_cfg nn_stock ${ITEND}
[9756]457    set_namelist namelist_cfg jpni 2
458    set_namelist namelist_cfg jpnj 3
[10575]459    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
[10427]460   
[9756]461    set_namelist 1_namelist_cfg cn_exp \"VORTEX_23\"
462    set_namelist 1_namelist_cfg nn_it000 1
[13559]463    set_namelist 1_namelist_cfg nn_itend $(( ${ITEND} * 3 ))
464    set_namelist 1_namelist_cfg nn_stock $(( ${ITEND} * 3 ))
[9756]465    set_namelist 1_namelist_cfg jpni 2
466    set_namelist 1_namelist_cfg jpnj 3
[10575]467    set_namelist 1_namelist_cfg sn_cfctl%l_runstat .true.
[9756]468
[14861]469    #if [ ${USING_TIMING} == "yes" ]  ; then set_namelist namelist_cfg ln_timing .true. ; fi
[9756]470    if [ ${USING_MPMD} == "yes" ] ; then
[9268]471       set_xio_using_server iodef.xml true
472    else
473       set_xio_using_server iodef.xml false
474    fi
[9756]475    cd ${SETTE_DIR}
[11161]476    . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[9756]477    cd ${SETTE_DIR}
478    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
479
480    cd ${SETTE_DIR}
481    export TEST_NAME="REPRO_3_2"
482    . ./prepare_exe_dir.sh
[11161]483    set_valid_dir
484    clean_valid_dir
[9756]485    JOB_FILE=${EXE_DIR}/run_job.sh
486    NPROC=6
487    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
488    cd ${EXE_DIR}
489
490    set_namelist namelist_cfg cn_exp \"VORTEX_32\"
491    set_namelist namelist_cfg nn_it000 1
[13559]492    set_namelist namelist_cfg nn_itend ${ITEND}
493    set_namelist namelist_cfg nn_stock ${ITEND}
[9756]494    set_namelist namelist_cfg jpni 3
495    set_namelist namelist_cfg jpnj 2
[10575]496    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
[10427]497
[9756]498    set_namelist 1_namelist_cfg cn_exp \"VORTEX_32\"
499    set_namelist 1_namelist_cfg nn_it000 1
[13559]500    set_namelist 1_namelist_cfg nn_itend $(( ${ITEND} * 3 ))
501    set_namelist 1_namelist_cfg nn_stock $(( ${ITEND} * 3 ))
[9756]502    set_namelist 1_namelist_cfg jpni 3
503    set_namelist 1_namelist_cfg jpnj 2
[10575]504    set_namelist 1_namelist_cfg sn_cfctl%l_runstat .true.
[10427]505
[14869]506    #set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
507    set_xio_using_server iodef.xml ${USING_MPMD}
[9268]508    cd ${SETTE_DIR}
[11161]509    . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[9268]510    cd ${SETTE_DIR}
511    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
512
513fi
514
[9458]515
[9524]516# ---------
[10517]517# ICE_AGRIF
[9524]518# ---------
[14873]519if [ ${config} == "ICE_AGRIF" ] ;  then
[13559]520    if [ $( echo ${CMP_NAM} | grep -ic debug ) -eq 1 ]
521    then
522   ITEND=10
523    else
524   ITEND=200
525    fi
526    ITRST=$(   printf "%08d" $(( ${ITEND} / 2 )) )
527    ITRST_1=$( printf "%08d" $(( ${ITEND} * 3 / 2 )) )
[9708]528    cd ${MAIN_DIR}
[12569]529    #
530    # syncronisation if target directory/file exist (not done by makenemo)
531    #
532    clean_config ICE_AGRIF ICE_AGRIF_ST 'tests'
533    #
534    sync_config  ICE_AGRIF ICE_AGRIF_ST 'tests'
535    #
[14867]536    # ICE_AGRIF uses linssh so remove key_qco if added by default
537    . ./makenemo -m ${CMP_NAM} -n ICE_AGRIF_ST -a ICE_AGRIF -j ${CMPL_CORES}  add_key "${ADD_KEYS/key_qco/}" del_key "${DEL_KEYS}"
[14873]538fi
539if [ ${config} == "ICE_AGRIF" ] && [ ${DO_RESTART} == "1" ] ;  then
540## Restartability tests for ICE_AGRIF
541    export TEST_NAME="LONG"
[9458]542    cd ${SETTE_DIR}
543    . ./prepare_exe_dir.sh
[11161]544    set_valid_dir
545    clean_valid_dir
[9458]546    JOB_FILE=${EXE_DIR}/run_job.sh
[9756]547    NPROC=6
[9458]548    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
549    cd ${EXE_DIR}
[10517]550    set_namelist namelist_cfg cn_exp \"ICE_AGRIF_LONG\"
[9458]551    set_namelist namelist_cfg nn_it000 1
[13559]552    set_namelist namelist_cfg nn_itend ${ITEND}
553    set_namelist namelist_cfg nn_stock $(( ${ITEND} / 2 ))
[10575]554    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
[9458]555   
[10517]556    set_namelist 1_namelist_cfg cn_exp \"ICE_AGRIF_LONG\"
[9458]557    set_namelist 1_namelist_cfg nn_it000 1
[13559]558    set_namelist 1_namelist_cfg nn_itend $(( ${ITEND} * 3 ))
559    set_namelist 1_namelist_cfg nn_stock $(( ${ITEND} * 3 / 2 ))
[10575]560    set_namelist 1_namelist_cfg sn_cfctl%l_runstat .true.
[9458]561   
[14869]562    #set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
563    set_xio_using_server iodef.xml ${USING_MPMD}
[9458]564    cd ${SETTE_DIR}
[11161]565    . ./prepare_job.sh input_ICE_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[9458]566   
567    cd ${SETTE_DIR}
568    export TEST_NAME="SHORT"
569    . ./prepare_exe_dir.sh
[11161]570    set_valid_dir
571    clean_valid_dir
[9458]572    cd ${EXE_DIR}
[10517]573    set_namelist namelist_cfg cn_exp \"ICE_AGRIF_SHORT\"
[13559]574    set_namelist namelist_cfg nn_it000 $(( ${ITEND} / 2 + 1 ))
575    set_namelist namelist_cfg nn_itend ${ITEND}
576    set_namelist namelist_cfg nn_stock $(( ${ITEND} / 2 ))
[10575]577    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
[9458]578    set_namelist namelist_cfg ln_rstart .true.
579    set_namelist namelist_cfg nn_rstctl 2
[13559]580    set_namelist namelist_cfg cn_ocerst_in \"ICE_AGRIF_LONG_${ITRST}_restart\"
581    set_namelist namelist_ice_cfg cn_icerst_in \"ICE_AGRIF_LONG_${ITRST}_restart_ice\"
[9458]582   
[10517]583    set_namelist 1_namelist_cfg cn_exp \"ICE_AGRIF_SHORT\"
[13559]584    set_namelist 1_namelist_cfg nn_it000 $(( ${ITEND} * 3 / 2 + 1 ))
585    set_namelist 1_namelist_cfg nn_itend $(( ${ITEND} * 3 ))
586    set_namelist 1_namelist_cfg nn_stock $(( ${ITEND} * 3 / 2 ))
[10575]587    set_namelist 1_namelist_cfg sn_cfctl%l_runstat .true.
[9458]588    set_namelist 1_namelist_cfg ln_rstart .true.
589    set_namelist 1_namelist_cfg nn_rstctl 2
[13559]590    set_namelist 1_namelist_cfg cn_ocerst_in \"ICE_AGRIF_LONG_${ITRST_1}_restart\"
591    set_namelist 1_namelist_ice_cfg cn_icerst_in \"ICE_AGRIF_LONG_${ITRST_1}_restart_ice\"
[9458]592   
593   
[14869]594    #set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
595    set_xio_using_server iodef.xml ${USING_MPMD}
[9458]596    if [ $NPROC -eq 1 ] ;  then
[13559]597        ln -sf ../LONG/ICE_AGRIF_LONG_${ITRST}_restart.nc .
598        ln -sf ../LONG/ICE_AGRIF_LONG_${ITRST}_restart_ice.nc .
599        ln -sf ../LONG/1_ICE_AGRIF_LONG_${ITRST_1}_restart.nc .
600        ln -sf ../LONG/1_ICE_AGRIF_LONG_${ITRST_1}_restart_ice.nc .
[9458]601    else
602        for (( i=1; i<=$NPROC; i++)) ; do
603            L_NPROC=$(( $i - 1 ))
604            L_NPROC=`printf "%04d\n" ${L_NPROC}`
[13559]605            ln -sf ../LONG/ICE_AGRIF_LONG_${ITRST}_restart_${L_NPROC}.nc .
606            ln -sf ../LONG/ICE_AGRIF_LONG_${ITRST}_restart_ice_${L_NPROC}.nc .
607            ln -sf ../LONG/1_ICE_AGRIF_LONG_${ITRST_1}_restart_${L_NPROC}.nc .
608            ln -sf ../LONG/1_ICE_AGRIF_LONG_${ITRST_1}_restart_ice_${L_NPROC}.nc .
[9458]609        done
610    fi
[9756]611
612    cd ${SETTE_DIR}
[11161]613    . ./prepare_job.sh input_ICE_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[9756]614    cd ${SETTE_DIR}
615    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
616
[13568]617fi
[9756]618
[13568]619if [ ${config} == "ICE_AGRIF" ] && [ ${DO_REPRO} == "1" ] ;  then
620
[10517]621## Reproducibility tests for ICE_AGRIF
[9756]622    export TEST_NAME="REPRO_2_3"
623    cd ${MAIN_DIR}
624    cd ${SETTE_DIR}
625    . ./prepare_exe_dir.sh
[11161]626    set_valid_dir
627    clean_valid_dir
[9756]628    JOB_FILE=${EXE_DIR}/run_job.sh
629    NPROC=6
630    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
631    cd ${EXE_DIR}
[10517]632    set_namelist namelist_cfg cn_exp \"ICE_AGRIF_23\"
[9756]633    set_namelist namelist_cfg nn_it000 1
[13559]634    set_namelist namelist_cfg nn_itend ${ITEND}
635    set_namelist namelist_cfg nn_stock $(( ${ITEND} / 2 ))
[9756]636    set_namelist namelist_cfg jpni 2
637    set_namelist namelist_cfg jpnj 3
[10575]638    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
[9756]639   
[10517]640    set_namelist 1_namelist_cfg cn_exp \"ICE_AGRIF_23\"
[9756]641    set_namelist 1_namelist_cfg nn_it000 1
[13559]642    set_namelist 1_namelist_cfg nn_itend $(( ${ITEND} * 3 ))
643    set_namelist 1_namelist_cfg nn_stock $(( ${ITEND} * 3 / 2 ))
[9756]644    set_namelist 1_namelist_cfg jpni 2
645    set_namelist 1_namelist_cfg jpnj 3
[10575]646    set_namelist 1_namelist_cfg sn_cfctl%l_runstat .true.
[9756]647
[14869]648    #set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
649    set_xio_using_server iodef.xml ${USING_MPMD}
[9756]650    cd ${SETTE_DIR}
[11161]651    . ./prepare_job.sh input_ICE_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[9756]652    cd ${SETTE_DIR}
653    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
654
655    cd ${SETTE_DIR}
656    export TEST_NAME="REPRO_3_2"
657    . ./prepare_exe_dir.sh
[11161]658    set_valid_dir
659    clean_valid_dir
[9756]660    JOB_FILE=${EXE_DIR}/run_job.sh
661    NPROC=6
662    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
663    cd ${EXE_DIR}
664
[10517]665    set_namelist namelist_cfg cn_exp \"ICE_AGRIF_32\"
[9756]666    set_namelist namelist_cfg nn_it000 1
[13559]667    set_namelist namelist_cfg nn_itend ${ITEND}
668    set_namelist namelist_cfg nn_stock $(( ${ITEND} / 2 ))
[9756]669    set_namelist namelist_cfg jpni 3
670    set_namelist namelist_cfg jpnj 2
[10575]671    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
[9756]672   
[10517]673    set_namelist 1_namelist_cfg cn_exp \"ICE_AGRIF_32\"
[9756]674    set_namelist 1_namelist_cfg nn_it000 1
[13559]675    set_namelist 1_namelist_cfg nn_itend $(( ${ITEND} * 3 ))
676    set_namelist 1_namelist_cfg nn_stock $(( ${ITEND} * 3 / 2 ))
[9756]677    set_namelist 1_namelist_cfg jpni 3
678    set_namelist 1_namelist_cfg jpnj 2
[10575]679    set_namelist 1_namelist_cfg sn_cfctl%l_runstat .true.
[9756]680   
[14869]681    #set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
682    set_xio_using_server iodef.xml ${USING_MPMD}
[9458]683    cd ${SETTE_DIR}
[11161]684    . ./prepare_job.sh input_ICE_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[9458]685    cd ${SETTE_DIR}
686    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
[9756]687
[9458]688fi
689
[9518]690# ------
[13382]691# ISOMIP+
[9518]692# ------
[14873]693if [ ${config} == "ISOMIP+" ] ;  then
[13559]694    if [ $( echo ${CMP_NAM} | grep -ic debug ) -eq 1 ]
695    then
696   ITEND=12
697    else
698   ITEND=1200
699    fi
700    ITRST=$( printf "%08d" $(( ${ITEND} / 2 )) )
[9708]701    cd ${MAIN_DIR}
[12569]702    #
703    # syncronisation if target directory/file exist (not done by makenemo)
704    #
[13382]705    clean_config ISOMIP+ ISOMIP+_ST 'tests'
[12569]706    #
[13382]707    sync_config  ISOMIP+ ISOMIP+_ST 'tests'
[12569]708    #
[14867]709    # ISOMIP+ uses ln_hpg_isf so remove key_qco if added by default
710    . ./makenemo -m ${CMP_NAM} -n ISOMIP+_ST -a ISOMIP+ -j ${CMPL_CORES} add_key "${ADD_KEYS/key_qco/}" del_key "${DEL_KEYS}"
[14873]711fi
712if [ ${config} == "ISOMIP+" ] && [ ${DO_RESTART} == "1" ] ;  then
713## Restartability tests
714    export TEST_NAME="LONG"
[9518]715    cd ${SETTE_DIR}
716    . ./prepare_exe_dir.sh
[11161]717    set_valid_dir
718    clean_valid_dir
[9518]719    JOB_FILE=${EXE_DIR}/run_job.sh
[13382]720    NPROC=27
[9518]721    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
722    cd ${EXE_DIR}
[13382]723    set_namelist namelist_cfg cn_exp \"ISOMIP+_LONG\"
[9518]724    set_namelist namelist_cfg nn_it000 1
[13559]725    set_namelist namelist_cfg nn_itend ${ITEND}
726    set_namelist namelist_cfg nn_stock $(( ${ITEND} / 2 ))
[13382]727    set_namelist namelist_cfg jpni 9
[9518]728    set_namelist namelist_cfg jpnj 3
[10575]729    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
[14869]730    set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
731    set_xio_using_server iodef.xml ${USING_MPMD}
[9518]732    cd ${SETTE_DIR}
[13382]733    . ./prepare_job.sh input_ISOMIP+.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[9518]734
735    cd ${SETTE_DIR}
736    export TEST_NAME="SHORT"
737    . ./prepare_exe_dir.sh
[11161]738    set_valid_dir
739    clean_valid_dir
[9518]740    cd ${EXE_DIR}
[13382]741    set_namelist namelist_cfg cn_exp \"ISOMIP+_SHORT\"
[13559]742    set_namelist namelist_cfg nn_it000 $(( ${ITEND} / 2 + 1 ))
743    set_namelist namelist_cfg nn_itend ${ITEND}
744    set_namelist namelist_cfg nn_stock $(( ${ITEND} / 2 ))
[9518]745    set_namelist namelist_cfg ln_rstart .true.
746    set_namelist namelist_cfg nn_rstctl 2
[13382]747    set_namelist namelist_cfg jpni 9
[9518]748    set_namelist namelist_cfg jpnj 3
[10575]749    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
[13559]750    set_namelist namelist_cfg cn_ocerst_in \"ISOMIP+_LONG_${ITRST}_restart\"
[14869]751    set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
752    set_xio_using_server iodef.xml ${USING_MPMD}
[9518]753    for (( i=1; i<=$NPROC; i++)) ; do
754        L_NPROC=$(( $i - 1 ))
755        L_NPROC=`printf "%04d\n" ${L_NPROC}`
[13559]756        ln -sf ../LONG/ISOMIP+_LONG_${ITRST}_restart_${L_NPROC}.nc .
[9518]757    done
[9756]758
[9518]759    cd ${SETTE_DIR}
[13382]760    . ./prepare_job.sh input_ISOMIP+.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[9518]761    cd ${SETTE_DIR}
762    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
763
[13568]764fi
765
766if [ ${config} == "ISOMIP+" ] && [ ${DO_REPRO} == "1" ] ;  then
[9518]767## Reproducibility tests
[13559]768    if [ $( echo ${CMP_NAM} | grep -ic debug ) -eq 1 ]
769    then
770   ITEND=12
771    else
772   ITEND=600
773    fi
[13382]774    export TEST_NAME="REPRO_9_3"
[9708]775    cd ${MAIN_DIR}
[9518]776    cd ${SETTE_DIR}
777    . ./prepare_exe_dir.sh
[11161]778    set_valid_dir
779    clean_valid_dir
[9518]780    JOB_FILE=${EXE_DIR}/run_job.sh
[13382]781    NPROC=27
[9518]782    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
783    cd ${EXE_DIR}
[13382]784    set_namelist namelist_cfg cn_exp \"ISOMIP+_93\"
[9518]785    set_namelist namelist_cfg nn_it000 1
[13559]786    set_namelist namelist_cfg nn_itend ${ITEND}
[13382]787    set_namelist namelist_cfg jpni 9
[9518]788    set_namelist namelist_cfg jpnj 3
[10575]789    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
[14869]790    set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
791    set_xio_using_server iodef.xml ${USING_MPMD}
[9518]792    cd ${SETTE_DIR}
[13382]793    . ./prepare_job.sh input_ISOMIP+.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[9518]794    cd ${SETTE_DIR}
795    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
796
797    cd ${SETTE_DIR}
798    export TEST_NAME="REPRO_8_4"
799    . ./prepare_exe_dir.sh
[11161]800    set_valid_dir
801    clean_valid_dir
[9518]802    JOB_FILE=${EXE_DIR}/run_job.sh
803    NPROC=32
804    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
805    cd ${EXE_DIR}
[13382]806    set_namelist namelist_cfg cn_exp \"ISOMIP+_84\"
[9518]807    set_namelist namelist_cfg nn_it000 1
[13559]808    set_namelist namelist_cfg nn_itend ${ITEND}
[9518]809    set_namelist namelist_cfg jpni 8
810    set_namelist namelist_cfg jpnj 4
[10575]811    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
[14869]812    set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
813    set_xio_using_server iodef.xml ${USING_MPMD}
[9518]814    cd ${SETTE_DIR}
[13382]815    . ./prepare_job.sh input_ISOMIP+.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[9518]816    cd ${SETTE_DIR}
817    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
818
819fi
820
[14244]821
822# ---------
823# SWG
824# ---------
[14873]825if [ ${config} == "SWG" ] && [ ${USING_QCO} == "yes" ] ;  then
[14244]826    if [ $( echo ${CMP_NAM} | grep -ic debug ) -eq 1 ]
827    then
828   ITEND=12
829    else
830   ITEND=1728
831    fi
832    ITRST=$(   printf "%08d" $(( ${ITEND} / 2 )) )
833    cd ${MAIN_DIR}
834    #
835    # syncronisation if target directory/file exist (not done by makenemo)
836    #
837    clean_config SWG SWG_ST 'tests'
838    #
839    sync_config  SWG SWG_ST 'tests'
840    #
[14867]841    . ./makenemo -m ${CMP_NAM} -n SWG_ST -a SWG -j ${CMPL_CORES}  add_key "${ADD_KEYS}" del_key "${DEL_KEYS}"
[14873]842fi
843if [ ${config} == "SWG" ] && [ ${DO_RESTART} == "1" ] && [ ${USING_QCO} == "yes" ] ;  then
844## Restartability tests for SWG
845    export TEST_NAME="LONG"
[14244]846    cd ${SETTE_DIR}
847    . ./prepare_exe_dir.sh
848    set_valid_dir
849    clean_valid_dir
850    JOB_FILE=${EXE_DIR}/run_job.sh
851    NPROC=1
852    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
853    cd ${EXE_DIR}
854    set_namelist namelist_cfg cn_exp \"SWG_LONG\"
855    set_namelist namelist_cfg nn_it000 1
856    set_namelist namelist_cfg nn_itend ${ITEND}
857    set_namelist namelist_cfg nn_stock $(( ${ITEND} / 2 ))
858    set_namelist namelist_cfg sn_cfctl%l_runstat .true. 
859   
[14869]860    #set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
861    set_xio_using_server iodef.xml ${USING_MPMD}
[14244]862    cd ${SETTE_DIR}
863    . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
864   
865    cd ${SETTE_DIR}
866    export TEST_NAME="SHORT"
867    . ./prepare_exe_dir.sh
868    set_valid_dir
869    clean_valid_dir
870    cd ${EXE_DIR}
871    set_namelist namelist_cfg cn_exp \"SWG_SHORT\"
872    set_namelist namelist_cfg nn_it000 $(( ${ITEND} / 2 + 1 ))
873    set_namelist namelist_cfg nn_itend ${ITEND}
874    set_namelist namelist_cfg nn_stock $(( ${ITEND} / 2 ))
875    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
876    set_namelist namelist_cfg ln_rstart .true.
877    set_namelist namelist_cfg nn_rstctl 2
878    set_namelist namelist_cfg cn_ocerst_in \"SWG_LONG_${ITRST}_restart\"
879     
[14869]880    #set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
881    set_xio_using_server iodef.xml ${USING_MPMD}
[14244]882    if [ $NPROC -eq 1 ] ;  then
883        ln -sf ../LONG/SWG_LONG_${ITRST}_restart.nc .
884    else
885        for (( i=1; i<=$NPROC; i++)) ; do
886            L_NPROC=$(( $i - 1 ))
887            L_NPROC=`printf "%04d\n" ${L_NPROC}`
888            ln -sf ../LONG/SWG_LONG_${ITRST}_restart_${L_NPROC}.nc .
889        done
890    fi
891    cd ${SETTE_DIR}
892    . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
893    cd ${SETTE_DIR}
894    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
895fi
896
[14867]897if [ ${config} == "SWG" ] && [ ${DO_REPRO} == "1" ] && [ ${USING_QCO} == "yes" ] ;  then
[14244]898
899## Reproducibility tests for SWG
900    export TEST_NAME="REPRO_2_3"
901    cd ${MAIN_DIR}
902    cd ${SETTE_DIR}
903    . ./prepare_exe_dir.sh
904    set_valid_dir
905    clean_valid_dir
906    JOB_FILE=${EXE_DIR}/run_job.sh
907    NPROC=6
908    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
909    cd ${EXE_DIR}
910    set_namelist namelist_cfg cn_exp \"SWG_23\"
911    set_namelist namelist_cfg nn_it000 1
912    set_namelist namelist_cfg nn_itend ${ITEND}
913    set_namelist namelist_cfg nn_stock ${ITEND}
914    set_namelist namelist_cfg jpni 2
915    set_namelist namelist_cfg jpnj 3
916    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
917    set_namelist namelist_cfg sn_cfctl%l_prtctl .true.
918   
919
[14869]920    #set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
921    set_xio_using_server iodef.xml ${USING_MPMD}
[14244]922    cd ${SETTE_DIR}
923    . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
924    cd ${SETTE_DIR}
925    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
926
927    cd ${SETTE_DIR}
928    export TEST_NAME="REPRO_3_2"
929    . ./prepare_exe_dir.sh
930    set_valid_dir
931    clean_valid_dir
932    JOB_FILE=${EXE_DIR}/run_job.sh
933    NPROC=6
934    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
935    cd ${EXE_DIR}
936
937    set_namelist namelist_cfg cn_exp \"SWG_32\"
938    set_namelist namelist_cfg nn_it000 1
939    set_namelist namelist_cfg nn_itend ${ITEND}
940    set_namelist namelist_cfg nn_stock ${ITEND}
941    set_namelist namelist_cfg jpni 3
942    set_namelist namelist_cfg jpnj 2
943    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
944    set_namelist namelist_cfg sn_cfctl%l_prtctl .true.
945
[14869]946    #set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
947    set_xio_using_server iodef.xml ${USING_MPMD}
[14244]948    cd ${SETTE_DIR}
949    . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
950    cd ${SETTE_DIR}
951    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
952
953fi
954
955
956
[9458]957#----
[9268]958done
[13568]959#
960# Return to SETTE_DIR (last fcm_job.sh will have moved to EXE_DIR)
961cd ${SETTE_DIR}
Note: See TracBrowser for help on using the repository browser.