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_reference-configurations.sh in utils/CI/sette_ticket2304 – NEMO

source: utils/CI/sette_ticket2304/sette_reference-configurations.sh @ 12289

Last change on this file since 12289 was 12289, checked in by mathiot, 4 years ago

as suggested by Simon, instead of stopping sette if namelist group is missing, we now add it at the end of the namelist + rm useless line in sette_list_avail_rev.sh + add syncronisation of MY_SRC, namelist_cfg, xml, cppkey files between REF and _ST (ticket #2304)

  • Property svn:executable set to *
File size: 62.7 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# NUM_XIOSERVERS    : number of stand-alone IO servers to employ
39#                     set to zero if USING_MPMD="no"
40#
41# Principal script is sette.sh, that calls
42#
43#  makenemo  : to create successive exectuables in ${CONFIG_NAME}/BLD/bin/nemo.exe
44#              and links to nemo in ${CONFIG_NAME}/EXP00)
45#
46#  param.cfg : sets and loads following directories:
47#
48#   FORCING_DIR         : is the directory for forcing files (tarfile)
49#   INPUT_DIR           : is the directory for input files storing
50#   TMPDIR              : is the temporary directory (if needed)
51#   NEMO_VALIDATION_DIR : is the validation directory
52#
53#   (NOTE: this file is the same for all configrations to be tested with sette)
54#
55#   all_functions.sh : loads functions used by sette (note: new functions can be added here)
56#   set_namelist     : function declared in all_functions that sets namelist parameters
57#   post_test_tidyup : creates validation storage directory and copies required output files
58#                      (run.stat and ocean.output) in it after execution of test.
59#
60#  VALIDATION tree is:
61#
62#   NEMO_VALIDATION_DIR/WCONFIG_NAME/WCOMPILER_NAME/TEST_NAME/REVISION_NUMBER(or DATE)
63#
64#  prepare_exe_dir.sh : defines and creates directory where the test is executed
65#                       execution directory takes name of TEST_NAME defined for every test
66#                       in sette.sh. (each test in executed in its own directory)
67#
68#  set_valid_dir       : rename ocean.output/run.stat and tracer.stat to avoid checking them in the report
69#
70#  clean_valid_dir    : rename ocean.output/run.stat and tracer.stat to avoid checking them in the report
71#                       ( not doing it could lead to false positive )
72#
73#  prepare_job.sh     : to generate the script run_job.sh
74#
75#  fcm_job.sh         : run in batch (INTERACT_FLAG="no") or interactive (INTERACT_FLAG="yes")
76#                        see sette.sh and BATCH_TEMPLATE directory
77#
78#  NOTE: jobs requiring initial or forcing data need to have an input_CONFIG.cfg in which
79#        can be found paths to the input tar file)
80#  NOTE: if job is not launched for any reason you have the executable ready in ${EXE_DIR}
81#        directory
82#  NOTE: the changed namelists are left in ${EXE_DIR} directory whereas original namelists
83#        remain in ${NEW_CONF}/EXP00
84#
85#  NOTE: a log file, output.sette, is created in ${SETTE_DIR} with the echoes of
86#        executed commands
87#
88#  NOTE: if sette.sh is stopped in output.sette there is written the last command
89#        executed by sette.sh
90#
91# example use: ./sette.sh
92#########################################################################################
93#
94# LOAD param value
95SETTE_DIR=$(cd $(dirname "$0"); pwd)
96MAIN_DIR=$(dirname $SETTE_DIR)
97. ./param.cfg
98
99export BATCH_COMMAND_PAR=${BATCH_CMD}
100export BATCH_COMMAND_SEQ=${BATCH_CMD}
101export INTERACT_FLAG="no"
102export MPIRUN_FLAG="yes"
103export USING_ICEBERGS="yes"
104#
105export DEL_KEYS="key_iomput"
106if [ ${USING_XIOS} == "yes" ] 
107 then
108   export DEL_KEYS=""
109fi
110#
111export ADD_KEYS=""
112if [ ${ADD_NOSIGNEDZERO} == "yes" ]
113 then
114   export ADD_KEYS="key_nosignedzero"
115fi
116#
117# Settings which control the use of stand alone servers (only relevant if using xios)
118#
119export NUM_XIOSERVERS=4
120export JOB_PREFIX=${JOB_PREFIX_MPMD}
121#
122if [ ${USING_MPMD} == "no" ] 
123 then
124   export NUM_XIOSERVERS=0
125   export JOB_PREFIX=${JOB_PREFIX_NOMPMD}
126fi
127#
128#
129if [ ${USING_MPMD} == "yes" ] && [ ${USING_XIOS} == "no" ]
130 then
131   echo "Incompatible choices. MPMD mode requires the XIOS server"
132   exit
133fi
134
135# Directory to run the tests
136CONFIG_DIR0=${MAIN_DIR}/cfgs
137TOOLS_DIR=${MAIN_DIR}/tools
138
139CMP_NAM=${1:-$COMPILER}
140# Copy job_batch_COMPILER file for specific compiler into job_batch_template
141cd ${SETTE_DIR}
142cp BATCH_TEMPLATE/${JOB_PREFIX}-${COMPILER} job_batch_template || exit
143# Description of available configurations:
144# GYRE_PISCES       :
145# ORCA2_ICE_PISCES  :
146# ORCA2_OFF_PISCES  :
147# AMM12             :
148# SAS               :
149# ORCA2_ICE_OBS     :
150# AGRIF             : test AGRIF in a double zoom configuration in the nordic seas + 1 zoom in the eq. Pacific (AGRIF_DEMO)
151#                       and check that key_agrif without zoom = no key_agrif
152# SPITZ12           : regional configuration including sea-ice and tides (Spitzbergen)
153
154for config in ${TEST_CONFIGS}
155do
156
157# -----------
158# GYRE_PISCES
159# -----------
160if [ ${config} == "GYRE_PISCES" ] ;  then
161## Restartability tests for GYRE_PISCES
162    export TEST_NAME="LONG"
163    cd ${MAIN_DIR}
164    #
165    # syncronisation if target directory/file exist (not done by makenemo)
166    . ${SETTE_DIR}/all_functions.sh
167    sync_mysrc  GYRE_PISCES GYRE_PISCES_ST
168    sync_expcfg GYRE_PISCES GYRE_PISCES_ST
169    sync_cppcfg GYRE_PISCES GYRE_PISCES_ST
170    #
171    . ./makenemo -m ${CMP_NAM} -n GYRE_PISCES_ST -r GYRE_PISCES -j 8 add_key "${ADD_KEYS}" del_key "${DEL_KEYS}"
172    cd ${SETTE_DIR}
173    . ./param.cfg
174    . ./all_functions.sh
175    . ./prepare_exe_dir.sh
176    set_valid_dir
177    clean_valid_dir
178    JOB_FILE=${EXE_DIR}/run_job.sh
179    NPROC=8
180    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
181    cd ${EXE_DIR} 
182    set_namelist namelist_cfg cn_exp \"GYREPIS_LONG\"
183    set_namelist namelist_cfg nn_it000 1
184    set_namelist namelist_cfg nn_itend 1080
185    set_namelist namelist_cfg nn_stock  540
186    set_namelist namelist_cfg ln_linssh .true.
187    set_namelist namelist_cfg jpni 2
188    set_namelist namelist_cfg jpnj 4
189    set_namelist namelist_cfg ln_ctl .false.
190    set_namelist namelist_cfg sn_cfctl%l_config .true.
191    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
192    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
193    if [ ${USING_MPMD} == "yes" ] ; then
194       set_xio_using_server iodef.xml true
195    else
196       set_xio_using_server iodef.xml false
197    fi
198    cd ${SETTE_DIR}
199    . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
200
201    cd ${SETTE_DIR}
202    export TEST_NAME="SHORT"
203    . ./prepare_exe_dir.sh
204    set_valid_dir
205    clean_valid_dir
206    cd ${EXE_DIR}
207    set_namelist namelist_cfg cn_exp \"GYREPIS_SHORT\"
208    set_namelist namelist_cfg nn_it000 541
209    set_namelist namelist_cfg nn_itend 1080
210    set_namelist namelist_cfg nn_stock 540
211    set_namelist namelist_cfg ln_rstart .true.
212    set_namelist namelist_cfg nn_rstctl 2
213    set_namelist namelist_cfg ln_linssh .true.
214    set_namelist namelist_cfg jpni 2
215    set_namelist namelist_cfg jpnj 4
216    set_namelist namelist_cfg ln_ctl .false.
217    set_namelist namelist_cfg sn_cfctl%l_config .true.
218    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
219    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
220    set_namelist namelist_top_cfg ln_rsttr .true.
221    set_namelist namelist_top_cfg nn_rsttr 2
222    set_namelist namelist_cfg cn_ocerst_in \"GYREPIS_LONG_00000540_restart\"
223    set_namelist namelist_top_cfg cn_trcrst_in \"GYREPIS_LONG_00000540_restart_trc\"
224    if [ ${USING_MPMD} == "yes" ] ; then
225       set_xio_using_server iodef.xml true
226    else
227       set_xio_using_server iodef.xml false
228    fi
229    for (( i=1; i<=$NPROC; i++)) ; do
230        L_NPROC=$(( $i - 1 ))
231        L_NPROC=`printf "%04d\n" ${L_NPROC}`
232        ln -sf ../LONG/GYREPIS_LONG_00000540_restart_${L_NPROC}.nc .
233        ln -sf ../LONG/GYREPIS_LONG_00000540_restart_trc_${L_NPROC}.nc .
234    done
235    cd ${SETTE_DIR}
236    . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
237    cd ${SETTE_DIR}
238    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
239
240## Reproducibility tests for GYRE_PISCES
241    export TEST_NAME="REPRO_2_4"
242    cd ${MAIN_DIR}
243    cd ${SETTE_DIR}
244    . ./param.cfg
245    . ./all_functions.sh
246    . ./prepare_exe_dir.sh
247    set_valid_dir
248    clean_valid_dir
249    JOB_FILE=${EXE_DIR}/run_job.sh
250    NPROC=8
251    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
252    cd ${EXE_DIR}
253    set_namelist namelist_cfg cn_exp \"GYREPIS_48\"
254    set_namelist namelist_cfg nn_it000 1
255    set_namelist namelist_cfg nn_itend 1080
256    set_namelist namelist_cfg ln_linssh .true.
257    set_namelist namelist_cfg jpni 2
258    set_namelist namelist_cfg jpnj 4
259    set_namelist namelist_cfg ln_ctl .false.
260    set_namelist namelist_cfg sn_cfctl%l_config .true.
261    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
262    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
263    if [ ${USING_MPMD} == "yes" ] ; then
264       set_xio_using_server iodef.xml true
265    else
266       set_xio_using_server iodef.xml false
267    fi
268    cd ${SETTE_DIR}
269    . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
270    cd ${SETTE_DIR}
271    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
272
273    cd ${SETTE_DIR}
274    export TEST_NAME="REPRO_4_2"
275    . ./prepare_exe_dir.sh
276    set_valid_dir
277    clean_valid_dir
278    JOB_FILE=${EXE_DIR}/run_job.sh
279    NPROC=8
280    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
281    cd ${EXE_DIR}
282    set_namelist namelist_cfg cn_exp \"GYREPIS_84\"
283    set_namelist namelist_cfg nn_it000 1
284    set_namelist namelist_cfg nn_itend 1080
285    set_namelist namelist_cfg ln_linssh .true.
286    set_namelist namelist_cfg jpni 4
287    set_namelist namelist_cfg jpnj 2
288    set_namelist namelist_cfg ln_ctl .false.
289    set_namelist namelist_cfg sn_cfctl%l_config .true.
290    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
291    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
292    if [ ${USING_MPMD} == "yes" ] ; then
293       set_xio_using_server iodef.xml true
294    else
295       set_xio_using_server iodef.xml false
296    fi
297    cd ${SETTE_DIR}
298    . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
299    cd ${SETTE_DIR}
300    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
301
302fi
303
304# -----------------
305# ORCA2_ICE_PISCES
306# -----------------
307if [ ${config} == "ORCA2_ICE_PISCES" ] ;  then
308## Restartability tests for ORCA2_ICE_PISCES
309    export TEST_NAME="LONG"
310    cd ${MAIN_DIR}
311    #
312    # syncronisation if target directory/file exist (not done by makenemo)
313    . ${SETTE_DIR}/all_functions.sh
314    sync_mysrc  ORCA2_ICE_PISCES ORCA2_ICE_PISCES_ST
315    sync_expcfg ORCA2_ICE_PISCES ORCA2_ICE_PISCES_ST
316    sync_cppcfg ORCA2_ICE_PISCES ORCA2_ICE_PISCES_ST
317    #
318    . ./makenemo -m ${CMP_NAM} -n ORCA2_ICE_PISCES_ST -r ORCA2_ICE_PISCES -j 8 add_key "${ADD_KEYS}" del_key "${DEL_KEYS}"
319    cd ${SETTE_DIR}
320    . ./param.cfg
321    . ./all_functions.sh
322    . ./prepare_exe_dir.sh
323    set_valid_dir
324    clean_valid_dir
325    JOB_FILE=${EXE_DIR}/run_job.sh
326    NPROC=32
327    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
328    cd ${EXE_DIR}
329    set_namelist namelist_cfg cn_exp \"O2L3P_LONG\"
330    set_namelist namelist_cfg nn_it000 1
331    set_namelist namelist_cfg nn_itend 992
332    set_namelist namelist_cfg nn_stock 496
333    set_namelist namelist_cfg jpni 4
334    set_namelist namelist_cfg jpnj 8
335    set_namelist namelist_cfg ln_ctl .false.
336    set_namelist namelist_cfg sn_cfctl%l_config .true.
337    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
338    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
339    set_namelist namelist_cfg ln_use_calving .true.
340    set_namelist namelist_cfg ln_wave .true.
341    set_namelist namelist_cfg ln_cdgw .true.
342    set_namelist namelist_cfg ln_sdw  .true.
343    set_namelist namelist_cfg nn_sdrift 1
344    set_namelist namelist_cfg ln_stcor .true.
345    set_namelist namelist_cfg ln_tauwoc .true.
346    #
347    if [ ${USING_ICEBERGS} == "no" ] ; then set_namelist namelist_cfg ln_icebergs .false. ; fi
348    # for debugging purposes set_namelist namelist_cfg rn_test_box -180.0, 180.0, -90.0, -55.0
349    #
350    set_namelist namelist_ice_cfg ln_icediachk .true.
351    set_namelist namelist_top_cfg ln_trcdta .false.
352    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
353    # if not you need input files, and for tests is not necessary
354    set_namelist namelist_pisces_cfg ln_presatm .false.
355    set_namelist namelist_pisces_cfg ln_varpar .false.
356    set_namelist namelist_pisces_cfg ln_dust .false.
357    set_namelist namelist_pisces_cfg ln_solub .false.
358    set_namelist namelist_pisces_cfg ln_river .false.
359    set_namelist namelist_pisces_cfg ln_ndepo .false.
360    set_namelist namelist_pisces_cfg ln_ironsed .false.
361    set_namelist namelist_pisces_cfg ln_ironice .false.
362    set_namelist namelist_pisces_cfg ln_hydrofe .false.
363    # put ln_pisdmp to false : no restoring to global mean value
364    set_namelist namelist_pisces_cfg ln_pisdmp .false.
365    if [ ${USING_MPMD} == "yes" ] ; then
366       set_xio_using_server iodef.xml true
367    else
368       set_xio_using_server iodef.xml false
369    fi
370    cd ${SETTE_DIR}
371    . ./prepare_job.sh input_ORCA2_ICE_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
372   
373    cd ${SETTE_DIR}
374    export TEST_NAME="SHORT"
375    . ./prepare_exe_dir.sh
376    set_valid_dir
377    clean_valid_dir
378    cd ${EXE_DIR}
379    set_namelist namelist_cfg cn_exp \"O2L3P_SHORT\"
380    set_namelist namelist_cfg nn_it000 497
381    set_namelist namelist_cfg nn_itend 992
382    set_namelist namelist_cfg nn_stock 496
383    set_namelist namelist_cfg ln_rstart .true.
384    set_namelist namelist_cfg nn_rstctl 2
385    set_namelist namelist_cfg jpni 4
386    set_namelist namelist_cfg jpnj 8
387    set_namelist namelist_cfg ln_ctl .false.
388    set_namelist namelist_cfg sn_cfctl%l_config .true.
389    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
390    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
391    set_namelist namelist_cfg nn_test_icebergs -1
392    set_namelist namelist_cfg ln_wave .true.
393    set_namelist namelist_cfg ln_cdgw .true.
394    set_namelist namelist_cfg ln_sdw  .true.
395    set_namelist namelist_cfg nn_sdrift 1
396    set_namelist namelist_cfg ln_stcor .true.
397    set_namelist namelist_cfg ln_tauwoc .true.
398    #
399    if [ ${USING_ICEBERGS} == "no" ] ; then set_namelist namelist_cfg ln_icebergs .false. ; fi
400    # for debugging purposes set_namelist namelist_cfg rn_test_box -180.0, 180.0, -90.0, -55.0
401    #
402    set_namelist namelist_ice_cfg ln_icediachk .true.
403    set_namelist namelist_top_cfg ln_rsttr .true.
404    set_namelist namelist_top_cfg nn_rsttr 2
405    set_namelist namelist_cfg cn_ocerst_in \"O2L3P_LONG_00000496_restart\"
406    set_namelist namelist_top_cfg cn_trcrst_in \"O2L3P_LONG_00000496_restart_trc\"
407    set_namelist namelist_ice_cfg cn_icerst_in \"O2L3P_LONG_00000496_restart_ice\"
408    set_namelist namelist_top_cfg ln_trcdta .false.
409    # put ln_ironsed, ln_river, ln_ndepo, ln_dust
410    # if not you need input files, and for tests is not necessary
411    set_namelist namelist_pisces_cfg ln_presatm .false.
412    set_namelist namelist_pisces_cfg ln_varpar .false.
413    set_namelist namelist_pisces_cfg ln_dust .false.
414    set_namelist namelist_pisces_cfg ln_solub .false.
415    set_namelist namelist_pisces_cfg ln_river .false.
416    set_namelist namelist_pisces_cfg ln_ndepo .false.
417    set_namelist namelist_pisces_cfg ln_ironsed .false.
418    set_namelist namelist_pisces_cfg ln_ironice .false.
419    set_namelist namelist_pisces_cfg ln_hydrofe .false.
420    # put ln_pisdmp to false : no restoring to global mean value
421    set_namelist namelist_pisces_cfg ln_pisdmp .false.
422    for (( i=1; i<=$NPROC; i++)) ; do
423        L_NPROC=$(( $i - 1 ))
424        L_NPROC=`printf "%04d\n" ${L_NPROC}`
425        ln -sf ../LONG/O2L3P_LONG_00000496_restart_${L_NPROC}.nc .
426        ln -sf ../LONG/O2L3P_LONG_00000496_restart_trc_${L_NPROC}.nc .
427        ln -sf ../LONG/O2L3P_LONG_00000496_restart_ice_${L_NPROC}.nc .
428        if [ ${USING_ICEBERGS} == "yes" ]
429            then
430             ln -sf ../LONG/O2L3P_LONG_icebergs_00000496_restart_${L_NPROC}.nc O2L3P_LONG_00000496_restart_icebergs_${L_NPROC}.nc
431        fi
432    done
433    if [ ${USING_MPMD} == "yes" ] ; then
434       set_xio_using_server iodef.xml true
435    else
436       set_xio_using_server iodef.xml false
437    fi
438    cd ${SETTE_DIR}
439    . ./prepare_job.sh input_ORCA2_ICE_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
440    cd ${SETTE_DIR}
441    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
442
443## Reproducibility tests for ORCA2_ICE_PISCES
444    export TEST_NAME="REPRO_4_8"
445    cd ${MAIN_DIR}
446    cd ${SETTE_DIR}
447    . ./param.cfg
448    . ./all_functions.sh
449    . ./prepare_exe_dir.sh
450    set_valid_dir
451    clean_valid_dir
452    JOB_FILE=${EXE_DIR}/run_job.sh
453    NPROC=32
454    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
455    cd ${EXE_DIR}
456    set_namelist namelist_cfg cn_exp \"O2L3P_48\"
457    set_namelist namelist_cfg nn_it000 1
458    set_namelist namelist_cfg nn_itend 992
459    set_namelist namelist_cfg jpni 4
460    set_namelist namelist_cfg jpnj 8
461    set_namelist namelist_cfg ln_ctl .false.
462    set_namelist namelist_cfg sn_cfctl%l_config .true.
463    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
464    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
465    set_namelist namelist_cfg ln_wave .true.
466    set_namelist namelist_cfg ln_cdgw .true.
467    set_namelist namelist_cfg ln_sdw  .true.
468    set_namelist namelist_cfg nn_sdrift 1
469    set_namelist namelist_cfg ln_stcor .true.
470    set_namelist namelist_cfg ln_tauwoc .true.
471
472    if [ ${USING_ICEBERGS} == "no" ] ; then set_namelist namelist_cfg ln_icebergs .false. ; fi
473    # for debugging purposes set_namelist namelist_cfg rn_test_box -180.0, 180.0, -90.0, -55.0
474
475    set_namelist namelist_top_cfg ln_trcdta .false.
476    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
477    # if not you need input files, and for tests is not necessary
478    set_namelist namelist_pisces_cfg ln_presatm .false.
479    set_namelist namelist_pisces_cfg ln_varpar .false.
480    set_namelist namelist_pisces_cfg ln_dust .false.
481    set_namelist namelist_pisces_cfg ln_solub .false.
482    set_namelist namelist_pisces_cfg ln_river .false.
483    set_namelist namelist_pisces_cfg ln_ndepo .false.
484    set_namelist namelist_pisces_cfg ln_ironsed .false.
485    set_namelist namelist_pisces_cfg ln_ironice .false.
486    set_namelist namelist_pisces_cfg ln_hydrofe .false.
487    # put ln_pisdmp to false : no restoring to global mean value
488    set_namelist namelist_pisces_cfg ln_pisdmp .false.
489    if [ ${USING_MPMD} == "yes" ] ; then
490       set_xio_using_server iodef.xml true
491    else
492       set_xio_using_server iodef.xml false
493    fi
494    cd ${SETTE_DIR}
495    . ./prepare_job.sh input_ORCA2_ICE_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
496    cd ${SETTE_DIR}
497    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
498
499    cd ${SETTE_DIR}
500    export TEST_NAME="REPRO_8_4"
501    . ./prepare_exe_dir.sh
502    set_valid_dir
503    clean_valid_dir
504    JOB_FILE=${EXE_DIR}/run_job.sh
505    NPROC=32
506    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
507    cd ${EXE_DIR}
508    set_namelist namelist_cfg cn_exp \"O2L3P_84\"
509    set_namelist namelist_cfg nn_it000 1
510    set_namelist namelist_cfg nn_itend 992
511    set_namelist namelist_cfg jpni 8
512    set_namelist namelist_cfg jpnj 4
513    set_namelist namelist_cfg ln_ctl .false.
514    set_namelist namelist_cfg sn_cfctl%l_config .true.
515    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
516    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
517    set_namelist namelist_cfg ln_wave .true.
518    set_namelist namelist_cfg ln_cdgw .true.
519    set_namelist namelist_cfg ln_sdw  .true.
520    set_namelist namelist_cfg nn_sdrift 1
521    set_namelist namelist_cfg ln_stcor .true.
522    set_namelist namelist_cfg ln_tauwoc .true.
523
524    if [ ${USING_ICEBERGS} == "no" ] ; then set_namelist namelist_cfg ln_icebergs .false. ; fi
525    # for debugging purposes set_namelist namelist_cfg rn_test_box -180.0, 180.0, -90.0, -55.0
526
527    set_namelist namelist_top_cfg ln_trcdta .false.
528    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
529    # if not you need input files, and for tests is not necessary
530    set_namelist namelist_pisces_cfg ln_presatm .false.
531    set_namelist namelist_pisces_cfg ln_varpar .false.
532    set_namelist namelist_pisces_cfg ln_dust .false.
533    set_namelist namelist_pisces_cfg ln_solub .false.
534    set_namelist namelist_pisces_cfg ln_river .false.
535    set_namelist namelist_pisces_cfg ln_ndepo .false.
536    set_namelist namelist_pisces_cfg ln_ironsed .false.
537    set_namelist namelist_pisces_cfg ln_ironice .false.
538    set_namelist namelist_pisces_cfg ln_hydrofe .false.
539    # put ln_pisdmp to false : no restoring to global mean value
540    set_namelist namelist_pisces_cfg ln_pisdmp .false.
541    if [ ${USING_MPMD} == "yes" ] ; then
542       set_xio_using_server iodef.xml true
543    else
544       set_xio_using_server iodef.xml false
545    fi
546    cd ${SETTE_DIR}
547    . ./prepare_job.sh input_ORCA2_ICE_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
548    cd ${SETTE_DIR}
549    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
550fi
551
552# ----------------
553# ORCA2_OFF_PISCES
554# ----------------
555if [ ${config} == "ORCA2_OFF_PISCES" ] ;  then
556## Restartability tests for ORCA2_OFF_PISCES
557    export TEST_NAME="LONG"
558    cd ${MAIN_DIR}
559    #
560    # syncronisation if target directory/file exist (not done by makenemo)
561    . ${SETTE_DIR}/all_functions.sh
562    sync_mysrc  ORCA2_OFF_PISCES ORCA2_OFF_PISCES_ST
563    sync_expcfg ORCA2_OFF_PISCES ORCA2_OFF_PISCES_ST
564    sync_cppcfg ORCA2_OFF_PISCES ORCA2_OFF_PISCES_ST
565    #
566    . ./makenemo -m ${CMP_NAM} -n ORCA2_OFF_PISCES_ST -r ORCA2_OFF_PISCES -j 8 add_key "${ADD_KEYS}" del_key "${DEL_KEYS}"
567    cd ${SETTE_DIR}
568    . ./param.cfg
569    . ./all_functions.sh
570    . ./prepare_exe_dir.sh
571    set_valid_dir
572    clean_valid_dir
573    JOB_FILE=${EXE_DIR}/run_job.sh
574    NPROC=32
575    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
576    cd ${EXE_DIR}
577    set_namelist namelist_cfg cn_exp \"OFFP_LONG\"
578    set_namelist namelist_cfg nn_it000 1
579    set_namelist namelist_cfg nn_itend 380
580    set_namelist namelist_cfg nn_stock 190
581    set_namelist namelist_cfg jpni 4
582    set_namelist namelist_cfg jpnj 8
583    set_namelist namelist_cfg ln_ctl .false.
584    set_namelist namelist_cfg sn_cfctl%l_config .true.
585    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
586    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
587    set_namelist namelist_cfg ln_qsr_rgb .true.
588    set_namelist namelist_top_cfg ln_trcdta .false.
589    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
590    # if not you need input files, and for tests is not necessary
591    set_namelist namelist_pisces_cfg ln_presatm .false.
592    set_namelist namelist_pisces_cfg ln_varpar .false.
593    set_namelist namelist_pisces_cfg ln_dust .false.
594    set_namelist namelist_pisces_cfg ln_solub .false.
595    set_namelist namelist_pisces_cfg ln_river .false.
596    set_namelist namelist_pisces_cfg ln_ndepo .false.
597    set_namelist namelist_pisces_cfg ln_ironsed .false.
598    set_namelist namelist_pisces_cfg ln_ironice .false.
599    set_namelist namelist_pisces_cfg ln_hydrofe .false.
600    # put ln_pisdmp to false : no restoring to global mean value
601    set_namelist namelist_pisces_cfg ln_pisdmp .false.
602    if [ ${USING_MPMD} == "yes" ] ; then
603       set_xio_using_server iodef.xml true
604    else
605       set_xio_using_server iodef.xml false
606    fi
607    cd ${SETTE_DIR}
608    . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
609   
610    cd ${SETTE_DIR}
611    export TEST_NAME="SHORT"
612    . ./prepare_exe_dir.sh
613    set_valid_dir
614    clean_valid_dir
615    cd ${EXE_DIR}
616    set_namelist namelist_cfg cn_exp \"OFFP_SHORT\"
617    set_namelist namelist_cfg nn_it000 191
618    set_namelist namelist_cfg nn_itend 380
619    set_namelist namelist_cfg nn_stock 190
620    set_namelist namelist_cfg jpni 4
621    set_namelist namelist_cfg jpnj 8
622    set_namelist namelist_cfg ln_ctl .false.
623    set_namelist namelist_cfg sn_cfctl%l_config .true.
624    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
625    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
626    set_namelist namelist_cfg ln_qsr_rgb .true.
627    set_namelist namelist_top_cfg ln_rsttr .true.
628    set_namelist namelist_top_cfg nn_rsttr 2
629    set_namelist namelist_top_cfg cn_trcrst_in \"OFFP_LONG_00000190_restart_trc\"
630    for (( i=1; i<=$NPROC; i++)) ; do
631        L_NPROC=$(( $i - 1 ))
632        L_NPROC=`printf "%04d\n" ${L_NPROC}`
633        ln -sf ../LONG/OFFP_LONG_00000190_restart_trc_${L_NPROC}.nc .
634    done
635    # put ln_ironsed, ln_river, ln_ndepo, ln_dust
636    # if not you need input files, and for tests is not necessary
637    set_namelist namelist_pisces_cfg ln_presatm .false.
638    set_namelist namelist_pisces_cfg ln_varpar .false.
639    set_namelist namelist_pisces_cfg ln_dust .false.
640    set_namelist namelist_pisces_cfg ln_solub .false.
641    set_namelist namelist_pisces_cfg ln_river .false.
642    set_namelist namelist_pisces_cfg ln_ndepo .false.
643    set_namelist namelist_pisces_cfg ln_ironsed .false.
644    set_namelist namelist_pisces_cfg ln_ironice .false.
645    set_namelist namelist_pisces_cfg ln_hydrofe .false.
646    # put ln_pisdmp to false : no restoring to global mean value
647    set_namelist namelist_pisces_cfg ln_pisdmp .false.
648    if [ ${USING_MPMD} == "yes" ] ; then
649       set_xio_using_server iodef.xml true
650    else
651       set_xio_using_server iodef.xml false
652    fi
653    cd ${SETTE_DIR}
654    . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME}  ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
655    cd ${SETTE_DIR}
656    . ./fcm_job.sh $NPROC  ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
657
658## Reproducibility tests for ORCA2_OFF_PISCES
659    export TEST_NAME="REPRO_4_8"
660    cd ${MAIN_DIR}
661    cd ${SETTE_DIR}
662    . ./param.cfg
663    . ./all_functions.sh
664    . ./prepare_exe_dir.sh
665    set_valid_dir
666    clean_valid_dir
667    JOB_FILE=${EXE_DIR}/run_job.sh
668    NPROC=32
669    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
670    cd ${EXE_DIR}
671    set_namelist namelist_cfg cn_exp \"OFFP_48\"
672    set_namelist namelist_cfg nn_it000 1
673    set_namelist namelist_cfg nn_itend 380
674    set_namelist namelist_cfg jpni 4
675    set_namelist namelist_cfg jpnj 8
676    set_namelist namelist_cfg ln_ctl .false.
677    set_namelist namelist_cfg sn_cfctl%l_config .true.
678    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
679    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
680    set_namelist namelist_cfg ln_qsr_rgb .true.
681    set_namelist namelist_top_cfg ln_trcdta .false.
682    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
683    # if not you need input files, and for tests is not necessary
684    set_namelist namelist_pisces_cfg ln_presatm .false.
685    set_namelist namelist_pisces_cfg ln_varpar .false.
686    set_namelist namelist_pisces_cfg ln_dust .false.
687    set_namelist namelist_pisces_cfg ln_solub .false.
688    set_namelist namelist_pisces_cfg ln_river .false.
689    set_namelist namelist_pisces_cfg ln_ndepo .false.
690    set_namelist namelist_pisces_cfg ln_ironsed .false.
691    set_namelist namelist_pisces_cfg ln_ironice .false.
692    set_namelist namelist_pisces_cfg ln_hydrofe .false.
693    # put ln_pisdmp to false : no restoring to global mean value
694    set_namelist namelist_pisces_cfg ln_pisdmp .false.
695    if [ ${USING_MPMD} == "yes" ] ; then
696       set_xio_using_server iodef.xml true
697    else
698       set_xio_using_server iodef.xml false
699    fi
700    cd ${SETTE_DIR}
701    . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
702    cd ${SETTE_DIR}
703    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
704
705    cd ${SETTE_DIR}
706    export TEST_NAME="REPRO_8_4"
707    . ./prepare_exe_dir.sh
708    set_valid_dir
709    clean_valid_dir
710    JOB_FILE=${EXE_DIR}/run_job.sh
711    NPROC=32
712    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
713    cd ${EXE_DIR}
714    set_namelist namelist_cfg cn_exp \"OFFP_84\"
715    set_namelist namelist_cfg nn_it000 1
716    set_namelist namelist_cfg nn_itend 380
717    set_namelist namelist_cfg jpni 8
718    set_namelist namelist_cfg jpnj 4
719    set_namelist namelist_cfg ln_ctl .false.
720    set_namelist namelist_cfg sn_cfctl%l_config .true.
721    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
722    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
723    set_namelist namelist_cfg ln_qsr_rgb .true.
724    set_namelist namelist_top_cfg ln_trcdta .false.
725    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
726    # if not you need input files, and for tests is not necessary
727    set_namelist namelist_pisces_cfg ln_presatm .false.
728    set_namelist namelist_pisces_cfg ln_varpar .false.
729    set_namelist namelist_pisces_cfg ln_dust .false.
730    set_namelist namelist_pisces_cfg ln_solub .false.
731    set_namelist namelist_pisces_cfg ln_river .false.
732    set_namelist namelist_pisces_cfg ln_ndepo .false.
733    set_namelist namelist_pisces_cfg ln_ironsed .false.
734    set_namelist namelist_pisces_cfg ln_ironice .false.
735    set_namelist namelist_pisces_cfg ln_hydrofe .false.
736    # put ln_pisdmp to false : no restoring to global mean value
737    set_namelist namelist_pisces_cfg ln_pisdmp .false.
738    if [ ${USING_MPMD} == "yes" ] ; then
739       set_xio_using_server iodef.xml true
740    else
741       set_xio_using_server iodef.xml false
742    fi
743    cd ${SETTE_DIR}
744    . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
745    cd ${SETTE_DIR}
746    . ./fcm_job.sh $NPROC  ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
747fi
748
749# -----
750# AMM12
751# -----
752if [ ${config} == "AMM12" ] ;  then
753    ## Restartability tests for AMM12
754    export TEST_NAME="LONG"
755    cd ${MAIN_DIR}
756    #
757    # syncronisation if target directory/file exist (not done by makenemo)
758    . ${SETTE_DIR}/all_functions.sh
759    sync_mysrc  AMM12 AMM12_ST
760    sync_expcfg AMM12 AMM12_ST
761    sync_cppcfg AMM12 AMM12_ST
762    #
763    . ./makenemo -m ${CMP_NAM} -n AMM12_ST -r AMM12 -j 8 add_key "${ADD_KEYS}" del_key "${DEL_KEYS}"
764    cd ${SETTE_DIR}
765    . ./param.cfg
766    . ./all_functions.sh
767    . ./prepare_exe_dir.sh
768    set_valid_dir
769    clean_valid_dir
770    JOB_FILE=${EXE_DIR}/run_job.sh
771    NPROC=32
772    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
773    cd ${EXE_DIR}
774    set_namelist namelist_cfg cn_exp \"AMM12_LONG\"
775    set_namelist namelist_cfg nn_it000 1
776    set_namelist namelist_cfg nn_itend 576
777    set_namelist namelist_cfg nn_stock 288
778    set_namelist namelist_cfg jpni 4
779    set_namelist namelist_cfg jpnj 8
780    set_namelist namelist_cfg ln_ctl .false.
781    set_namelist namelist_cfg sn_cfctl%l_config .true.
782    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
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} ${NEMO_VALID}
790
791    cd ${SETTE_DIR}
792    export TEST_NAME="SHORT"
793    . ./prepare_exe_dir.sh
794    set_valid_dir
795    clean_valid_dir
796    cd ${EXE_DIR}
797    set_namelist namelist_cfg cn_exp \"AMM12_SHORT\"
798    set_namelist namelist_cfg nn_it000 289
799    set_namelist namelist_cfg nn_itend 576
800    set_namelist namelist_cfg jpni 4
801    set_namelist namelist_cfg jpnj 8
802    set_namelist namelist_cfg ln_ctl .false.
803    set_namelist namelist_cfg sn_cfctl%l_config .true.
804    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
805    set_namelist namelist_cfg ln_rstart .true.
806    set_namelist namelist_cfg nn_rstctl 2
807    set_namelist namelist_cfg cn_ocerst_in \"AMM12_LONG_00000288_restart\"
808    set_namelist namelist_cfg nn_date0 20120102
809    for (( i=1; i<=$NPROC; i++)) ; do
810        L_NPROC=$(( $i - 1 ))
811        L_NPROC=`printf "%04d\n" ${L_NPROC}`
812        ln -sf ../LONG/AMM12_LONG_00000288_restart_${L_NPROC}.nc .
813    done
814    if [ ${USING_MPMD} == "yes" ] ; then
815       set_xio_using_server iodef.xml true
816    else
817       set_xio_using_server iodef.xml false
818    fi
819    cd ${SETTE_DIR}
820    . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
821    cd ${SETTE_DIR}
822    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
823
824## Reproducibility tests for AMM12
825    export TEST_NAME="REPRO_8_4"
826    cd ${MAIN_DIR}
827    cd ${SETTE_DIR}
828    . ./param.cfg
829    . ./all_functions.sh
830    . ./prepare_exe_dir.sh
831    set_valid_dir
832    clean_valid_dir
833    JOB_FILE=${EXE_DIR}/run_job.sh
834    NPROC=32
835    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
836    cd ${EXE_DIR}
837    set_namelist namelist_cfg cn_exp \"AMM12_84\"
838    set_namelist namelist_cfg nn_it000 1
839    set_namelist namelist_cfg nn_itend 576
840    set_namelist namelist_cfg jpni 8
841    set_namelist namelist_cfg jpnj 4
842    set_namelist namelist_cfg ln_ctl .false.
843    set_namelist namelist_cfg sn_cfctl%l_config .true.
844    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
845    if [ ${USING_MPMD} == "yes" ] ; then
846       set_xio_using_server iodef.xml true
847    else
848       set_xio_using_server iodef.xml false
849    fi
850    cd ${SETTE_DIR}
851    . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
852    cd ${SETTE_DIR}
853    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
854
855    cd ${SETTE_DIR}
856    export TEST_NAME="REPRO_4_8"
857    . ./prepare_exe_dir.sh
858    set_valid_dir
859    clean_valid_dir
860    JOB_FILE=${EXE_DIR}/run_job.sh
861    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
862    cd ${EXE_DIR}
863    set_namelist namelist_cfg cn_exp \"AMM12_48\"
864    set_namelist namelist_cfg nn_it000 1
865    set_namelist namelist_cfg nn_itend 576
866    set_namelist namelist_cfg jpni 4
867    set_namelist namelist_cfg jpnj 8
868    set_namelist namelist_cfg ln_ctl .false.
869    set_namelist namelist_cfg sn_cfctl%l_config .true.
870    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
871    if [ ${USING_MPMD} == "yes" ] ; then
872       set_xio_using_server iodef.xml true
873    else
874       set_xio_using_server iodef.xml false
875    fi
876    cd ${SETTE_DIR}
877    . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
878    cd ${SETTE_DIR}
879    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
880fi
881
882
883# ---------
884# ORCA2_SAS
885# ---------
886if [ ${config} == "SAS" ] ;  then
887## Restartability tests
888    export TEST_NAME="LONG"
889    cd ${MAIN_DIR}
890    #
891    # syncronisation if target directory/file exist (not done by makenemo)
892    . ${SETTE_DIR}/all_functions.sh
893    sync_mysrc  ORCA2_SAS_ICE ORCA2_SAS_ICE_ST
894    sync_expcfg ORCA2_SAS_ICE ORCA2_SAS_ICE_ST
895    sync_cppcfg ORCA2_SAS_ICE ORCA2_SAS_ICE_ST
896    #
897    . ./makenemo -m ${CMP_NAM} -n ORCA2_SAS_ICE_ST -r ORCA2_SAS_ICE -j 8 add_key "${ADD_KEYS}" del_key "${DEL_KEYS}"
898    cd ${SETTE_DIR}
899    . ./param.cfg
900    . ./all_functions.sh
901    . ./prepare_exe_dir.sh
902    set_valid_dir
903    clean_valid_dir
904    JOB_FILE=${EXE_DIR}/run_job.sh
905    NPROC=32
906    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
907    cd ${EXE_DIR}
908    set_namelist namelist_cfg cn_exp \"SAS\"
909    set_namelist namelist_cfg nn_it000 1
910    set_namelist namelist_cfg nn_itend 256
911    set_namelist namelist_cfg nn_stock 128
912    set_namelist namelist_cfg jpni 4
913    set_namelist namelist_cfg jpnj 8
914    set_namelist namelist_cfg ln_ctl .false.
915    set_namelist namelist_cfg sn_cfctl%l_config .true.
916    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
917    set_namelist namelist_ice_cfg ln_icediachk .true.
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_SAS.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
925
926    cd ${SETTE_DIR}
927    export TEST_NAME="SHORT"
928    . ./prepare_exe_dir.sh
929    set_valid_dir
930    clean_valid_dir
931    cd ${EXE_DIR}
932    set_namelist namelist_cfg cn_exp \"SAS\"
933    set_namelist namelist_cfg nn_it000 129
934    set_namelist namelist_cfg nn_itend 256
935    set_namelist namelist_cfg jpni 4
936    set_namelist namelist_cfg jpnj 8
937    set_namelist namelist_cfg ln_ctl .false.
938    set_namelist namelist_cfg sn_cfctl%l_config .true.
939    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
940    set_namelist namelist_cfg ln_rstart .true.
941    set_namelist namelist_cfg nn_rstctl 2
942    set_namelist namelist_cfg nn_date0 010109
943    set_namelist namelist_cfg cn_ocerst_in \"SAS_00000128_restart\"
944    set_namelist namelist_ice_cfg cn_icerst_in \"SAS_00000128_restart_ice\"
945    if [ ${USING_MPMD} == "yes" ] ; then
946       set_xio_using_server iodef.xml true
947    else
948       set_xio_using_server iodef.xml false
949    fi
950    for (( i=1; i<=$NPROC; i++)) ; do
951        L_NPROC=$(( $i - 1 ))
952        L_NPROC=`printf "%04d\n" ${L_NPROC}`
953        ln -sf ../LONG/SAS_00000128_restart_${L_NPROC}.nc .
954        ln -sf ../LONG/SAS_00000128_restart_ice_${L_NPROC}.nc .
955    done
956    cd ${SETTE_DIR}
957    . ./prepare_job.sh input_SAS.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
958    cd ${SETTE_DIR}
959    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
960
961## Reproducibility tests
962    export TEST_NAME="REPRO_4_8"
963    cd ${MAIN_DIR}
964    cd ${SETTE_DIR}
965    . ./param.cfg
966    . ./all_functions.sh
967    . ./prepare_exe_dir.sh
968    set_valid_dir
969    clean_valid_dir
970    JOB_FILE=${EXE_DIR}/run_job.sh
971    NPROC=32
972    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
973    cd ${EXE_DIR}
974    set_namelist namelist_cfg cn_exp \"SAS_48\"
975    set_namelist namelist_cfg nn_it000 1
976    set_namelist namelist_cfg nn_itend 80
977    set_namelist namelist_cfg jpni 4
978    set_namelist namelist_cfg jpnj 8
979    set_namelist namelist_cfg ln_ctl .false.
980    set_namelist namelist_cfg sn_cfctl%l_config .true.
981    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
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    cd ${SETTE_DIR}
988    . ./prepare_job.sh input_SAS.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
989    cd ${SETTE_DIR}
990    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
991
992    cd ${SETTE_DIR}
993    export TEST_NAME="REPRO_8_4"
994    . ./prepare_exe_dir.sh
995    set_valid_dir
996    clean_valid_dir
997    JOB_FILE=${EXE_DIR}/run_job.sh
998    NPROC=32
999    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1000    cd ${EXE_DIR}
1001    set_namelist namelist_cfg cn_exp \"SAS_84\"
1002    set_namelist namelist_cfg nn_it000 1
1003    set_namelist namelist_cfg nn_itend 80
1004    set_namelist namelist_cfg jpni 8
1005    set_namelist namelist_cfg jpnj 4
1006    set_namelist namelist_cfg ln_ctl .false.
1007    set_namelist namelist_cfg sn_cfctl%l_config .true.
1008    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
1009    if [ ${USING_MPMD} == "yes" ] ; then
1010       set_xio_using_server iodef.xml true
1011    else
1012       set_xio_using_server iodef.xml false
1013    fi
1014    cd ${SETTE_DIR}
1015    . ./prepare_job.sh input_SAS.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
1016    cd ${SETTE_DIR}
1017    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1018
1019fi
1020
1021
1022# --------------
1023# ORCA2_ICE_OBS
1024# --------------
1025## Test assimilation interface code, OBS and ASM for reproducibility
1026## Restartability not tested (ASM code not restartable while increments are being applied)
1027if [ ${config} == "ORCA2_ICE_OBS" ] ; then
1028## Reproducibility tests
1029    export TEST_NAME="REPRO_4_8"
1030    cd ${MAIN_DIR}
1031    #
1032    # syncronisation if target directory/file exist (not done by makenemo)
1033    . ${SETTE_DIR}/all_functions.sh
1034    sync_mysrc  ORCA2_ICE_PISCES ORCA2_ICE_OBS_ST
1035    sync_expcfg ORCA2_ICE_PISCES ORCA2_ICE_OBS_ST
1036    sync_cppcfg ORCA2_ICE_PISCES ORCA2_ICE_OBS_ST
1037    #
1038    . ./makenemo -m ${CMP_NAM} -n ORCA2_ICE_OBS_ST -r ORCA2_ICE_PISCES -d "OCE ICE"  -j 8 add_key "key_asminc ${ADD_KEYS}" del_key "key_top"
1039    cd ${SETTE_DIR}
1040    . ./param.cfg
1041    . ./all_functions.sh
1042    . ./prepare_exe_dir.sh
1043    set_valid_dir
1044    clean_valid_dir
1045    JOB_FILE=${EXE_DIR}/run_job.sh
1046    NPROC=32
1047    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1048    cd ${EXE_DIR}
1049    set_namelist namelist_cfg cn_exp \"O2L3OBS_48\"
1050    set_namelist namelist_cfg nn_it000 1
1051    set_namelist namelist_cfg nn_itend 80
1052    set_namelist namelist_cfg ln_read_cfg .true.
1053    set_namelist namelist_cfg jpni 4
1054    set_namelist namelist_cfg jpnj 8
1055    set_namelist namelist_cfg ln_ctl .false.
1056    set_namelist namelist_cfg sn_cfctl%l_config .true.
1057    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
1058    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
1059    set_namelist namelist_cfg ln_diaobs .true.
1060    set_namelist namelist_cfg ln_t3d .true.
1061    set_namelist namelist_cfg ln_s3d .true.
1062    set_namelist namelist_cfg ln_sst .true.
1063    set_namelist namelist_cfg ln_sla .true.
1064    set_namelist namelist_cfg ln_sic .true.
1065    set_namelist namelist_cfg ln_vel3d .true.
1066    set_namelist namelist_cfg ln_bkgwri .true.
1067    set_namelist namelist_cfg ln_trainc .true.
1068    set_namelist namelist_cfg ln_dyninc .true.
1069    set_namelist namelist_cfg ln_sshinc .true.
1070    set_namelist namelist_cfg ln_asmiau .true.
1071    #remove all useless options for pisces (due to ORCA2_ICE_PISCES reference configuration)
1072    set_namelist namelist_top_cfg ln_trcdta .false.
1073    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
1074    # if not you need input files, and for tests is not necessary
1075    set_namelist namelist_pisces_cfg ln_presatm .false.
1076    set_namelist namelist_pisces_cfg ln_varpar .false.
1077    set_namelist namelist_pisces_cfg ln_dust .false.
1078    set_namelist namelist_pisces_cfg ln_solub .false.
1079    set_namelist namelist_pisces_cfg ln_river .false.
1080    set_namelist namelist_pisces_cfg ln_ndepo .false.
1081    set_namelist namelist_pisces_cfg ln_ironsed .false.
1082    set_namelist namelist_pisces_cfg ln_ironice .false.
1083    set_namelist namelist_pisces_cfg ln_hydrofe .false.
1084    if [ ${USING_MPMD} == "yes" ] ; then
1085       set_xio_using_server iodef.xml true
1086    else
1087       set_xio_using_server iodef.xml false
1088    fi
1089    cd ${SETTE_DIR}
1090    . ./prepare_job.sh input_ORCA2_ICE_OBS.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
1091    cd ${SETTE_DIR}
1092    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1093
1094   cd ${SETTE_DIR}
1095    export TEST_NAME="REPRO_8_4"
1096    . ./prepare_exe_dir.sh
1097    set_valid_dir
1098    clean_valid_dir
1099    JOB_FILE=${EXE_DIR}/run_job.sh
1100    NPROC=32
1101    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1102    cd ${EXE_DIR}
1103    set_namelist namelist_cfg cn_exp \"O2L3OBS_84\"
1104    set_namelist namelist_cfg nn_it000 1
1105    set_namelist namelist_cfg nn_itend 80
1106    set_namelist namelist_cfg ln_read_cfg .true.
1107    set_namelist namelist_cfg jpni 8
1108    set_namelist namelist_cfg jpnj 4
1109    set_namelist namelist_cfg ln_ctl .false.
1110    set_namelist namelist_cfg sn_cfctl%l_config .true.
1111    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
1112    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
1113    set_namelist namelist_cfg ln_diaobs .true.
1114    set_namelist namelist_cfg ln_t3d .true.
1115    set_namelist namelist_cfg ln_s3d .true.
1116    set_namelist namelist_cfg ln_sst .true.
1117    set_namelist namelist_cfg ln_sla .true.
1118    set_namelist namelist_cfg ln_sic .true.
1119    set_namelist namelist_cfg ln_vel3d .true.
1120    set_namelist namelist_cfg ln_bkgwri .true.
1121    set_namelist namelist_cfg ln_trainc .true.
1122    set_namelist namelist_cfg ln_dyninc .true.
1123    set_namelist namelist_cfg ln_sshinc .true.
1124    set_namelist namelist_cfg ln_asmiau .true.
1125    #remove all useless options for pisces (due to ORCA2_ICE_PISCES reference configuration)
1126    set_namelist namelist_top_cfg ln_trcdta .false.
1127    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
1128    # if not you need input files, and for tests is not necessary
1129    set_namelist namelist_pisces_cfg ln_presatm .false.
1130    set_namelist namelist_pisces_cfg ln_varpar .false.
1131    set_namelist namelist_pisces_cfg ln_dust .false.
1132    set_namelist namelist_pisces_cfg ln_solub .false.
1133    set_namelist namelist_pisces_cfg ln_river .false.
1134    set_namelist namelist_pisces_cfg ln_ndepo .false.
1135    set_namelist namelist_pisces_cfg ln_ironsed .false.
1136    set_namelist namelist_pisces_cfg ln_ironice .false.
1137    set_namelist namelist_pisces_cfg ln_hydrofe .false.
1138    if [ ${USING_MPMD} == "yes" ] ; then
1139       set_xio_using_server iodef.xml true
1140    else
1141       set_xio_using_server iodef.xml false
1142    fi
1143    cd ${SETTE_DIR}
1144    . ./prepare_job.sh input_ORCA2_ICE_OBS.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
1145    cd ${SETTE_DIR}
1146    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1147fi
1148
1149# ------------
1150# AGRIF ICE
1151# -----------
1152if [ ${config} == "AGRIF" ] ;  then
1153## Restartability tests
1154    export TEST_NAME="LONG"
1155    cd ${MAIN_DIR}
1156    #
1157    # syncronisation if target directory/file exist (not done by makenemo)
1158    . ${SETTE_DIR}/all_functions.sh
1159    sync_mysrc  AGRIF_DEMO AGRIF_DEMO_ST
1160    sync_expcfg AGRIF_DEMO AGRIF_DEMO_ST
1161    sync_cppcfg AGRIF_DEMO AGRIF_DEMO_ST
1162    #
1163    . ./makenemo -m ${CMP_NAM} -n AGRIF_DEMO_ST -r AGRIF_DEMO -j 8 add_key "${ADD_KEYS}" del_key "${DEL_KEYS}"
1164    cd ${SETTE_DIR}
1165    . ./param.cfg
1166    . ./all_functions.sh
1167    . ./prepare_exe_dir.sh
1168    set_valid_dir
1169    clean_valid_dir
1170    JOB_FILE=${EXE_DIR}/run_job.sh
1171    NPROC=16
1172    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1173    cd ${EXE_DIR}
1174    set_namelist namelist_cfg cn_exp \"AGRIF_LONG\"
1175    set_namelist namelist_cfg nn_it000 1
1176    set_namelist namelist_cfg nn_itend 20
1177    set_namelist namelist_cfg nn_stock 10
1178    set_namelist namelist_cfg ln_ctl .false.
1179    set_namelist namelist_cfg sn_cfctl%l_config .true.
1180    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
1181    set_namelist 1_namelist_cfg cn_exp \"AGRIF_LONG\"
1182    set_namelist 1_namelist_cfg nn_it000 1
1183    set_namelist 1_namelist_cfg nn_itend 20
1184    set_namelist 1_namelist_cfg nn_stock 10
1185    set_namelist 1_namelist_cfg ln_ctl .false.
1186    set_namelist 1_namelist_cfg sn_cfctl%l_config .true.
1187    set_namelist 1_namelist_cfg sn_cfctl%l_runstat .true.
1188    set_namelist 2_namelist_cfg cn_exp \"AGRIF_LONG\"
1189    set_namelist 2_namelist_cfg nn_it000 1
1190    set_namelist 2_namelist_cfg nn_itend 80
1191    set_namelist 2_namelist_cfg nn_stock 40
1192    set_namelist 2_namelist_cfg ln_ctl .false.
1193    set_namelist 2_namelist_cfg sn_cfctl%l_config .true.
1194    set_namelist 2_namelist_cfg sn_cfctl%l_runstat .true.
1195    set_namelist 3_namelist_cfg cn_exp \"AGRIF_LONG\"
1196    set_namelist 3_namelist_cfg nn_it000 1
1197    set_namelist 3_namelist_cfg nn_itend 240
1198    set_namelist 3_namelist_cfg nn_stock 120
1199    set_namelist 3_namelist_cfg ln_ctl .false.
1200    set_namelist 3_namelist_cfg sn_cfctl%l_config .true.
1201    set_namelist 3_namelist_cfg sn_cfctl%l_runstat .true.
1202
1203    if [ ${USING_MPMD} == "yes" ] ; then
1204       set_xio_using_server iodef.xml true
1205    else
1206       set_xio_using_server iodef.xml false
1207    fi
1208    cd ${SETTE_DIR}
1209    . ./prepare_job.sh input_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
1210   
1211    cd ${SETTE_DIR}
1212    export TEST_NAME="SHORT"
1213    . ./prepare_exe_dir.sh
1214    set_valid_dir
1215    clean_valid_dir
1216    cd ${EXE_DIR}
1217    set_namelist namelist_cfg cn_exp \"AGRIF_SHORT\"
1218    set_namelist namelist_cfg nn_it000 11
1219    set_namelist namelist_cfg nn_itend 20
1220    set_namelist namelist_cfg nn_stock 10
1221    set_namelist namelist_cfg ln_ctl .false.
1222    set_namelist namelist_cfg sn_cfctl%l_config .true.
1223    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
1224    set_namelist namelist_cfg ln_rstart .true.
1225    set_namelist namelist_cfg nn_rstctl 2
1226    set_namelist 1_namelist_cfg cn_exp \"AGRIF_SHORT\"
1227    set_namelist 1_namelist_cfg nn_it000 11
1228    set_namelist 1_namelist_cfg nn_itend 20
1229    set_namelist 1_namelist_cfg nn_stock 10
1230    set_namelist 1_namelist_cfg ln_ctl .false.
1231    set_namelist 1_namelist_cfg sn_cfctl%l_config .true.
1232    set_namelist 1_namelist_cfg sn_cfctl%l_runstat .true.
1233    set_namelist 1_namelist_cfg ln_rstart .true.
1234    set_namelist 1_namelist_cfg nn_rstctl 2
1235    set_namelist 2_namelist_cfg cn_exp \"AGRIF_SHORT\"
1236    set_namelist 2_namelist_cfg nn_it000 41
1237    set_namelist 2_namelist_cfg nn_itend 80
1238    set_namelist 2_namelist_cfg nn_stock 40
1239    set_namelist 2_namelist_cfg ln_ctl .false.
1240    set_namelist 2_namelist_cfg sn_cfctl%l_config .true.
1241    set_namelist 2_namelist_cfg sn_cfctl%l_runstat .true.
1242    set_namelist 2_namelist_cfg ln_rstart .true.
1243    set_namelist 2_namelist_cfg nn_rstctl 2
1244    set_namelist 3_namelist_cfg cn_exp \"AGRIF_SHORT\"
1245    set_namelist 3_namelist_cfg nn_it000 121
1246    set_namelist 3_namelist_cfg nn_itend 240
1247    set_namelist 3_namelist_cfg nn_stock 120
1248    set_namelist 3_namelist_cfg ln_ctl .false.
1249    set_namelist 3_namelist_cfg sn_cfctl%l_config .true.
1250    set_namelist 3_namelist_cfg sn_cfctl%l_runstat .true.
1251    set_namelist 3_namelist_cfg ln_rstart .true.
1252    set_namelist 3_namelist_cfg nn_rstctl 2
1253    set_namelist namelist_cfg cn_ocerst_in \"AGRIF_LONG_00000010_restart\"
1254    set_namelist namelist_ice_cfg cn_icerst_in \"AGRIF_LONG_00000010_restart_ice\"
1255    set_namelist 1_namelist_cfg cn_ocerst_in \"AGRIF_LONG_00000010_restart\"
1256    set_namelist 1_namelist_ice_cfg cn_icerst_in \"AGRIF_LONG_00000010_restart_ice\"
1257    set_namelist 2_namelist_cfg cn_ocerst_in \"AGRIF_LONG_00000040_restart\"
1258    set_namelist 2_namelist_ice_cfg cn_icerst_in \"AGRIF_LONG_00000040_restart_ice\"
1259    set_namelist 3_namelist_cfg cn_ocerst_in \"AGRIF_LONG_00000120_restart\"
1260    set_namelist 3_namelist_ice_cfg cn_icerst_in \"AGRIF_LONG_00000120_restart_ice\"
1261
1262    for (( i=1; i<=$NPROC; i++)) ; do
1263        L_NPROC=$(( $i - 1 ))
1264        L_NPROC=`printf "%04d\n" ${L_NPROC}`
1265        ln -sf ../LONG/AGRIF_LONG_00000010_restart_${L_NPROC}.nc .
1266        ln -sf ../LONG/AGRIF_LONG_00000010_restart_ice_${L_NPROC}.nc .
1267        ln -sf ../LONG/1_AGRIF_LONG_00000010_restart_${L_NPROC}.nc .
1268        ln -sf ../LONG/1_AGRIF_LONG_00000010_restart_ice_${L_NPROC}.nc .
1269        ln -sf ../LONG/2_AGRIF_LONG_00000040_restart_${L_NPROC}.nc .
1270        ln -sf ../LONG/2_AGRIF_LONG_00000040_restart_ice_${L_NPROC}.nc .
1271        ln -sf ../LONG/3_AGRIF_LONG_00000120_restart_${L_NPROC}.nc .
1272        ln -sf ../LONG/3_AGRIF_LONG_00000120_restart_ice_${L_NPROC}.nc .
1273    done
1274    if [ ${USING_MPMD} == "yes" ] ; then
1275       set_xio_using_server iodef.xml true
1276    else
1277       set_xio_using_server iodef.xml false
1278    fi
1279    cd ${SETTE_DIR}
1280    . ./prepare_job.sh input_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
1281    cd ${SETTE_DIR}
1282    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1283
1284## Reproducibility tests
1285    export TEST_NAME="REPRO_2_8"
1286    cd ${MAIN_DIR}
1287    cd ${SETTE_DIR}
1288    . ./param.cfg
1289    . ./all_functions.sh
1290    . ./prepare_exe_dir.sh
1291    set_valid_dir
1292    clean_valid_dir
1293    JOB_FILE=${EXE_DIR}/run_job.sh
1294    NPROC=16
1295    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1296    cd ${EXE_DIR}
1297    set_namelist namelist_cfg cn_exp \"AGRIF_28\"
1298    set_namelist namelist_cfg nn_it000 1
1299    set_namelist namelist_cfg nn_itend 20
1300    set_namelist namelist_cfg jpni 2
1301    set_namelist namelist_cfg jpnj 8
1302    set_namelist namelist_cfg ln_ctl .false.
1303    set_namelist namelist_cfg sn_cfctl%l_config .true.
1304    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
1305    set_namelist 1_namelist_cfg cn_exp \"AGRIF_28\"
1306    set_namelist 1_namelist_cfg nn_it000 1
1307    set_namelist 1_namelist_cfg nn_itend 20
1308    set_namelist 1_namelist_cfg jpni 2
1309    set_namelist 1_namelist_cfg jpnj 8
1310    set_namelist 1_namelist_cfg ln_ctl .false.
1311    set_namelist 1_namelist_cfg sn_cfctl%l_config .true.
1312    set_namelist 1_namelist_cfg sn_cfctl%l_runstat .true.
1313    set_namelist 2_namelist_cfg cn_exp \"AGRIF_28\"
1314    set_namelist 2_namelist_cfg nn_it000 1
1315    set_namelist 2_namelist_cfg nn_itend 80
1316    set_namelist 2_namelist_cfg jpni 2
1317    set_namelist 2_namelist_cfg jpnj 8
1318    set_namelist 2_namelist_cfg ln_ctl .false.
1319    set_namelist 2_namelist_cfg sn_cfctl%l_config .true.
1320    set_namelist 2_namelist_cfg sn_cfctl%l_runstat .true.
1321    set_namelist 3_namelist_cfg cn_exp \"AGRIF_28\"
1322    set_namelist 3_namelist_cfg nn_it000 1
1323    set_namelist 3_namelist_cfg nn_itend 240
1324    set_namelist 3_namelist_cfg jpni 2
1325    set_namelist 3_namelist_cfg jpnj 8
1326    set_namelist 3_namelist_cfg ln_ctl .false.
1327    set_namelist 3_namelist_cfg sn_cfctl%l_config .true.
1328    set_namelist 3_namelist_cfg sn_cfctl%l_runstat .true.
1329
1330    if [ ${USING_MPMD} == "yes" ] ; then
1331       set_xio_using_server iodef.xml true
1332    else
1333       set_xio_using_server iodef.xml false
1334    fi
1335    cd ${SETTE_DIR}
1336    . ./prepare_job.sh input_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
1337    cd ${SETTE_DIR}
1338    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1339
1340    cd ${SETTE_DIR}
1341    export TEST_NAME="REPRO_4_4"
1342    . ./prepare_exe_dir.sh
1343    set_valid_dir
1344    clean_valid_dir
1345    JOB_FILE=${EXE_DIR}/run_job.sh
1346    NPROC=16
1347    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1348    cd ${EXE_DIR}
1349    set_namelist namelist_cfg cn_exp \"AGRIF_44\"
1350    set_namelist namelist_cfg nn_it000 1
1351    set_namelist namelist_cfg nn_itend 20
1352    set_namelist namelist_cfg jpni 4
1353    set_namelist namelist_cfg jpnj 4
1354    set_namelist namelist_cfg ln_ctl .false.
1355    set_namelist namelist_cfg sn_cfctl%l_config .true.
1356    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
1357    set_namelist 1_namelist_cfg cn_exp \"AGRIF_44\"
1358    set_namelist 1_namelist_cfg nn_it000 1
1359    set_namelist 1_namelist_cfg nn_itend 20
1360    set_namelist 1_namelist_cfg jpni 4
1361    set_namelist 1_namelist_cfg jpnj 4
1362    set_namelist 1_namelist_cfg ln_ctl .false.
1363    set_namelist 1_namelist_cfg sn_cfctl%l_config .true.
1364    set_namelist 1_namelist_cfg sn_cfctl%l_runstat .true.
1365    set_namelist 2_namelist_cfg cn_exp \"AGRIF_44\"
1366    set_namelist 2_namelist_cfg nn_it000 1
1367    set_namelist 2_namelist_cfg nn_itend 80
1368    set_namelist 2_namelist_cfg jpni 4
1369    set_namelist 2_namelist_cfg jpnj 4
1370    set_namelist 2_namelist_cfg ln_ctl .false.
1371    set_namelist 2_namelist_cfg sn_cfctl%l_config .true.
1372    set_namelist 2_namelist_cfg sn_cfctl%l_runstat .true.
1373    set_namelist 3_namelist_cfg cn_exp \"AGRIF_84\"
1374    set_namelist 3_namelist_cfg nn_it000 1
1375    set_namelist 3_namelist_cfg nn_itend 240
1376    set_namelist 3_namelist_cfg jpni 4
1377    set_namelist 3_namelist_cfg jpnj 4
1378    set_namelist 3_namelist_cfg ln_ctl .false.
1379    set_namelist 3_namelist_cfg sn_cfctl%l_config .true.
1380    set_namelist 3_namelist_cfg sn_cfctl%l_runstat .true.
1381
1382    if [ ${USING_MPMD} == "yes" ] ; then
1383       set_xio_using_server iodef.xml true
1384    else
1385       set_xio_using_server iodef.xml false
1386    fi
1387    cd ${SETTE_DIR}
1388    . ./prepare_job.sh input_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
1389    cd ${SETTE_DIR}
1390    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1391
1392## test code corruption with AGRIF (phase 1) ==> Compile with key_agrif but run with no zoom
1393    export TEST_NAME="ORCA2"
1394    cd ${MAIN_DIR}
1395    cd ${SETTE_DIR}
1396    . ./param.cfg
1397    . ./all_functions.sh
1398    . ./prepare_exe_dir.sh
1399    set_valid_dir
1400    clean_valid_dir
1401    JOB_FILE=${EXE_DIR}/run_job.sh
1402    NPROC=32
1403    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1404    cd ${EXE_DIR}
1405    set_namelist namelist_cfg cn_exp \"ORCA2\"
1406    set_namelist namelist_cfg nn_it000 1
1407    set_namelist namelist_cfg nn_itend 150
1408    set_namelist namelist_cfg ln_ctl .false.
1409    set_namelist namelist_cfg sn_cfctl%l_config .true.
1410    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
1411
1412#   Set the number of fine grids to zero:   
1413    sed -i "1s/.*/0/" ${EXE_DIR}/AGRIF_FixedGrids.in
1414
1415    if [ ${USING_MPMD} == "yes" ] ; then
1416       set_xio_using_server iodef.xml true
1417    else
1418       set_xio_using_server iodef.xml false
1419    fi
1420    cd ${SETTE_DIR}
1421    . ./prepare_job.sh input_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
1422    cd ${SETTE_DIR}
1423    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1424
1425fi
1426
1427
1428## test code corruption with AGRIF (phase 2) ==> Compile without key_agrif (to be compared with AGRIF_DEMO_ST/ORCA2)
1429if [ ${config} == "AGRIF" ] ;  then
1430    export TEST_NAME="ORCA2"
1431    cd ${MAIN_DIR}
1432    #
1433    # syncronisation if target directory/file exist (not done by makenemo)
1434    . ${SETTE_DIR}/all_functions.sh
1435    sync_mysrc  AGRIF_DEMO AGRIF_DEMO_NOAGRIF_ST
1436    sync_expcfg AGRIF_DEMO AGRIF_DEMO_NOAGRIF_ST
1437    sync_cppcfg AGRIF_DEMO AGRIF_DEMO_NOAGRIF_ST
1438    #
1439    . ./makenemo -m ${CMP_NAM} -n AGRIF_DEMO_NOAGRIF_ST -r AGRIF_DEMO -j 8 add_key "${ADD_KEYS}" del_key "key_agrif"
1440    cd ${SETTE_DIR}
1441    . ./param.cfg
1442    . ./all_functions.sh
1443    . ./prepare_exe_dir.sh
1444    set_valid_dir
1445    clean_valid_dir
1446    JOB_FILE=${EXE_DIR}/run_job.sh
1447    NPROC=32
1448    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1449    cd ${EXE_DIR}
1450    set_namelist namelist_cfg cn_exp \"ORCA2\"
1451    set_namelist namelist_cfg nn_it000 1
1452    set_namelist namelist_cfg nn_itend 150
1453    set_namelist namelist_cfg ln_ctl .false.
1454    set_namelist namelist_cfg sn_cfctl%l_config .true.
1455    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
1456#
1457    if [ ${USING_MPMD} == "yes" ] ; then
1458       set_xio_using_server iodef.xml true
1459    else
1460       set_xio_using_server iodef.xml false
1461    fi
1462    cd ${SETTE_DIR}
1463    . ./prepare_job.sh input_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
1464    cd ${SETTE_DIR}
1465    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1466
1467fi
1468
1469# -------
1470# SPITZ12
1471# -------
1472if [ ${config} == "SPITZ12" ] ;  then
1473## Restartability tests
1474    export TEST_NAME="LONG"
1475    cd ${MAIN_DIR}
1476    #
1477    # syncronisation if target directory/file exist (not done by makenemo)
1478    . ${SETTE_DIR}/all_functions.sh
1479    sync_mysrc  SPITZ12 SPITZ12_ST
1480    sync_expcfg SPITZ12 SPITZ12_ST
1481    sync_cppcfg SPITZ12 SPITZ12_ST
1482    #
1483    . ./makenemo -m ${CMP_NAM} -n SPITZ12_ST -r SPITZ12 -j 8 add_key "${ADD_KEYS}" del_key "${DEL_KEYS}"
1484    cd ${SETTE_DIR}
1485    . ./param.cfg
1486    . ./all_functions.sh
1487    . ./prepare_exe_dir.sh
1488    set_valid_dir
1489    clean_valid_dir
1490    JOB_FILE=${EXE_DIR}/run_job.sh
1491    NPROC=32
1492    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1493    cd ${EXE_DIR}
1494    set_namelist namelist_cfg cn_exp \"S12_LONG\"
1495    set_namelist namelist_cfg nn_it000 1
1496    set_namelist namelist_cfg nn_itend 240
1497    set_namelist namelist_cfg nn_stock 120
1498    set_namelist namelist_cfg nn_date0 20020101
1499    set_namelist namelist_cfg jpni 4
1500    set_namelist namelist_cfg jpnj 8
1501    set_namelist namelist_cfg ln_ctl .false.
1502    set_namelist namelist_cfg sn_cfctl%l_config .true.
1503    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
1504    #set_namelist namelist_ice_cfg ln_icediachk .true.
1505    if [ ${USING_MPMD} == "yes" ] ; then
1506       set_xio_using_server iodef.xml true
1507    else
1508       set_xio_using_server iodef.xml false
1509    fi
1510    cd ${SETTE_DIR}
1511    . ./prepare_job.sh input_SPITZ12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
1512   
1513    cd ${SETTE_DIR}
1514    export TEST_NAME="SHORT"
1515    . ./prepare_exe_dir.sh
1516    set_valid_dir
1517    clean_valid_dir
1518    cd ${EXE_DIR}
1519    set_namelist namelist_cfg cn_exp \"S12_SHORT\"
1520    set_namelist namelist_cfg nn_it000 121
1521    set_namelist namelist_cfg nn_itend 240
1522    set_namelist namelist_cfg nn_stock 120
1523    set_namelist namelist_cfg ln_rstart .true.
1524    set_namelist namelist_cfg nn_rstctl 2
1525    set_namelist namelist_cfg jpni 4
1526    set_namelist namelist_cfg jpnj 8
1527    set_namelist namelist_cfg ln_ctl .false.
1528    set_namelist namelist_cfg sn_cfctl%l_config .true.
1529    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
1530    set_namelist namelist_cfg cn_ocerst_in \"S12_LONG_00000120_restart\"
1531    set_namelist namelist_ice_cfg cn_icerst_in \"S12_LONG_00000120_restart_ice\"
1532    for (( i=1; i<=$NPROC; i++)) ; do
1533        L_NPROC=$(( $i - 1 ))
1534        L_NPROC=`printf "%04d\n" ${L_NPROC}`
1535        ln -sf ../LONG/S12_LONG_00000120_restart_${L_NPROC}.nc .
1536        ln -sf ../LONG/S12_LONG_00000120_restart_ice_${L_NPROC}.nc .
1537    done
1538    if [ ${USING_MPMD} == "yes" ] ; then
1539       set_xio_using_server iodef.xml true
1540    else
1541       set_xio_using_server iodef.xml false
1542    fi
1543    cd ${SETTE_DIR}
1544    . ./prepare_job.sh input_SPITZ12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
1545    cd ${SETTE_DIR}
1546    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1547
1548## Reproducibility tests
1549    export TEST_NAME="REPRO_4_8"
1550    cd ${MAIN_DIR}
1551    cd ${SETTE_DIR}
1552    . ./param.cfg
1553    . ./all_functions.sh
1554    . ./prepare_exe_dir.sh
1555    set_valid_dir
1556    clean_valid_dir
1557    JOB_FILE=${EXE_DIR}/run_job.sh
1558    NPROC=32
1559    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1560    cd ${EXE_DIR}
1561    set_namelist namelist_cfg cn_exp \"S12_48\"
1562    set_namelist namelist_cfg nn_it000 1
1563    set_namelist namelist_cfg nn_itend 120
1564    set_namelist namelist_cfg nn_date0 20020101
1565    set_namelist namelist_cfg jpni 4
1566    set_namelist namelist_cfg jpnj 8
1567    set_namelist namelist_cfg ln_ctl .false.
1568    set_namelist namelist_cfg sn_cfctl%l_config .true.
1569    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
1570    if [ ${USING_MPMD} == "yes" ] ; then
1571       set_xio_using_server iodef.xml true
1572    else
1573       set_xio_using_server iodef.xml false
1574    fi
1575    cd ${SETTE_DIR}
1576    . ./prepare_job.sh input_SPITZ12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
1577    cd ${SETTE_DIR}
1578    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1579
1580    cd ${SETTE_DIR}
1581    export TEST_NAME="REPRO_8_4"
1582    . ./prepare_exe_dir.sh
1583    set_valid_dir
1584    clean_valid_dir
1585    JOB_FILE=${EXE_DIR}/run_job.sh
1586    NPROC=32
1587    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1588    cd ${EXE_DIR}
1589    set_namelist namelist_cfg cn_exp \"S12_84\"
1590    set_namelist namelist_cfg nn_it000 1
1591    set_namelist namelist_cfg nn_itend 120
1592    set_namelist namelist_cfg nn_date0 20020101
1593    set_namelist namelist_cfg jpni 8
1594    set_namelist namelist_cfg jpnj 4
1595    set_namelist namelist_cfg ln_ctl .false.
1596    set_namelist namelist_cfg sn_cfctl%l_config .true.
1597    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
1598    if [ ${USING_MPMD} == "yes" ] ; then
1599       set_xio_using_server iodef.xml true
1600    else
1601       set_xio_using_server iodef.xml false
1602    fi
1603    cd ${SETTE_DIR}
1604    . ./prepare_job.sh input_SPITZ12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
1605    cd ${SETTE_DIR}
1606    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1607fi
1608
1609
1610done
Note: See TracBrowser for help on using the repository browser.