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.sh in branches/2017/wrk_OMP_test_for_Silvia/NEMOGCM/SETTE – NEMO

source: branches/2017/wrk_OMP_test_for_Silvia/NEMOGCM/SETTE/sette.sh @ 9572

Last change on this file since 9572 was 8279, checked in by mocavero, 7 years ago

Implementation of OMP coarse-grained parallelization on ZDF new package

  • Property svn:executable set to *
File size: 56.1 KB
Line 
1#!/bin/bash
2############################################################
3# Author : Simona Flavoni for NEMO
4# Contact: sflod@locean-ipsl.upmc.fr
5# 2013   : A.C. Coward added options for testing with XIOS in dettached mode
6#
7# sette.sh   : principal script of SET TEsts for NEMO (SETTE)
8# ----------------------------------------------------------------------
9# NEMO/SETTE , NEMO Consortium (2010)
10# Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
11# ----------------------------------------------------------------------
12#
13#############################################################
14#set -vx
15set -o posix
16#set -u
17#set -e
18# ===========
19# DESCRIPTION
20# ===========
21#
22# Variables to be checked by user:
23#
24# COMPILER          : name of compiler as defined in NEMOGCM/ARCH directory
25# BATCH_COMMAND_PAR :  name of the command for submitting parallel batch jobs
26# BATCH_COMMAND_SEQ :  name of the command for submitting sequential batch jobs 
27# INTERACT_FLAG     : flag to run in interactive mode "yes"
28#                           to run in batch mode "no"
29# MPIRUN_FLAG       : flag to run in parallel (MPI) "yes"
30#                           to run in sequential mode (NB_PROC = 1) "no"
31# USING_XIOS        : flag to control the activation of key_iomput
32#                      "yes" to compile using key_iomput and link to the external XIOS library
33#                      "no"  to compile without key_iomput and link to the old IOIPSL library
34# USING_MPMD        : flag to control the use of stand-alone IO servers
35#                     requires USING_XIOS="yes"
36#                      "yes" to run in MPMD (detached) mode with stand-alone IO servers
37#                      "no"  to run in SPMD (attached) mode without separate IO servers
38# USING_OMP         : flag to control the use of OpenMP parallelization
39# NUM_XIOSERVERS    : number of stand-alone IO servers to employ
40#                     set to zero if USING_MPMD="no"
41#
42# Principal script is sette.sh, that calls
43#
44#  makenemo  : to create successive exectuables in ${CONFIG_NAME}/BLD/bin/nemo.exe
45#              and links to opa in ${CONFIG_NAME}/EXP00)
46#
47#  param.cfg : sets and loads following directories:
48#
49#   FORCING_DIR         : is the directory for forcing files (tarfile)
50#   INPUT_DIR           : is the directory for input files storing
51#   TMPDIR              : is the temporary directory (if needed)
52#   NEMO_VALIDATION_DIR : is the validation directory
53#
54#   (NOTE: this file is the same for all configrations to be tested with sette)
55#
56#   all_functions.sh : loads functions used by sette (note: new functions can be added here)
57#   set_namelist     : function declared in all_functions that sets namelist parameters
58#   post_test_tidyup : creates validation storage directory and copies required output files
59#                      (run.stat and ocean.output) in it after execution of test.
60#
61#  VALIDATION tree is:
62#
63#   NEMO_VALIDATION_DIR/WCONFIG_NAME/WCOMPILER_NAME/TEST_NAME/REVISION_NUMBER(or DATE)
64#
65#  prepare_exe_dir.sh : defines and creates directory where the test is executed
66#                       execution directory takes name of TEST_NAME defined for every test
67#                       in sette.sh. (each test in executed in its own directory)
68#
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.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.sh is stopped in output.sette there is written the last command
85#        executed by sette.sh
86#
87# example use: ./sette.sh
88#########################################################################################
89#
90# Compiler among those in NEMOGCM/ARCH
91#
92COMPILER=ifort_athena_xios_omp
93
94export BATCH_COMMAND_PAR="bsub < "
95export BATCH_COMMAND_SEQ=$BATCH_COMMAND_PAR
96export INTERACT_FLAG="no"
97export MPIRUN_FLAG="yes"
98export USING_XIOS="yes"
99export USING_OMP="yes"
100#
101export DEL_KEYS="key_iomput"
102if [ ${USING_XIOS} == "yes" ] 
103 then
104   export DEL_KEYS=""
105fi
106#
107# Settings which control the use of stand alone servers (only relevant if using xios)
108#
109export USING_MPMD="no"
110export NUM_XIOSERVERS=4
111export JOB_PREFIX=batch-mpmd
112#
113if [ ${USING_MPMD} == "no" ] 
114 then
115   export NUM_XIOSERVERS=0
116   export JOB_PREFIX=batch
117fi
118#
119#
120if [ ${USING_MPMD} == "yes" ] && [ ${USING_XIOS} == "no"]
121 then
122   echo "Incompatible choices. MPMD mode requires the XIOS server"
123   exit
124fi
125#
126# Settings which control the hybrid parallel execution
127#
128OMP_NTHR=1
129ADD_OMP_KEY=""
130if [ ${USING_OMP} == "yes" ]
131 then
132   OMP_NTHR=4
133   ADD_OMP_KEY="key_omp"
134fi
135
136# Directory to run the tests
137SETTE_DIR=$(cd $(dirname "$0"); pwd)
138MAIN_DIR=$(dirname $SETTE_DIR)
139CONFIG_DIR0=${MAIN_DIR}/CONFIG
140TOOLS_DIR=${MAIN_DIR}/TOOLS
141COMPIL_DIR=${TOOLS_DIR}/COMPILE
142
143CMP_NAM=${1:-$COMPILER}
144# Copy job_batch_COMPILER file for specific compiler into job_batch_template
145cd ${SETTE_DIR}
146cp BATCH_TEMPLATE/${JOB_PREFIX}-${COMPILER} job_batch_template || exit
147# Description of configuration tested:
148# GYRE_PISCES       :  1 &  2
149# ORCA2_LIM3_PISCES :  3 &  4
150# ORCA2_OFF_PISCES  :  5 &  6
151# AMM12             :  7 &  8
152# SAS               :  9     fos SAS there is no run.stat so is useless to test REPRO
153# ISOMIP            : 10 & 11
154# ORCA2_LIM3_OBS    : 12
155# ORCA2_AGRIF_LIM3  : 13 & 14
156#                     15 & 16
157
158for config in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
159
160do
161
162# TESTS FOR GYRE_PISCES CONFIGURATION
163if [ ${config} -eq 1 ] ;  then
164    ## Restartability tests for GYRE_PISCES
165    export TEST_NAME="LONG"
166    cd ${CONFIG_DIR0}
167    if [ ${USING_OMP} == "yes" ]
168    then
169       . ./makenemo -m ${CMP_NAM} -n GYREPIS_LONG_omp -r GYRE_PISCES -j 8 add_key ${ADD_OMP_KEY} del_key ${DEL_KEYS}
170    else
171       . ./makenemo -m ${CMP_NAM} -n GYREPIS_LONG_mpi -r GYRE_PISCES -j 8 del_key ${DEL_KEYS}
172    fi
173    cd ${SETTE_DIR}
174    . ./param.cfg
175    . ./all_functions.sh
176    . ./prepare_exe_dir.sh
177    JOB_FILE=${EXE_DIR}/run_job.sh
178    NPROC=32
179    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
180    cd ${EXE_DIR} 
181    set_namelist namelist_cfg nn_GYRE 12
182    set_namelist namelist_cfg ln_bench .true.
183    set_namelist namelist_cfg cn_exp \"GYREPIS_LONG\"
184    set_namelist namelist_cfg nn_it000 1
185    set_namelist namelist_cfg nn_itend 120
186    set_namelist namelist_cfg nn_stock 60
187    set_namelist namelist_cfg ln_clobber .true.
188    set_namelist namelist_cfg ln_linssh .true.
189    set_namelist namelist_cfg ln_read_cfg .false.
190    set_namelist namelist_cfg nn_fwb 0
191    set_namelist namelist_cfg jpni 8
192    set_namelist namelist_cfg jpnj 4
193    set_namelist namelist_cfg jpnij 32
194    set_namelist namelist_cfg jtni 2      # to be set when using OpenMP
195    if [ ${USING_MPMD} == "yes" ] ; then
196       set_xio_using_server iodef.xml true
197    else
198       set_xio_using_server iodef.xml false
199    fi
200    cd ${SETTE_DIR}
201    . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${OMP_NTHR}
202
203    cd ${SETTE_DIR}
204    export TEST_NAME="SHORT"
205    . ./prepare_exe_dir.sh
206    cd ${EXE_DIR}
207    set_namelist namelist_cfg nn_GYRE 12
208    set_namelist namelist_cfg ln_bench .true.
209    set_namelist namelist_cfg cn_exp \"GYREPIS_SHORT\"
210    set_namelist namelist_cfg nn_it000 61
211    set_namelist namelist_cfg nn_itend 120
212    set_namelist namelist_cfg nn_stock 60
213    set_namelist namelist_cfg ln_rstart .true.
214    set_namelist namelist_cfg nn_rstctl 2
215    set_namelist namelist_cfg ln_clobber .true.
216    set_namelist namelist_cfg ln_linssh .true.
217    set_namelist namelist_cfg ln_read_cfg .false.
218    set_namelist namelist_cfg nn_fwb 0
219    set_namelist namelist_cfg jpni 8
220    set_namelist namelist_cfg jpnj 4
221    set_namelist namelist_cfg jpnij 32
222    set_namelist namelist_cfg jtni 2      # to be set when using OpenMP
223    set_namelist namelist_top_cfg ln_rsttr .true.
224    set_namelist namelist_top_cfg nn_rsttr 2
225    set_namelist namelist_cfg cn_ocerst_in \"GYREPIS_LONG_00000060_restart\"
226    set_namelist namelist_top_cfg cn_trcrst_in \"GYREPIS_LONG_00000060_restart_trc\"
227    if [ ${USING_MPMD} == "yes" ] ; then
228       set_xio_using_server iodef.xml true
229    else
230       set_xio_using_server iodef.xml false
231    fi
232    for (( i=1; i<=$NPROC; i++)) ; do
233        L_NPROC=$(( $i - 1 ))
234        L_NPROC=`printf "%04d\n" ${L_NPROC}`
235        ln -sf ../LONG/GYREPIS_LONG_00000060_restart_${L_NPROC}.nc .
236        ln -sf ../LONG/GYREPIS_LONG_00000060_restart_trc_${L_NPROC}.nc .
237    done
238    if [ ${USING_MPMD} == "yes" ] ; then
239       set_xio_using_server iodef.xml true
240    else
241       set_xio_using_server iodef.xml false
242    fi
243    cd ${SETTE_DIR}
244    . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${OMP_NTHR}
245    cd ${SETTE_DIR}
246    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
247fi
248
249if [ ${config} -eq 2 ] ;  then
250    ## Reproducibility tests for GYRE_PISCES
251    export TEST_NAME="REPRO_4_8"
252    cd ${CONFIG_DIR0}
253    if [ ${USING_OMP} == "yes" ]
254    then
255       . ./makenemo -m ${CMP_NAM} -n GYREPIS_32_omp -r GYRE_PISCES -j 8 add_key ${ADD_OMP_KEY} del_key ${DEL_KEYS}
256    else
257       . ./makenemo -m ${CMP_NAM} -n GYREPIS_32_mpi -r GYRE_PISCES -j 8 del_key ${DEL_KEYS}
258    fi
259    cd ${SETTE_DIR}
260    . ./param.cfg
261    . ./all_functions.sh
262    . ./prepare_exe_dir.sh
263    JOB_FILE=${EXE_DIR}/run_job.sh
264    NPROC=32
265    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
266    cd ${EXE_DIR}
267    set_namelist namelist_cfg nn_GYRE 12
268    set_namelist namelist_cfg ln_bench .true.
269    set_namelist namelist_cfg cn_exp \"GYREPIS_48\"
270    set_namelist namelist_cfg nn_it000 1
271    set_namelist namelist_cfg nn_itend 60
272    set_namelist namelist_cfg nn_fwb 0
273    set_namelist namelist_cfg ln_ctl .false.
274    set_namelist namelist_cfg ln_clobber .true.
275    set_namelist namelist_cfg ln_linssh .true.
276    set_namelist namelist_cfg ln_read_cfg .false.
277    set_namelist namelist_cfg jpni 4
278    set_namelist namelist_cfg jpnj 8
279    set_namelist namelist_cfg jpnij 32
280    set_namelist namelist_cfg jtni 2      # to be set when using OpenMP
281    if [ ${USING_MPMD} == "yes" ] ; then
282       set_xio_using_server iodef.xml true
283    else
284       set_xio_using_server iodef.xml false
285    fi
286    cd ${SETTE_DIR}
287    . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${OMP_NTHR}
288    cd ${SETTE_DIR}
289    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
290
291    cd ${SETTE_DIR}
292    export TEST_NAME="REPRO_8_4"
293    . ./prepare_exe_dir.sh
294    JOB_FILE=${EXE_DIR}/run_job.sh
295    NPROC=32
296    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
297    cd ${EXE_DIR}
298    set_namelist namelist_cfg nn_GYRE 12
299    set_namelist namelist_cfg ln_bench .true.
300    set_namelist namelist_cfg cn_exp \"GYREPIS_84\"
301    set_namelist namelist_cfg nn_it000 1
302    set_namelist namelist_cfg nn_itend 60
303    set_namelist namelist_cfg nn_fwb 0
304    set_namelist namelist_cfg ln_ctl .false.
305    set_namelist namelist_cfg ln_clobber .true.
306    set_namelist namelist_cfg ln_linssh .true.
307    set_namelist namelist_cfg ln_read_cfg .false.
308    set_namelist namelist_cfg jpni 8
309    set_namelist namelist_cfg jpnj 4
310    set_namelist namelist_cfg jpnij 32
311    set_namelist namelist_cfg jtni 2      # to be set when using OpenMP
312    if [ ${USING_MPMD} == "yes" ] ; then
313       set_xio_using_server iodef.xml true
314    else
315       set_xio_using_server iodef.xml false
316    fi
317    cd ${SETTE_DIR}
318    . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${OMP_NTHR}
319    cd ${SETTE_DIR}
320    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
321
322fi
323
324# TESTS FOR ORCA2_LIM3_PISCES CONFIGURATION
325if [ ${config} -eq 3 ] ;  then
326    ## Restartability tests for ORCA2_LIM3_PISCES
327    export TEST_NAME="LONG"
328    cd ${CONFIG_DIR0}
329    . ./makenemo -m ${CMP_NAM} -n ORCA2LIM3PIS_LONG -r ORCA2_LIM3_PISCES -j 8 del_key ${DEL_KEYS}
330    cd ${SETTE_DIR}
331    . ./param.cfg
332    . ./all_functions.sh
333    . ./prepare_exe_dir.sh
334    JOB_FILE=${EXE_DIR}/run_job.sh
335    NPROC=32
336    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
337    cd ${EXE_DIR}
338    set_namelist namelist_cfg cn_exp \"O2L3P_LONG\"
339    set_namelist namelist_cfg nn_it000 1
340    set_namelist namelist_cfg nn_itend 150
341    set_namelist namelist_cfg nn_stock 75
342    set_namelist namelist_cfg ln_clobber .true.
343    set_namelist namelist_cfg ln_read_cfg .true.
344    set_namelist namelist_cfg ln_linssh .false.
345    set_namelist namelist_cfg nn_fwb 0
346    set_namelist namelist_cfg jpni 4
347    set_namelist namelist_cfg jpnj 8
348    set_namelist namelist_cfg jpnij 32
349    set_namelist namelist_top_cfg ln_trcdta .false.
350    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
351    # if not you need input files, and for tests is not necessary
352    set_namelist namelist_pisces_cfg ln_presatm .false.
353    set_namelist namelist_pisces_cfg ln_varpar .false.
354    set_namelist namelist_pisces_cfg ln_dust .false.
355    set_namelist namelist_pisces_cfg ln_solub .false.
356    set_namelist namelist_pisces_cfg ln_river .false.
357    set_namelist namelist_pisces_cfg ln_ndepo .false.
358    set_namelist namelist_pisces_cfg ln_ironsed .false.
359    set_namelist namelist_pisces_cfg ln_ironice .false.
360    set_namelist namelist_pisces_cfg ln_hydrofe .false.
361    if [ ${USING_MPMD} == "yes" ] ; then
362       set_xio_using_server iodef.xml true
363    else
364       set_xio_using_server iodef.xml false
365    fi
366    cd ${SETTE_DIR}
367    . ./prepare_job.sh input_ORCA2_LIM3_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
368   
369    cd ${SETTE_DIR}
370    export TEST_NAME="SHORT"
371    . ./prepare_exe_dir.sh
372    cd ${EXE_DIR}
373    set_namelist namelist_cfg cn_exp \"O2L3P_SHORT\"
374    set_namelist namelist_cfg nn_it000 76
375    set_namelist namelist_cfg nn_itend 150
376    set_namelist namelist_cfg nn_stock 75
377    set_namelist namelist_cfg ln_rstart .true.
378    set_namelist namelist_cfg nn_rstctl 2
379    set_namelist namelist_cfg ln_clobber .true.
380    set_namelist namelist_cfg ln_read_cfg .true.
381    set_namelist namelist_cfg ln_linssh .false.
382    set_namelist namelist_cfg ln_icebergs .true.
383    set_namelist namelist_cfg nn_fwb 0
384    set_namelist namelist_cfg jpni 4
385    set_namelist namelist_cfg jpnj 8
386    set_namelist namelist_cfg jpnij 32
387    set_namelist namelist_top_cfg ln_rsttr .true.
388    set_namelist namelist_top_cfg nn_rsttr 2
389    set_namelist namelist_cfg cn_ocerst_in \"O2L3P_LONG_00000075_restart\"
390    set_namelist namelist_ice_cfg cn_icerst_in \"O2L3P_LONG_00000075_restart_ice\"
391    set_namelist namelist_top_cfg cn_trcrst_in \"O2L3P_LONG_00000075_restart_trc\"
392    # put ln_ironsed, ln_river, ln_ndepo, ln_dust
393    # if not you need input files, and for tests is not necessary
394    set_namelist namelist_pisces_cfg ln_presatm .false.
395    set_namelist namelist_pisces_cfg ln_varpar .false.
396    set_namelist namelist_pisces_cfg ln_dust .false.
397    set_namelist namelist_pisces_cfg ln_solub .false.
398    set_namelist namelist_pisces_cfg ln_river .false.
399    set_namelist namelist_pisces_cfg ln_ndepo .false.
400    set_namelist namelist_pisces_cfg ln_ironsed .false.
401    set_namelist namelist_pisces_cfg ln_ironice .false.
402    set_namelist namelist_pisces_cfg ln_hydrofe .false.
403    # put ln_pisdmp to false : no restoring to global mean value
404    set_namelist namelist_pisces_cfg ln_pisdmp .false.
405    for (( i=1; i<=$NPROC; i++)) ; do
406        L_NPROC=$(( $i - 1 ))
407        L_NPROC=`printf "%04d\n" ${L_NPROC}`
408        ln -sf ../LONG/O2L3P_LONG_00000075_restart_${L_NPROC}.nc .
409        ln -sf ../LONG/O2L3P_LONG_00000075_restart_trc_${L_NPROC}.nc .
410        ln -sf ../LONG/O2L3P_LONG_00000075_restart_ice_${L_NPROC}.nc .
411        ln -sf ../LONG/O2L3P_LONG_icebergs_00000075_restart_${L_NPROC}.nc O2L3P_LONG_00000075_restart_icebergs_${L_NPROC}.nc
412    done
413    if [ ${USING_MPMD} == "yes" ] ; then
414       set_xio_using_server iodef.xml true
415    else
416       set_xio_using_server iodef.xml false
417    fi
418    cd ${SETTE_DIR}
419    . ./prepare_job.sh input_ORCA2_LIM3_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
420    cd ${SETTE_DIR}
421    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
422fi
423
424if [ ${config} -eq 4 ] ;  then
425    ## Reproducibility tests for ORCA2_LIM3_PISCES
426    export TEST_NAME="REPRO_4_8"
427    cd ${CONFIG_DIR0}
428    . ./makenemo -m ${CMP_NAM} -n ORCA2LIM3PIS_32 -r ORCA2_LIM3_PISCES -j 8 del_key ${DEL_KEYS}
429    cd ${SETTE_DIR}
430    . ./param.cfg
431    . ./all_functions.sh
432    . ./prepare_exe_dir.sh
433    JOB_FILE=${EXE_DIR}/run_job.sh
434    NPROC=32
435    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
436    cd ${EXE_DIR}
437    set_namelist namelist_cfg nn_it000 1
438    set_namelist namelist_cfg nn_itend 75
439    set_namelist namelist_cfg nn_fwb 0
440    set_namelist namelist_cfg ln_ctl .false.
441    set_namelist namelist_cfg ln_clobber .true.
442    set_namelist namelist_cfg ln_read_cfg .true.
443    set_namelist namelist_cfg ln_linssh .false.
444    set_namelist namelist_cfg ln_icebergs .true.
445    set_namelist namelist_cfg jpni 4
446    set_namelist namelist_cfg jpnj 8
447    set_namelist namelist_cfg jpnij 32
448    set_namelist namelist_top_cfg ln_trcdta .false.
449    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
450    # if not you need input files, and for tests is not necessary
451    set_namelist namelist_pisces_cfg ln_presatm .false.
452    set_namelist namelist_pisces_cfg ln_varpar .false.
453    set_namelist namelist_pisces_cfg ln_dust .false.
454    set_namelist namelist_pisces_cfg ln_solub .false.
455    set_namelist namelist_pisces_cfg ln_river .false.
456    set_namelist namelist_pisces_cfg ln_ndepo .false.
457    set_namelist namelist_pisces_cfg ln_ironsed .false.
458    set_namelist namelist_pisces_cfg ln_ironice .false.
459    set_namelist namelist_pisces_cfg ln_hydrofe .false.
460    # put ln_pisdmp to false : no restoring to global mean value
461    set_namelist namelist_pisces_cfg ln_pisdmp .false.
462    if [ ${USING_MPMD} == "yes" ] ; then
463       set_xio_using_server iodef.xml true
464    else
465       set_xio_using_server iodef.xml false
466    fi
467    cd ${SETTE_DIR}
468    . ./prepare_job.sh input_ORCA2_LIM3_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
469    cd ${SETTE_DIR}
470    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
471
472    cd ${SETTE_DIR}
473    export TEST_NAME="REPRO_8_4"
474    . ./prepare_exe_dir.sh
475    JOB_FILE=${EXE_DIR}/run_job.sh
476    NPROC=32
477    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
478    cd ${EXE_DIR}
479    set_namelist namelist_cfg nn_it000 1
480    set_namelist namelist_cfg nn_itend 75
481    set_namelist namelist_cfg ln_clobber .true.
482    set_namelist namelist_cfg ln_read_cfg .true.
483    set_namelist namelist_cfg ln_linssh .false.
484    set_namelist namelist_cfg ln_icebergs .true.
485    set_namelist namelist_cfg nn_fwb 0
486    set_namelist namelist_cfg jpni 8
487    set_namelist namelist_cfg jpnj 4
488    set_namelist namelist_cfg jpnij 32
489    set_namelist namelist_top_cfg ln_trcdta .false.
490    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
491    # if not you need input files, and for tests is not necessary
492    set_namelist namelist_pisces_cfg ln_presatm .false.
493    set_namelist namelist_pisces_cfg ln_varpar .false.
494    set_namelist namelist_pisces_cfg ln_dust .false.
495    set_namelist namelist_pisces_cfg ln_solub .false.
496    set_namelist namelist_pisces_cfg ln_river .false.
497    set_namelist namelist_pisces_cfg ln_ndepo .false.
498    set_namelist namelist_pisces_cfg ln_ironsed .false.
499    set_namelist namelist_pisces_cfg ln_ironice .false.
500    set_namelist namelist_pisces_cfg ln_hydrofe .false.
501    # put ln_pisdmp to false : no restoring to global mean value
502    set_namelist namelist_pisces_cfg ln_pisdmp .false.
503    if [ ${USING_MPMD} == "yes" ] ; then
504       set_xio_using_server iodef.xml true
505    else
506       set_xio_using_server iodef.xml false
507    fi
508    cd ${SETTE_DIR}
509    . ./prepare_job.sh input_ORCA2_LIM3_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
510    cd ${SETTE_DIR}
511    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
512fi
513
514# TESTS FOR ORCA2_OFF_PISCES CONFIGURATION
515if [ ${config} -eq 5 ] ;  then
516    ## Restartability tests for ORCA2_OFF_PISCES
517    export TEST_NAME="LONG"
518    cd ${CONFIG_DIR0}
519    . ./makenemo -m ${CMP_NAM} -n ORCA2OFFPIS_LONG -r ORCA2_OFF_PISCES -j 8 del_key ${DEL_KEYS}
520    cd ${SETTE_DIR}
521    . ./param.cfg
522    . ./all_functions.sh
523    . ./prepare_exe_dir.sh
524    JOB_FILE=${EXE_DIR}/run_job.sh
525    NPROC=32
526    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
527    cd ${EXE_DIR}
528    set_namelist namelist_cfg cn_exp \"OFFP_LONG\"
529    set_namelist namelist_cfg nn_it000 1
530    set_namelist namelist_cfg nn_itend 40
531    set_namelist namelist_cfg nn_stock 20
532    set_namelist namelist_cfg ln_clobber .true.
533    set_namelist namelist_cfg ln_read_cfg .true.
534    set_namelist namelist_cfg ln_linssh .true.
535    set_namelist namelist_cfg jpni 4
536    set_namelist namelist_cfg jpnj 8
537    set_namelist namelist_cfg jpnij 32
538    set_namelist namelist_top_cfg ln_trcdta .false.
539    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
540    # if not you need input files, and for tests is not necessary
541    set_namelist namelist_pisces_cfg ln_presatm .false.
542    set_namelist namelist_pisces_cfg ln_varpar .false.
543    set_namelist namelist_pisces_cfg ln_dust .false.
544    set_namelist namelist_pisces_cfg ln_solub .false.
545    set_namelist namelist_pisces_cfg ln_river .false.
546    set_namelist namelist_pisces_cfg ln_ndepo .false.
547    set_namelist namelist_pisces_cfg ln_ironsed .false.
548    set_namelist namelist_pisces_cfg ln_ironice .false.
549    set_namelist namelist_pisces_cfg ln_hydrofe .false.
550    # put ln_pisdmp to false : no restoring to global mean value
551    set_namelist namelist_pisces_cfg ln_pisdmp .false.
552    if [ ${USING_MPMD} == "yes" ] ; then
553       set_xio_using_server iodef.xml true
554    else
555       set_xio_using_server iodef.xml false
556    fi
557    cd ${SETTE_DIR}
558    . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
559   
560    cd ${SETTE_DIR}
561    export TEST_NAME="SHORT"
562    . ./prepare_exe_dir.sh
563    cd ${EXE_DIR}
564    set_namelist namelist_cfg cn_exp \"OFFP_SHORT\"
565    set_namelist namelist_cfg nn_it000 21
566    set_namelist namelist_cfg nn_itend 40
567    set_namelist namelist_cfg nn_stock 20
568    set_namelist namelist_cfg ln_clobber .true.
569    set_namelist namelist_cfg ln_read_cfg .true.
570    set_namelist namelist_cfg ln_linssh .true.
571    set_namelist namelist_cfg jpni 4
572    set_namelist namelist_cfg jpnj 8
573    set_namelist namelist_cfg jpnij 32
574    set_namelist namelist_top_cfg ln_rsttr .true.
575    set_namelist namelist_top_cfg nn_rsttr 2
576    set_namelist namelist_top_cfg cn_trcrst_in \"OFFP_LONG_00000020_restart_trc\"
577    for (( i=1; i<=$NPROC; i++)) ; do
578        L_NPROC=$(( $i - 1 ))
579        L_NPROC=`printf "%04d\n" ${L_NPROC}`
580        ln -sf ../LONG/OFFP_LONG_00000020_restart_trc_${L_NPROC}.nc .
581    done
582    # put ln_ironsed, ln_river, ln_ndepo, ln_dust
583    # if not you need input files, and for tests is not necessary
584    set_namelist namelist_pisces_cfg ln_presatm .false.
585    set_namelist namelist_pisces_cfg ln_varpar .false.
586    set_namelist namelist_pisces_cfg ln_dust .false.
587    set_namelist namelist_pisces_cfg ln_solub .false.
588    set_namelist namelist_pisces_cfg ln_river .false.
589    set_namelist namelist_pisces_cfg ln_ndepo .false.
590    set_namelist namelist_pisces_cfg ln_ironsed .false.
591    set_namelist namelist_pisces_cfg ln_ironice .false.
592    set_namelist namelist_pisces_cfg ln_hydrofe .false.
593    # put ln_pisdmp to false : no restoring to global mean value
594    set_namelist namelist_pisces_cfg ln_pisdmp .false.
595    if [ ${USING_MPMD} == "yes" ] ; then
596       set_xio_using_server iodef.xml true
597    else
598       set_xio_using_server iodef.xml false
599    fi
600    cd ${SETTE_DIR}
601    . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME}  ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
602    cd ${SETTE_DIR}
603    . ./fcm_job.sh $NPROC  ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
604fi
605
606if [ ${config} -eq 6 ] ;  then
607    ## Reproducibility tests for ORCA2_OFF_PISCES
608    export TEST_NAME="REPRO_4_8"
609    cd ${CONFIG_DIR0}
610    . ./makenemo -m ${CMP_NAM} -n ORCA2OFFPIS_32 -r ORCA2_OFF_PISCES -j 8 del_key ${DEL_KEYS}
611    cd ${SETTE_DIR}
612    . ./param.cfg
613    . ./all_functions.sh
614    . ./prepare_exe_dir.sh
615    JOB_FILE=${EXE_DIR}/run_job.sh
616    NPROC=32
617    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
618    cd ${EXE_DIR}
619    set_namelist namelist_cfg nn_it000 1
620    set_namelist namelist_cfg nn_itend 40
621    set_namelist namelist_cfg ln_ctl .false.
622    set_namelist namelist_cfg ln_clobber .true.
623    set_namelist namelist_cfg ln_read_cfg .true.
624    set_namelist namelist_cfg ln_linssh .true.
625    set_namelist namelist_cfg jpni 4
626    set_namelist namelist_cfg jpnj 8
627    set_namelist namelist_cfg jpnij 32
628    set_namelist namelist_top_cfg ln_trcdta .false.
629    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
630    # if not you need input files, and for tests is not necessary
631    set_namelist namelist_pisces_cfg ln_presatm .false.
632    set_namelist namelist_pisces_cfg ln_varpar .false.
633    set_namelist namelist_pisces_cfg ln_dust .false.
634    set_namelist namelist_pisces_cfg ln_solub .false.
635    set_namelist namelist_pisces_cfg ln_river .false.
636    set_namelist namelist_pisces_cfg ln_ndepo .false.
637    set_namelist namelist_pisces_cfg ln_ironsed .false.
638    set_namelist namelist_pisces_cfg ln_ironice .false.
639    set_namelist namelist_pisces_cfg ln_hydrofe .false.
640    # put ln_pisdmp to false : no restoring to global mean value
641    set_namelist namelist_pisces_cfg ln_pisdmp .false.
642    if [ ${USING_MPMD} == "yes" ] ; then
643       set_xio_using_server iodef.xml true
644    else
645       set_xio_using_server iodef.xml false
646    fi
647    cd ${SETTE_DIR}
648    . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
649    cd ${SETTE_DIR}
650    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
651
652    cd ${SETTE_DIR}
653    export TEST_NAME="REPRO_8_4"
654    . ./prepare_exe_dir.sh
655    JOB_FILE=${EXE_DIR}/run_job.sh
656    NPROC=32
657    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
658    cd ${EXE_DIR}
659    set_namelist namelist_cfg nn_it000 1
660    set_namelist namelist_cfg nn_itend 40
661    set_namelist namelist_cfg ln_ctl .false.
662    set_namelist namelist_cfg ln_clobber .true.
663    set_namelist namelist_cfg ln_read_cfg .true.
664    set_namelist namelist_cfg ln_linssh .true.
665    set_namelist namelist_cfg jpni 8
666    set_namelist namelist_cfg jpnj 4
667    set_namelist namelist_cfg jpnij 32
668    set_namelist namelist_top_cfg ln_trcdta .false.
669    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
670    # if not you need input files, and for tests is not necessary
671    set_namelist namelist_pisces_cfg ln_presatm .false.
672    set_namelist namelist_pisces_cfg ln_varpar .false.
673    set_namelist namelist_pisces_cfg ln_dust .false.
674    set_namelist namelist_pisces_cfg ln_solub .false.
675    set_namelist namelist_pisces_cfg ln_river .false.
676    set_namelist namelist_pisces_cfg ln_ndepo .false.
677    set_namelist namelist_pisces_cfg ln_ironsed .false.
678    set_namelist namelist_pisces_cfg ln_ironice .false.
679    set_namelist namelist_pisces_cfg ln_hydrofe .false.
680    # put ln_pisdmp to false : no restoring to global mean value
681    set_namelist namelist_pisces_cfg ln_pisdmp .false.
682    if [ ${USING_MPMD} == "yes" ] ; then
683       set_xio_using_server iodef.xml true
684    else
685       set_xio_using_server iodef.xml false
686    fi
687    cd ${SETTE_DIR}
688    . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
689    cd ${SETTE_DIR}
690    . ./fcm_job.sh $NPROC  ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
691fi
692
693# TESTS FOR AMM12 CONFIGURATION
694if [ ${config} -eq 7 ] ;  then
695    ## Restartability tests for AMM12
696    export TEST_NAME="LONG"
697    cd ${CONFIG_DIR0}
698    . ./makenemo -m ${CMP_NAM} -n AMM12_LONG -r AMM12 -j 8 del_key ${DEL_KEYS}
699    cd ${SETTE_DIR}
700    . ./param.cfg
701    . ./all_functions.sh
702    . ./prepare_exe_dir.sh
703    JOB_FILE=${EXE_DIR}/run_job.sh
704    NPROC=32
705    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
706    cd ${EXE_DIR}
707    set_namelist namelist_cfg nn_it000 1
708    set_namelist namelist_cfg nn_itend 576
709    set_namelist namelist_cfg nn_stock 288
710    set_namelist namelist_cfg nn_fwb 0
711    set_namelist namelist_cfg ln_ctl .false.
712    set_namelist namelist_cfg ln_clobber .true.
713    set_namelist namelist_cfg ln_read_cfg .true.
714    set_namelist namelist_cfg ln_linssh .false.
715    set_namelist namelist_cfg jpni 4
716    set_namelist namelist_cfg jpnj 8
717    set_namelist namelist_cfg jpnij 32
718    if [ ${USING_MPMD} == "yes" ] ; then
719       set_xio_using_server iodef.xml true
720    else
721       set_xio_using_server iodef.xml false
722    fi
723    cd ${SETTE_DIR}
724    . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
725
726    cd ${SETTE_DIR}
727    export TEST_NAME="SHORT"
728    . ./prepare_exe_dir.sh
729    cd ${EXE_DIR}
730    set_namelist namelist_cfg nn_it000 289
731    set_namelist namelist_cfg nn_itend 576
732    set_namelist namelist_cfg nn_fwb 0
733    set_namelist namelist_cfg ln_ctl .false.
734    set_namelist namelist_cfg ln_clobber .true.
735    set_namelist namelist_cfg ln_read_cfg .true.
736    set_namelist namelist_cfg ln_linssh .false.
737    set_namelist namelist_cfg jpni 4
738    set_namelist namelist_cfg jpnj 8
739    set_namelist namelist_cfg jpnij 32
740    set_namelist namelist_cfg ln_rstart .true.
741    set_namelist namelist_cfg nn_rstctl 2
742    set_namelist namelist_cfg cn_ocerst_in \"AMM12_00000288_restart_oce_out\"
743    set_namelist namelist_cfg nn_date0 20120102
744    for (( i=1; i<=$NPROC; i++)) ; do
745        L_NPROC=$(( $i - 1 ))
746        L_NPROC=`printf "%04d\n" ${L_NPROC}`
747        ln -sf ../LONG/AMM12_00000288_restart_oce_out_${L_NPROC}.nc .
748    done
749    if [ ${USING_MPMD} == "yes" ] ; then
750       set_xio_using_server iodef.xml true
751    else
752       set_xio_using_server iodef.xml false
753    fi
754    cd ${SETTE_DIR}
755    . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
756    cd ${SETTE_DIR}
757    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
758fi
759
760if [ ${config} -eq 8 ] ;  then
761## Reproducibility tests for AMM12
762    export TEST_NAME="REPRO_8_4"
763    cd ${CONFIG_DIR0}
764    . ./makenemo -m ${CMP_NAM} -n AMM12_32 -r AMM12 -j 8 del_key ${DEL_KEYS}
765    cd ${SETTE_DIR}
766    . ./param.cfg
767    . ./all_functions.sh
768    . ./prepare_exe_dir.sh
769    JOB_FILE=${EXE_DIR}/run_job.sh
770    NPROC=32
771    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
772    cd ${EXE_DIR}
773    set_namelist namelist_cfg nn_it000 1
774    set_namelist namelist_cfg nn_itend 576
775    set_namelist namelist_cfg nn_fwb 0
776    set_namelist namelist_cfg ln_ctl .false.
777    set_namelist namelist_cfg ln_clobber .true.
778    set_namelist namelist_cfg ln_read_cfg .true.
779    set_namelist namelist_cfg ln_linssh .false.
780    set_namelist namelist_cfg jpni 8
781    set_namelist namelist_cfg jpnj 4
782    set_namelist namelist_cfg jpnij 32
783    if [ ${USING_MPMD} == "yes" ] ; then
784       set_xio_using_server iodef.xml true
785    else
786       set_xio_using_server iodef.xml false
787    fi
788    cd ${SETTE_DIR}
789    . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
790    cd ${SETTE_DIR}
791    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
792
793    cd ${SETTE_DIR}
794    export TEST_NAME="REPRO_4_8"
795    . ./prepare_exe_dir.sh
796    JOB_FILE=${EXE_DIR}/run_job.sh
797    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
798    cd ${EXE_DIR}
799    set_namelist namelist_cfg nn_it000 1
800    set_namelist namelist_cfg nn_itend 576
801    set_namelist namelist_cfg nn_fwb 0
802    set_namelist namelist_cfg ln_ctl .false.
803    set_namelist namelist_cfg ln_clobber .true.
804    set_namelist namelist_cfg ln_read_cfg .true.
805    set_namelist namelist_cfg ln_linssh .false.
806    set_namelist namelist_cfg jpni 4
807    set_namelist namelist_cfg jpnj 8
808    set_namelist namelist_cfg jpnij 32
809    if [ ${USING_MPMD} == "yes" ] ; then
810       set_xio_using_server iodef.xml true
811    else
812       set_xio_using_server iodef.xml false
813    fi
814    cd ${SETTE_DIR}
815    . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
816    cd ${SETTE_DIR}
817    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
818fi
819
820
821# TESTS FOR ORCA2_SAS_LIM3 CONFIGURATION
822if [ ${config} -eq 9 ] ;  then
823    ## Restartability tests for SAS
824    export TEST_NAME="LONG"
825    cd ${CONFIG_DIR0}
826    . ./makenemo -m ${CMP_NAM} -n SAS_LONG -r ORCA2_SAS_LIM3 -j 8 del_key ${DEL_KEYS}
827    cd ${SETTE_DIR}
828    . ./param.cfg
829    . ./all_functions.sh
830    . ./prepare_exe_dir.sh
831    JOB_FILE=${EXE_DIR}/run_job.sh
832    NPROC=32
833    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
834    cd ${EXE_DIR}
835    set_namelist namelist_cfg cn_exp \"SAS\"
836    set_namelist namelist_cfg nn_it000 1
837    set_namelist namelist_cfg nn_itend 100
838    set_namelist namelist_cfg nn_stock 50
839    set_namelist namelist_cfg ln_ctl .false.
840    set_namelist namelist_cfg ln_clobber .true.
841    set_namelist namelist_cfg ln_read_cfg .true.
842    set_namelist namelist_cfg ln_linssh .true.
843    set_namelist namelist_cfg nn_fwb 0
844    set_namelist namelist_cfg jpni 4
845    set_namelist namelist_cfg jpnj 8
846    set_namelist namelist_cfg jpnij 32
847    if [ ${USING_MPMD} == "yes" ] ; then
848       set_xio_using_server iodef.xml true
849    else
850       set_xio_using_server iodef.xml false
851    fi
852    cd ${SETTE_DIR}
853    . ./prepare_job.sh input_SAS.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
854
855    cd ${SETTE_DIR}
856    export TEST_NAME="SHORT"
857    . ./prepare_exe_dir.sh
858    cd ${EXE_DIR}
859    set_namelist namelist_cfg cn_exp \"SAS\"
860    set_namelist namelist_cfg nn_it000 51
861    set_namelist namelist_cfg nn_itend 100
862    set_namelist namelist_cfg ln_ctl .false.
863    set_namelist namelist_cfg ln_clobber .true.
864    set_namelist namelist_cfg ln_read_cfg .true.
865    set_namelist namelist_cfg ln_linssh .true.
866    set_namelist namelist_cfg nn_fwb 0
867    set_namelist namelist_cfg jpni 4
868    set_namelist namelist_cfg jpnj 8
869    set_namelist namelist_cfg jpnij 32
870    set_namelist namelist_cfg ln_rstart .true.
871    set_namelist namelist_cfg nn_rstctl 2
872    set_namelist namelist_ice_cfg cn_icerst_in \"SAS_00000050_restart_ice\"
873    if [ ${USING_MPMD} == "yes" ] ; then
874       set_xio_using_server iodef.xml true
875    else
876       set_xio_using_server iodef.xml false
877    fi
878    for (( i=1; i<=$NPROC; i++)) ; do
879        L_NPROC=$(( $i - 1 ))
880        L_NPROC=`printf "%04d\n" ${L_NPROC}`
881        ln -sf ../LONG/SAS_00000050_restart_ice_${L_NPROC}.nc .
882    done
883    cd ${SETTE_DIR}
884    . ./prepare_job.sh input_SAS.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
885    cd ${SETTE_DIR}
886    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
887fi
888
889# TESTS FOR ISOMIP CONFIGURATION
890if [ ${config} -eq 10 ] ;  then
891    ## Restartability tests for ISOMIP
892    export TEST_NAME="LONG"
893    cd ${CONFIG_DIR0}
894    . ./makenemo -m ${CMP_NAM} -n ISOMIP_LONG -r ISOMIP -a TEST_CASES -j 8 del_key ${DEL_KEYS}
895    cd ${SETTE_DIR}
896    . ./param.cfg
897    . ./all_functions.sh
898    . ./prepare_exe_dir.sh
899    JOB_FILE=${EXE_DIR}/run_job.sh
900    NPROC=32
901    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
902    cd ${EXE_DIR}
903    set_namelist namelist_cfg cn_exp \"ISOMIP_LONG\"
904    set_namelist namelist_cfg nn_it000 1
905    set_namelist namelist_cfg nn_itend 96
906    set_namelist namelist_cfg nn_stock 48
907    set_namelist namelist_cfg ln_clobber .true.
908    set_namelist namelist_cfg ln_read_cfg .false.
909    set_namelist namelist_cfg jpni 4
910    set_namelist namelist_cfg jpnj 8
911    set_namelist namelist_cfg jpnij 32
912    if [ ${USING_MPMD} == "yes" ] ; then
913       set_xio_using_server iodef.xml true
914    else
915       set_xio_using_server iodef.xml false
916    fi
917    cd ${SETTE_DIR}
918    . ./prepare_job.sh input_ISOMIP.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
919
920    cd ${SETTE_DIR}
921    export TEST_NAME="SHORT"
922    . ./prepare_exe_dir.sh
923    cd ${EXE_DIR}
924    set_namelist namelist_cfg cn_exp \"ISOMIP_SHORT\"
925    set_namelist namelist_cfg nn_it000 49
926    set_namelist namelist_cfg nn_itend 96
927    set_namelist namelist_cfg nn_stock 48
928    set_namelist namelist_cfg ln_rstart .true.
929    set_namelist namelist_cfg nn_rstctl 2
930    set_namelist namelist_cfg ln_clobber .true.
931    set_namelist namelist_cfg ln_read_cfg .false.
932    set_namelist namelist_cfg jpni 4
933    set_namelist namelist_cfg jpnj 8
934    set_namelist namelist_cfg jpnij 32
935    set_namelist namelist_cfg cn_ocerst_in \"ISOMIP_LONG_00000048_restart\"
936    if [ ${USING_MPMD} == "yes" ] ; then
937       set_xio_using_server iodef.xml true
938    else
939       set_xio_using_server iodef.xml false
940    fi
941    for (( i=1; i<=$NPROC; i++)) ; do
942        L_NPROC=$(( $i - 1 ))
943        L_NPROC=`printf "%04d\n" ${L_NPROC}`
944        ln -sf ../LONG/ISOMIP_LONG_00000048_restart_${L_NPROC}.nc .
945    done
946    if [ ${USING_MPMD} == "yes" ] ; then
947       set_xio_using_server iodef.xml true
948    else
949       set_xio_using_server iodef.xml false
950    fi
951    cd ${SETTE_DIR}
952    . ./prepare_job.sh input_ISOMIP.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
953    cd ${SETTE_DIR}
954    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
955fi
956if [ ${config} -eq 11 ] ;  then
957    ## Reproducibility tests for ISOMIP
958    export TEST_NAME="REPRO_4_8"
959    cd ${CONFIG_DIR0}
960    . ./makenemo -m ${CMP_NAM} -n ISOMIP_32 -r ISOMIP -a TEST_CASES -j 8 del_key ${DEL_KEYS}
961    cd ${SETTE_DIR}
962    . ./param.cfg
963    . ./all_functions.sh
964    . ./prepare_exe_dir.sh
965    JOB_FILE=${EXE_DIR}/run_job.sh
966    NPROC=32
967    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
968    cd ${EXE_DIR}
969    set_namelist namelist_cfg cn_exp \"ISOMIP_14\"
970    set_namelist namelist_cfg nn_it000 1
971    set_namelist namelist_cfg nn_itend 48
972    set_namelist namelist_cfg ln_ctl .false.
973    set_namelist namelist_cfg ln_clobber .true.
974    set_namelist namelist_cfg ln_read_cfg .false.
975    set_namelist namelist_cfg jpni 4
976    set_namelist namelist_cfg jpnj 8
977    set_namelist namelist_cfg jpnij 32
978    if [ ${USING_MPMD} == "yes" ] ; then
979       set_xio_using_server iodef.xml true
980    else
981       set_xio_using_server iodef.xml false
982    fi
983    cd ${SETTE_DIR}
984    . ./prepare_job.sh input_ISOMIP.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
985    cd ${SETTE_DIR}
986    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
987
988    cd ${SETTE_DIR}
989    export TEST_NAME="REPRO_8_4"
990    . ./prepare_exe_dir.sh
991    JOB_FILE=${EXE_DIR}/run_job.sh
992    NPROC=32
993    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
994    cd ${EXE_DIR}
995    set_namelist namelist_cfg cn_exp \"ISOMIP_22\"
996    set_namelist namelist_cfg nn_it000 1
997    set_namelist namelist_cfg nn_itend 48
998    set_namelist namelist_cfg ln_ctl .false.
999    set_namelist namelist_cfg ln_clobber .true.
1000    set_namelist namelist_cfg ln_read_cfg .false.
1001    set_namelist namelist_cfg jpni 8
1002    set_namelist namelist_cfg jpnj 4
1003    set_namelist namelist_cfg jpnij 32
1004    if [ ${USING_MPMD} == "yes" ] ; then
1005       set_xio_using_server iodef.xml true
1006    else
1007       set_xio_using_server iodef.xml false
1008    fi
1009    cd ${SETTE_DIR}
1010    . ./prepare_job.sh input_ISOMIP.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
1011    cd ${SETTE_DIR}
1012    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1013
1014fi
1015
1016## Test assimilation interface code, OBS and ASM for reproducibility
1017## Restartability not tested (ASM code not restartable while increments are being applied)
1018if [ ${config} -eq 12 ] ; then
1019   ## Reproducibility tests for ORCA2_LIM3_OBS
1020    export TEST_NAME="REPRO_4_8"
1021    cd ${CONFIG_DIR0}
1022    . ./makenemo -m ${CMP_NAM} -n ORCA2_LIM3_OBS -r ORCA2_LIM3_PISCES -d "OPA_SRC LIM_SRC_3"  -j 8 add_key "key_asminc" del_key "key_top"
1023    cd ${SETTE_DIR}
1024    . ./param.cfg
1025    . ./all_functions.sh
1026    . ./prepare_exe_dir.sh
1027    JOB_FILE=${EXE_DIR}/run_job.sh
1028    NPROC=32
1029    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1030    cd ${EXE_DIR}
1031    set_namelist namelist_cfg nn_it000 1
1032    set_namelist namelist_cfg nn_itend 75
1033    set_namelist namelist_cfg nn_fwb 0
1034    set_namelist namelist_cfg ln_ctl .false.
1035    set_namelist namelist_cfg ln_clobber .true.
1036    set_namelist namelist_cfg ln_read_cfg .true.
1037    set_namelist namelist_cfg ln_linssh .false.
1038    set_namelist namelist_cfg ln_icebergs .false.
1039    set_namelist namelist_cfg jpni 4
1040    set_namelist namelist_cfg jpnj 8
1041    set_namelist namelist_cfg jpnij 32
1042    set_namelist namelist_cfg ln_diaobs .true.
1043    set_namelist namelist_cfg ln_t3d .true.
1044    set_namelist namelist_cfg ln_s3d .true.
1045    set_namelist namelist_cfg ln_sst .true.
1046    set_namelist namelist_cfg ln_sla .true.
1047    set_namelist namelist_cfg ln_sic .true.
1048    set_namelist namelist_cfg ln_vel3d .true.
1049    set_namelist namelist_cfg ln_bkgwri .true.
1050    set_namelist namelist_cfg ln_trainc .true.
1051    set_namelist namelist_cfg ln_dyninc .true.
1052    set_namelist namelist_cfg ln_sshinc .true.
1053    set_namelist namelist_cfg ln_asmiau .true.
1054    #remove all useless options for pisces (due to ORCA2_LIM3_PISCES reference configuration)
1055    set_namelist namelist_top_cfg ln_trcdta .false.
1056    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
1057    # if not you need input files, and for tests is not necessary
1058    set_namelist namelist_pisces_cfg ln_presatm .false.
1059    set_namelist namelist_pisces_cfg ln_varpar .false.
1060    set_namelist namelist_pisces_cfg ln_dust .false.
1061    set_namelist namelist_pisces_cfg ln_solub .false.
1062    set_namelist namelist_pisces_cfg ln_river .false.
1063    set_namelist namelist_pisces_cfg ln_ndepo .false.
1064    set_namelist namelist_pisces_cfg ln_ironsed .false.
1065    set_namelist namelist_pisces_cfg ln_ironice .false.
1066    set_namelist namelist_pisces_cfg ln_hydrofe .false.
1067    if [ ${USING_MPMD} == "yes" ] ; then
1068       set_xio_using_server iodef.xml true
1069    else
1070       set_xio_using_server iodef.xml false
1071    fi
1072    cd ${SETTE_DIR}
1073    . ./prepare_job.sh input_ORCA2_LIM3_OBS.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
1074    cd ${SETTE_DIR}
1075    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1076
1077   cd ${SETTE_DIR}
1078    export TEST_NAME="REPRO_8_4"
1079    . ./prepare_exe_dir.sh
1080    JOB_FILE=${EXE_DIR}/run_job.sh
1081    NPROC=32
1082    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1083    cd ${EXE_DIR}
1084    set_namelist namelist_cfg nn_it000 1
1085    set_namelist namelist_cfg nn_itend 75
1086    set_namelist namelist_cfg nn_fwb 0
1087    set_namelist namelist_cfg ln_ctl .false.
1088    set_namelist namelist_cfg ln_clobber .true.
1089    set_namelist namelist_cfg ln_read_cfg .true.
1090    set_namelist namelist_cfg ln_linssh .false.
1091    set_namelist namelist_cfg ln_icebergs .false.
1092    set_namelist namelist_cfg jpni 8
1093    set_namelist namelist_cfg jpnj 4
1094    set_namelist namelist_cfg jpnij 32
1095    set_namelist namelist_cfg ln_diaobs .true.
1096    set_namelist namelist_cfg ln_t3d .true.
1097    set_namelist namelist_cfg ln_s3d .true.
1098    set_namelist namelist_cfg ln_sst .true.
1099    set_namelist namelist_cfg ln_sla .true.
1100    set_namelist namelist_cfg ln_sic .true.
1101    set_namelist namelist_cfg ln_vel3d .true.
1102    set_namelist namelist_cfg ln_bkgwri .true.
1103    set_namelist namelist_cfg ln_trainc .true.
1104    set_namelist namelist_cfg ln_dyninc .true.
1105    set_namelist namelist_cfg ln_sshinc .true.
1106    set_namelist namelist_cfg ln_asmiau .true.
1107    #remove all useless options for pisces (due to ORCA2_LIM3_PISCES reference configuration)
1108    set_namelist namelist_top_cfg ln_trcdta .false.
1109    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
1110    # if not you need input files, and for tests is not necessary
1111    set_namelist namelist_pisces_cfg ln_presatm .false.
1112    set_namelist namelist_pisces_cfg ln_varpar .false.
1113    set_namelist namelist_pisces_cfg ln_dust .false.
1114    set_namelist namelist_pisces_cfg ln_solub .false.
1115    set_namelist namelist_pisces_cfg ln_river .false.
1116    set_namelist namelist_pisces_cfg ln_ndepo .false.
1117    set_namelist namelist_pisces_cfg ln_ironsed .false.
1118    set_namelist namelist_pisces_cfg ln_ironice .false.
1119    set_namelist namelist_pisces_cfg ln_hydrofe .false.
1120    if [ ${USING_MPMD} == "yes" ] ; then
1121       set_xio_using_server iodef.xml true
1122    else
1123       set_xio_using_server iodef.xml false
1124    fi
1125    cd ${SETTE_DIR}
1126    . ./prepare_job.sh input_ORCA2_LIM3_OBS.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
1127    cd ${SETTE_DIR}
1128    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1129fi
1130# TEST FOR ORCA2_LIM3_AGRIF : simple test of running AGRIF (no restartability neither reproducibility tests)
1131if [ ${config} -eq 13 ] ;  then
1132    ## ORCA2_LIM3 with Agulhas AGRIF zoom in MPI
1133    export TEST_NAME="SHORT"
1134    cd ${CONFIG_DIR0}
1135    . ./makenemo -m ${CMP_NAM} -n ORCA2AGUL_1_2 -r ORCA2_LIM3_PISCES -d "OPA_SRC LIM_SRC_3 NST_SRC" -j 8 add_key "key_agrif" del_key "key_top"
1136    cd ${SETTE_DIR}
1137    . ./param.cfg
1138    . ./all_functions.sh
1139    . ./prepare_exe_dir.sh
1140    JOB_FILE=${EXE_DIR}/run_job.sh
1141    NPROC=2
1142    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1143    cd ${EXE_DIR}
1144    set_namelist namelist_cfg nn_it000 1
1145    set_namelist namelist_cfg nn_itend 75
1146    set_namelist namelist_cfg ln_ctl .false.
1147    set_namelist namelist_cfg ln_clobber .true.
1148    set_namelist namelist_cfg ln_read_cfg .true.
1149    set_namelist namelist_cfg ln_linssh .true.
1150    set_namelist namelist_cfg ln_hpg_sco .false.
1151    set_namelist namelist_cfg ln_hpg_zps .true.
1152    set_namelist namelist_cfg nn_fwb 0
1153    set_namelist namelist_cfg jpni 1
1154    set_namelist namelist_cfg jpnj 2
1155    set_namelist namelist_cfg jpnij 2
1156    set_namelist 1_namelist_cfg nn_it000 1
1157    set_namelist 1_namelist_cfg nn_itend 150
1158    set_namelist 1_namelist_cfg nn_fsbc 1
1159    set_namelist 1_namelist_cfg ln_ctl .false.
1160    set_namelist 1_namelist_cfg ln_clobber .true.
1161    set_namelist 1_namelist_cfg ln_read_cfg .true.
1162    set_namelist 1_namelist_cfg ln_linssh .true.
1163    set_namelist 1_namelist_cfg ln_hpg_sco .false.
1164    set_namelist 1_namelist_cfg ln_hpg_zps .true.
1165    if [ ${USING_MPMD} == "yes" ] ; then
1166       set_xio_using_server iodef.xml true
1167    else
1168       set_xio_using_server iodef.xml false
1169    fi
1170    cd ${SETTE_DIR}
1171    . ./prepare_job.sh input_ORCA2_LIM3_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
1172    cd ${SETTE_DIR}
1173    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1174fi
1175
1176# test code corruption with AGRIF
1177# Compile and run with or without AGRIF ORCA2_LIM3
1178if [ ${config} -eq 14 ] ;  then
1179    # First run same as 15 but without zoom
1180    export TEST_NAME="SHORT_NOZOOM"
1181    cd ${CONFIG_DIR0}
1182    . ./makenemo -m ${CMP_NAM} -n ORCA2AGUL_2_2 -r ORCA2_LIM3_PISCES -d "OPA_SRC LIM_SRC_3 NST_SRC" -j 8 add_key "key_agrif" del_key "key_top"
1183    cd ${SETTE_DIR}
1184    . ./param.cfg
1185    . ./all_functions.sh
1186    . ./prepare_exe_dir.sh
1187    JOB_FILE=${EXE_DIR}/run_job.sh
1188    NPROC=4
1189    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1190    cd ${EXE_DIR}
1191    set_namelist namelist_cfg nn_it000 1
1192    set_namelist namelist_cfg nn_itend 75
1193    set_namelist namelist_cfg ln_ctl .false.
1194    set_namelist namelist_cfg ln_clobber .true.
1195    set_namelist namelist_cfg ln_read_cfg .true.
1196    set_namelist namelist_cfg ln_linssh .true.
1197    set_namelist namelist_cfg ln_hpg_sco .false.
1198    set_namelist namelist_cfg ln_hpg_zps .true.
1199    set_namelist namelist_cfg nn_fwb 0
1200    set_namelist namelist_cfg jpni 2
1201    set_namelist namelist_cfg jpnj 2
1202    set_namelist namelist_cfg jpnij 4
1203#
1204#   Set the number of fine grids to zero:   
1205    sed -i "1s/.*/0/" ${EXE_DIR}/AGRIF_FixedGrids.in
1206
1207    if [ ${USING_MPMD} == "yes" ] ; then
1208       set_xio_using_server iodef.xml true
1209    else
1210       set_xio_using_server iodef.xml false
1211    fi
1212    cd ${SETTE_DIR}
1213    . ./prepare_job.sh input_ORCA2_LIM3_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
1214    cd ${SETTE_DIR}
1215    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1216
1217    export TEST_NAME="SHORT_NOAGRIF"
1218    cd ${CONFIG_DIR0}
1219    . ./makenemo -m ${CMP_NAM} -n ORCA2AGUL_2_2_NAG -r ORCA2_LIM3_PISCES -d "OPA_SRC LIM_SRC_3 NST_SRC" -j 8 del_key "key_top"
1220    cd ${SETTE_DIR}
1221    . ./param.cfg
1222    . ./all_functions.sh
1223    . ./prepare_exe_dir.sh
1224    JOB_FILE=${EXE_DIR}/run_job.sh
1225    NPROC=4
1226    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1227    cd ${EXE_DIR}
1228    set_namelist namelist_cfg nn_it000 1
1229    set_namelist namelist_cfg nn_itend 75
1230    set_namelist namelist_cfg ln_ctl .false.
1231    set_namelist namelist_cfg ln_clobber .true.
1232    set_namelist namelist_cfg ln_read_cfg .true.
1233    set_namelist namelist_cfg ln_linssh .true.
1234    set_namelist namelist_cfg ln_hpg_sco .false.
1235    set_namelist namelist_cfg ln_hpg_zps .true.
1236    set_namelist namelist_cfg nn_fwb 0
1237    set_namelist namelist_cfg jpni 2
1238    set_namelist namelist_cfg jpnj 2
1239    set_namelist namelist_cfg jpnij 4
1240#
1241    if [ ${USING_MPMD} == "yes" ] ; then
1242       set_xio_using_server iodef.xml true
1243    else
1244       set_xio_using_server iodef.xml false
1245    fi
1246    cd ${SETTE_DIR}
1247    . ./prepare_job.sh input_ORCA2_LIM3_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
1248    cd ${SETTE_DIR}
1249    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1250
1251fi
1252
1253## Restartability tests for ORCA2_LIM3_AGRIF
1254if [ ${config} -eq 15 ] ;  then
1255    export TEST_NAME="LONG"
1256    cd ${CONFIG_DIR0}
1257    . ./makenemo -m ${CMP_NAM} -n ORCA2AGUL_LONG -r ORCA2_LIM3_PISCES -d "OPA_SRC LIM_SRC_3 NST_SRC" -j 8 add_key "key_agrif" del_key "key_top"
1258    cd ${SETTE_DIR}
1259    . ./param.cfg
1260    . ./all_functions.sh
1261    . ./prepare_exe_dir.sh
1262    JOB_FILE=${EXE_DIR}/run_job.sh
1263    NPROC=4
1264    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1265    cd ${EXE_DIR}
1266    set_namelist namelist_cfg cn_exp \"O2LP_LONG\"
1267    set_namelist namelist_cfg nn_it000 1
1268    set_namelist namelist_cfg nn_itend 150
1269    set_namelist namelist_cfg nn_stock 75
1270    set_namelist namelist_cfg ln_clobber .true.
1271    set_namelist namelist_cfg ln_read_cfg .true.
1272    set_namelist namelist_cfg ln_linssh .true.
1273    set_namelist namelist_cfg ln_hpg_sco .false.
1274    set_namelist namelist_cfg ln_hpg_zps .true.
1275    set_namelist namelist_cfg nn_fwb 0
1276    set_namelist namelist_cfg jpni 2
1277    set_namelist namelist_cfg jpnj 2
1278    set_namelist namelist_cfg jpnij 4
1279    set_namelist 1_namelist_cfg cn_exp \"O2LP_LONG\"
1280    set_namelist 1_namelist_cfg nn_it000 1
1281    set_namelist 1_namelist_cfg nn_itend 300
1282    set_namelist 1_namelist_cfg nn_stock 150
1283    set_namelist 1_namelist_cfg nn_fsbc 1
1284    set_namelist 1_namelist_cfg ln_ctl .false.
1285    set_namelist 1_namelist_cfg ln_clobber .true.
1286    set_namelist 1_namelist_cfg ln_read_cfg .true.
1287    set_namelist 1_namelist_cfg ln_linssh .true.
1288    set_namelist 1_namelist_cfg ln_hpg_sco .false.
1289    set_namelist 1_namelist_cfg ln_hpg_zps .true.
1290#
1291    if [ ${USING_MPMD} == "yes" ] ; then
1292       set_xio_using_server iodef.xml true
1293    else
1294       set_xio_using_server iodef.xml false
1295    fi
1296    cd ${SETTE_DIR}
1297    . ./prepare_job.sh input_ORCA2_LIM3_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
1298   
1299    cd ${SETTE_DIR}
1300    export TEST_NAME="SHORT"
1301    . ./prepare_exe_dir.sh
1302    cd ${EXE_DIR}
1303    set_namelist namelist_cfg cn_exp \"O2LP_SHORT\"
1304    set_namelist namelist_cfg nn_it000 76
1305    set_namelist namelist_cfg nn_itend 150
1306    set_namelist namelist_cfg nn_stock 75
1307    set_namelist namelist_cfg ln_rstart .true.
1308    set_namelist namelist_cfg nn_rstctl 2
1309    set_namelist namelist_cfg ln_clobber .true.
1310    set_namelist namelist_cfg ln_read_cfg .true.
1311    set_namelist namelist_cfg ln_linssh .true.
1312    set_namelist namelist_cfg ln_hpg_sco .false.
1313    set_namelist namelist_cfg ln_hpg_zps .true.
1314    set_namelist namelist_cfg nn_fwb 0
1315    set_namelist namelist_cfg jpni 2
1316    set_namelist namelist_cfg jpnj 2
1317    set_namelist namelist_cfg jpnij 4
1318    set_namelist 1_namelist_cfg cn_exp \"O2LP_SHORT\"
1319    set_namelist 1_namelist_cfg nn_it000 151
1320    set_namelist 1_namelist_cfg nn_itend 300
1321    set_namelist 1_namelist_cfg nn_stock 150
1322    set_namelist 1_namelist_cfg nn_fsbc 1
1323    set_namelist 1_namelist_cfg ln_rstart .true.
1324    set_namelist 1_namelist_cfg nn_rstctl 2
1325    set_namelist 1_namelist_cfg ln_clobber .true.
1326    set_namelist 1_namelist_cfg ln_read_cfg .true.
1327    set_namelist 1_namelist_cfg ln_linssh .true.
1328    set_namelist 1_namelist_cfg ln_hpg_sco .false.
1329    set_namelist 1_namelist_cfg ln_hpg_zps .true.
1330    set_namelist namelist_cfg cn_ocerst_in \"O2LP_LONG_00000075_restart\"
1331    set_namelist namelist_ice_cfg cn_icerst_in \"O2LP_LONG_00000075_restart_ice\"
1332    set_namelist 1_namelist_cfg cn_ocerst_in \"O2LP_LONG_00000150_restart\"
1333
1334    for (( i=1; i<=$NPROC; i++)) ; do
1335        L_NPROC=$(( $i - 1 ))
1336        L_NPROC=`printf "%04d\n" ${L_NPROC}`
1337        ln -sf ../LONG/O2LP_LONG_00000075_restart_${L_NPROC}.nc .
1338        ln -sf ../LONG/O2LP_LONG_00000075_restart_ice_${L_NPROC}.nc .
1339        ln -sf ../LONG/1_O2LP_LONG_00000150_restart_${L_NPROC}.nc .
1340    done
1341    if [ ${USING_MPMD} == "yes" ] ; then
1342       set_xio_using_server iodef.xml true
1343    else
1344       set_xio_using_server iodef.xml false
1345    fi
1346    cd ${SETTE_DIR}
1347    . ./prepare_job.sh input_ORCA2_LIM3_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
1348    cd ${SETTE_DIR}
1349    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1350fi
1351
1352## Reproducibility tests for ORCA2_LIM3_AGRIF
1353if [ ${config} -eq 16 ] ;  then
1354    export TEST_NAME="REPRO_4_4"
1355    cd ${CONFIG_DIR0}
1356    . ./makenemo -m ${CMP_NAM} -n ORCA2AGUL_16 -r ORCA2_LIM3_PISCES -d "OPA_SRC LIM_SRC_3 NST_SRC" -j 8 add_key "key_agrif" del_key "key_top"
1357    cd ${SETTE_DIR}
1358    . ./param.cfg
1359    . ./all_functions.sh
1360    . ./prepare_exe_dir.sh
1361    JOB_FILE=${EXE_DIR}/run_job.sh
1362    NPROC=16
1363    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1364    cd ${EXE_DIR}
1365    set_namelist namelist_cfg nn_it000 1
1366    set_namelist namelist_cfg nn_itend 75
1367    set_namelist namelist_cfg ln_ctl .false.
1368    set_namelist namelist_cfg ln_clobber .true.
1369    set_namelist namelist_cfg ln_read_cfg .true.
1370    set_namelist namelist_cfg ln_linssh .true.
1371    set_namelist namelist_cfg ln_hpg_sco .false.
1372    set_namelist namelist_cfg ln_hpg_zps .true.
1373    set_namelist namelist_cfg nn_fwb 0
1374    set_namelist namelist_cfg jpni 4
1375    set_namelist namelist_cfg jpnj 4
1376    set_namelist namelist_cfg jpnij 16
1377    set_namelist 1_namelist_cfg nn_it000 1
1378    set_namelist 1_namelist_cfg nn_itend 150
1379    set_namelist 1_namelist_cfg nn_fsbc 1
1380    set_namelist 1_namelist_cfg ln_ctl .false.
1381    set_namelist 1_namelist_cfg ln_clobber .true.
1382    set_namelist 1_namelist_cfg ln_read_cfg .true.
1383    set_namelist 1_namelist_cfg ln_linssh .true.
1384    set_namelist 1_namelist_cfg ln_hpg_sco .false.
1385    set_namelist 1_namelist_cfg ln_hpg_zps .true.
1386
1387    if [ ${USING_MPMD} == "yes" ] ; then
1388       set_xio_using_server iodef.xml true
1389    else
1390       set_xio_using_server iodef.xml false
1391    fi
1392    cd ${SETTE_DIR}
1393    . ./prepare_job.sh input_ORCA2_LIM3_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
1394    cd ${SETTE_DIR}
1395    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1396
1397    cd ${SETTE_DIR}
1398    export TEST_NAME="REPRO_2_8"
1399    . ./prepare_exe_dir.sh
1400    JOB_FILE=${EXE_DIR}/run_job.sh
1401    NPROC=16
1402    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1403    cd ${EXE_DIR}
1404    set_namelist namelist_cfg nn_it000 1
1405    set_namelist namelist_cfg nn_itend 75
1406    set_namelist namelist_cfg ln_ctl .false.
1407    set_namelist namelist_cfg ln_clobber .true.
1408    set_namelist namelist_cfg ln_read_cfg .true.
1409    set_namelist namelist_cfg ln_linssh .true.
1410    set_namelist namelist_cfg ln_hpg_sco .false.
1411    set_namelist namelist_cfg ln_hpg_zps .true.
1412    set_namelist namelist_cfg nn_fwb 0
1413    set_namelist namelist_cfg jpni 2
1414    set_namelist namelist_cfg jpnj 8
1415    set_namelist namelist_cfg jpnij 16
1416    set_namelist 1_namelist_cfg nn_it000 1
1417    set_namelist 1_namelist_cfg nn_itend 150
1418    set_namelist 1_namelist_cfg ln_ctl .false.
1419    set_namelist 1_namelist_cfg nn_fsbc 1
1420    set_namelist 1_namelist_cfg ln_clobber .true.
1421    set_namelist 1_namelist_cfg ln_read_cfg .true.
1422    set_namelist 1_namelist_cfg ln_linssh .true.
1423    set_namelist 1_namelist_cfg ln_hpg_sco .false.
1424    set_namelist 1_namelist_cfg ln_hpg_zps .true.
1425
1426    if [ ${USING_MPMD} == "yes" ] ; then
1427       set_xio_using_server iodef.xml true
1428    else
1429       set_xio_using_server iodef.xml false
1430    fi
1431    cd ${SETTE_DIR}
1432    . ./prepare_job.sh input_ORCA2_LIM3_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
1433    cd ${SETTE_DIR}
1434    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1435fi
1436
1437done
Note: See TracBrowser for help on using the repository browser.