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

source: utils/CI/sette/sette_test-cases.sh @ 13881

Last change on this file since 13881 was 13790, checked in by acc, 4 years ago

Add -T option to sette.sh to set ln_timing true for all, non-AGRIF SETTE tests. Also archives timing.output files to the validation directory. Added first attempt at batch files for ARCHER2 (MPMD version still needs some work)

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