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 trunk/NEMOGCM/SETTE – NEMO

source: trunk/NEMOGCM/SETTE/sette.sh @ 7698

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

update trunk with OpenMP parallelization

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