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

source: utils/CI/r12931_sette_ticket2475/sette_reference-configurations.sh @ 13044

Last change on this file since 13044 was 13044, checked in by andmirek, 4 years ago

Ticket #2475 changes in sette

  • Property svn:executable set to *
File size: 57.3 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_config  GYRE_PISCES GYRE_PISCES_ST 'cfgs'
168    clean_config GYRE_PISCES GYRE_PISCES_ST 'cfgs'
169    #
170    . ./makenemo -m ${CMP_NAM} -n GYRE_PISCES_ST -r GYRE_PISCES -j 8 add_key "${ADD_KEYS}" del_key "${DEL_KEYS}"
171    cd ${SETTE_DIR}
172    . ./param.cfg
173    . ./all_functions.sh
174    . ./prepare_exe_dir.sh
175    set_valid_dir
176    clean_valid_dir
177    JOB_FILE=${EXE_DIR}/run_job.sh
178    NPROC=8
179    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
180    cd ${EXE_DIR} 
181    set_namelist namelist_cfg cn_exp \"GYREPIS_LONG\"
182    set_namelist namelist_cfg nn_it000 1
183    set_namelist namelist_cfg nn_itend 1080
184    set_namelist namelist_cfg nn_stock  540
185    set_namelist namelist_cfg ln_linssh .true.
186    set_namelist namelist_cfg jpni 2
187    set_namelist namelist_cfg jpnj 4
188    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
189    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
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} ${NEMO_VALID}
197
198    cd ${SETTE_DIR}
199    export TEST_NAME="SHORT"
200    . ./prepare_exe_dir.sh
201    set_valid_dir
202    clean_valid_dir
203    cd ${EXE_DIR}
204    set_namelist namelist_cfg cn_exp \"GYREPIS_SHORT\"
205    set_namelist namelist_cfg nn_it000 541
206    set_namelist namelist_cfg nn_itend 1080
207    set_namelist namelist_cfg nn_stock 540
208    set_namelist namelist_cfg ln_rstart .true.
209    set_namelist namelist_cfg nn_rstctl 2
210    set_namelist namelist_cfg ln_linssh .true.
211    set_namelist namelist_cfg jpni 2
212    set_namelist namelist_cfg jpnj 4
213    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
214    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
215    set_namelist namelist_top_cfg ln_rsttr .true.
216    set_namelist namelist_top_cfg nn_rsttr 2
217    set_namelist namelist_cfg cn_ocerst_in \"GYREPIS_LONG_00000540_restart\"
218    set_namelist namelist_top_cfg cn_trcrst_in \"GYREPIS_LONG_00000540_restart_trc\"
219    if [ ${USING_MPMD} == "yes" ] ; then
220       set_xio_using_server iodef.xml true
221    else
222       set_xio_using_server iodef.xml false
223    fi
224    for (( i=1; i<=$NPROC; i++)) ; do
225        L_NPROC=$(( $i - 1 ))
226        L_NPROC=`printf "%04d\n" ${L_NPROC}`
227        ln -sf ../LONG/GYREPIS_LONG_00000540_restart_${L_NPROC}.nc .
228        ln -sf ../LONG/GYREPIS_LONG_00000540_restart_trc_${L_NPROC}.nc .
229    done
230    cd ${SETTE_DIR}
231    . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
232    cd ${SETTE_DIR}
233    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
234
235## Reproducibility tests for GYRE_PISCES
236    export TEST_NAME="REPRO_2_4"
237    cd ${MAIN_DIR}
238    cd ${SETTE_DIR}
239    . ./param.cfg
240    . ./all_functions.sh
241    . ./prepare_exe_dir.sh
242    set_valid_dir
243    clean_valid_dir
244    JOB_FILE=${EXE_DIR}/run_job.sh
245    NPROC=8
246    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
247    cd ${EXE_DIR}
248    set_namelist namelist_cfg cn_exp \"GYREPIS_48\"
249    set_namelist namelist_cfg nn_it000 1
250    set_namelist namelist_cfg nn_itend 1080
251    set_namelist namelist_cfg ln_linssh .true.
252    set_namelist namelist_cfg jpni 2
253    set_namelist namelist_cfg jpnj 4
254    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
255    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
256    if [ ${USING_MPMD} == "yes" ] ; then
257       set_xio_using_server iodef.xml true
258    else
259       set_xio_using_server iodef.xml false
260    fi
261    cd ${SETTE_DIR}
262    . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
263    cd ${SETTE_DIR}
264    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
265
266    cd ${SETTE_DIR}
267    export TEST_NAME="REPRO_4_2"
268    . ./prepare_exe_dir.sh
269    set_valid_dir
270    clean_valid_dir
271    JOB_FILE=${EXE_DIR}/run_job.sh
272    NPROC=8
273    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
274    cd ${EXE_DIR}
275    set_namelist namelist_cfg cn_exp \"GYREPIS_84\"
276    set_namelist namelist_cfg nn_it000 1
277    set_namelist namelist_cfg nn_itend 1080
278    set_namelist namelist_cfg ln_linssh .true.
279    set_namelist namelist_cfg jpni 4
280    set_namelist namelist_cfg jpnj 2
281    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
282    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
283    if [ ${USING_MPMD} == "yes" ] ; then
284       set_xio_using_server iodef.xml true
285    else
286       set_xio_using_server iodef.xml false
287    fi
288    cd ${SETTE_DIR}
289    . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
290    cd ${SETTE_DIR}
291    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
292
293fi
294
295# -----------------
296# ORCA2_ICE_PISCES
297# -----------------
298if [ ${config} == "ORCA2_ICE_PISCES" ] ;  then
299## Restartability tests for ORCA2_ICE_PISCES
300    export TEST_NAME="LONG"
301    cd ${MAIN_DIR}
302    #
303    # syncronisation if target directory/file exist (not done by makenemo)
304    . ${SETTE_DIR}/all_functions.sh
305    sync_config  ORCA2_ICE_PISCES ORCA2_ICE_PISCES_ST 'cfgs'
306    clean_config ORCA2_ICE_PISCES ORCA2_ICE_PISCES_ST 'cfgs'
307    #
308    . ./makenemo -m ${CMP_NAM} -n ORCA2_ICE_PISCES_ST -r ORCA2_ICE_PISCES -j 8 add_key "${ADD_KEYS}" del_key "${DEL_KEYS}"
309    cd ${SETTE_DIR}
310    . ./param.cfg
311    . ./all_functions.sh
312    . ./prepare_exe_dir.sh
313    set_valid_dir
314    clean_valid_dir
315    JOB_FILE=${EXE_DIR}/run_job.sh
316    NPROC=32
317    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
318    cd ${EXE_DIR}
319    set_namelist namelist_cfg cn_exp \"O2L3P_LONG\"
320    set_namelist namelist_cfg nn_it000 1
321    set_namelist namelist_cfg nn_itend 992
322    set_namelist namelist_cfg nn_stock 496
323    set_namelist namelist_cfg jpni 4
324    set_namelist namelist_cfg jpnj 8
325    set_namelist namelist_cfg ln_xios_cfg .true.
326    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
327    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
328    set_namelist namelist_cfg ln_use_calving .true.
329    set_namelist namelist_cfg ln_wave .true.
330    set_namelist namelist_cfg ln_cdgw .true.
331    set_namelist namelist_cfg ln_sdw  .true.
332    set_namelist namelist_cfg nn_sdrift 1
333    set_namelist namelist_cfg ln_stcor .true.
334    set_namelist namelist_cfg ln_tauwoc .true.
335    #
336    if [ ${USING_ICEBERGS} == "no" ] ; then set_namelist namelist_cfg ln_icebergs .false. ; fi
337    # for debugging purposes set_namelist namelist_cfg rn_test_box -180.0, 180.0, -90.0, -55.0
338    #
339    set_namelist namelist_ice_cfg ln_icediachk .true.
340    set_namelist namelist_top_cfg ln_trcdta .false.
341    set_namelist namelist_top_cfg ln_trcbc  .false.
342    # put ln_ironsed, ln_hydrofe to false
343    # if not you need input files, and for tests is not necessary
344    set_namelist namelist_pisces_cfg ln_varpar .false.
345    set_namelist namelist_pisces_cfg ln_ironsed .false.
346    set_namelist namelist_pisces_cfg ln_ironice .false.
347    set_namelist namelist_pisces_cfg ln_hydrofe .false.
348    # put ln_pisdmp to false : no restoring to global mean value
349    set_namelist namelist_pisces_cfg ln_pisdmp .false.
350    if [ ${USING_MPMD} == "yes" ] ; then
351       set_xio_using_server iodef.xml true
352    else
353       set_xio_using_server iodef.xml false
354    fi
355    cd ${SETTE_DIR}
356    . ./prepare_job.sh input_ORCA2_ICE_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
357   
358    cd ${SETTE_DIR}
359    export TEST_NAME="SHORT"
360    . ./prepare_exe_dir.sh
361    set_valid_dir
362    clean_valid_dir
363    cd ${EXE_DIR}
364    set_namelist namelist_cfg cn_exp \"O2L3P_SHORT\"
365    set_namelist namelist_cfg nn_it000 497
366    set_namelist namelist_cfg nn_itend 992
367    set_namelist namelist_cfg nn_stock 496
368    set_namelist namelist_cfg ln_rstart .true.
369    set_namelist namelist_cfg nn_rstctl 2
370    set_namelist namelist_cfg jpni 4
371    set_namelist namelist_cfg jpnj 8
372    set_namelist namelist_cfg ln_xios_cfg .true.
373    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
374    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
375    set_namelist namelist_cfg nn_test_icebergs -1
376    set_namelist namelist_cfg ln_wave .true.
377    set_namelist namelist_cfg ln_cdgw .true.
378    set_namelist namelist_cfg ln_sdw  .true.
379    set_namelist namelist_cfg nn_sdrift 1
380    set_namelist namelist_cfg ln_stcor .true.
381    set_namelist namelist_cfg ln_tauwoc .true.
382    #
383    if [ ${USING_ICEBERGS} == "no" ] ; then set_namelist namelist_cfg ln_icebergs .false. ; fi
384    # for debugging purposes set_namelist namelist_cfg rn_test_box -180.0, 180.0, -90.0, -55.0
385    #
386    set_namelist namelist_ice_cfg ln_icediachk .true.
387    set_namelist namelist_top_cfg ln_rsttr .true.
388    set_namelist namelist_top_cfg nn_rsttr 2
389    set_namelist namelist_cfg cn_ocerst_in \"O2L3P_LONG_00000496_restart\"
390    set_namelist namelist_cfg cn_icbrst_in \"O2L3P_LONG_00000496_restart_icb\"
391    set_namelist namelist_top_cfg cn_trcrst_in \"O2L3P_LONG_00000496_restart_trc\"
392    set_namelist namelist_ice_cfg cn_icerst_in \"O2L3P_LONG_00000496_restart_ice\"
393    set_namelist namelist_top_cfg ln_trcbc  .false.
394    # put ln_ironsed, ln_hydrofe to false
395    # if not you need input files, and for tests is not necessary
396    set_namelist namelist_pisces_cfg ln_varpar .false.
397    set_namelist namelist_pisces_cfg ln_ironsed .false.
398    set_namelist namelist_pisces_cfg ln_ironice .false.
399    set_namelist namelist_pisces_cfg ln_hydrofe .false.
400    # put ln_pisdmp to false : no restoring to global mean value
401    set_namelist namelist_pisces_cfg ln_pisdmp .false.
402    for (( i=1; i<=$NPROC; i++)) ; do
403        L_NPROC=$(( $i - 1 ))
404        L_NPROC=`printf "%04d\n" ${L_NPROC}`
405        ln -sf ../LONG/O2L3P_LONG_00000496_restart_${L_NPROC}.nc .
406        ln -sf ../LONG/O2L3P_LONG_00000496_restart_trc_${L_NPROC}.nc .
407        ln -sf ../LONG/O2L3P_LONG_00000496_restart_ice_${L_NPROC}.nc .
408        if [ ${USING_ICEBERGS} == "yes" ]
409            then
410             ln -sf ../LONG/O2L3P_LONG_00000496_restart_icb_${L_NPROC}.nc O2L3P_LONG_00000496_restart_icb_${L_NPROC}.nc
411        fi
412    done
413    if [ ${USING_MPMD} == "yes" ] ; then
414       set_xio_using_server iodef.xml true
415    else
416       set_xio_using_server iodef.xml false
417    fi
418    cd ${SETTE_DIR}
419    . ./prepare_job.sh input_ORCA2_ICE_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
420    cd ${SETTE_DIR}
421    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
422
423## Reproducibility tests for ORCA2_ICE_PISCES
424    export TEST_NAME="REPRO_4_8"
425    cd ${MAIN_DIR}
426    cd ${SETTE_DIR}
427    . ./param.cfg
428    . ./all_functions.sh
429    . ./prepare_exe_dir.sh
430    set_valid_dir
431    clean_valid_dir
432    JOB_FILE=${EXE_DIR}/run_job.sh
433    NPROC=32
434    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
435    cd ${EXE_DIR}
436    set_namelist namelist_cfg cn_exp \"O2L3P_48\"
437    set_namelist namelist_cfg nn_it000 1
438    set_namelist namelist_cfg nn_itend 992
439    set_namelist namelist_cfg jpni 4
440    set_namelist namelist_cfg jpnj 8
441    set_namelist namelist_cfg ln_xios_cfg .true.
442    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
443    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
444    set_namelist namelist_cfg ln_wave .true.
445    set_namelist namelist_cfg ln_cdgw .true.
446    set_namelist namelist_cfg ln_sdw  .true.
447    set_namelist namelist_cfg nn_sdrift 1
448    set_namelist namelist_cfg ln_stcor .true.
449    set_namelist namelist_cfg ln_tauwoc .true.
450
451    if [ ${USING_ICEBERGS} == "no" ] ; then set_namelist namelist_cfg ln_icebergs .false. ; fi
452    # for debugging purposes set_namelist namelist_cfg rn_test_box -180.0, 180.0, -90.0, -55.0
453
454    set_namelist namelist_top_cfg ln_trcdta .false.
455    set_namelist namelist_top_cfg ln_trcbc  .false.
456    # put ln_ironsed, ln_hydrofe to false
457    # if not you need input files, and for tests is not necessary
458    set_namelist namelist_pisces_cfg ln_varpar .false.
459    set_namelist namelist_pisces_cfg ln_ironsed .false.
460    set_namelist namelist_pisces_cfg ln_ironice .false.
461    set_namelist namelist_pisces_cfg ln_hydrofe .false.
462    # put ln_pisdmp to false : no restoring to global mean value
463    set_namelist namelist_pisces_cfg ln_pisdmp .false.
464    if [ ${USING_MPMD} == "yes" ] ; then
465       set_xio_using_server iodef.xml true
466    else
467       set_xio_using_server iodef.xml false
468    fi
469    cd ${SETTE_DIR}
470    . ./prepare_job.sh input_ORCA2_ICE_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
471    cd ${SETTE_DIR}
472    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
473
474    cd ${SETTE_DIR}
475    export TEST_NAME="REPRO_8_4"
476    . ./prepare_exe_dir.sh
477    set_valid_dir
478    clean_valid_dir
479    JOB_FILE=${EXE_DIR}/run_job.sh
480    NPROC=32
481    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
482    cd ${EXE_DIR}
483    set_namelist namelist_cfg cn_exp \"O2L3P_84\"
484    set_namelist namelist_cfg nn_it000 1
485    set_namelist namelist_cfg nn_itend 992
486    set_namelist namelist_cfg jpni 8
487    set_namelist namelist_cfg jpnj 4
488    set_namelist namelist_cfg ln_xios_cfg .true.
489    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
490    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
491    set_namelist namelist_cfg ln_wave .true.
492    set_namelist namelist_cfg ln_cdgw .true.
493    set_namelist namelist_cfg ln_sdw  .true.
494    set_namelist namelist_cfg nn_sdrift 1
495    set_namelist namelist_cfg ln_stcor .true.
496    set_namelist namelist_cfg ln_tauwoc .true.
497
498    if [ ${USING_ICEBERGS} == "no" ] ; then set_namelist namelist_cfg ln_icebergs .false. ; fi
499    # for debugging purposes set_namelist namelist_cfg rn_test_box -180.0, 180.0, -90.0, -55.0
500
501    set_namelist namelist_top_cfg ln_trcdta .false.
502    set_namelist namelist_top_cfg ln_trcbc  .false.
503    # put ln_ironsed, ln_hydrofe to false
504    # if not you need input files, and for tests is not necessary
505    set_namelist namelist_pisces_cfg ln_varpar .false.
506    set_namelist namelist_pisces_cfg ln_ironsed .false.
507    set_namelist namelist_pisces_cfg ln_ironice .false.
508    set_namelist namelist_pisces_cfg ln_hydrofe .false.
509    # put ln_pisdmp to false : no restoring to global mean value
510    set_namelist namelist_pisces_cfg ln_pisdmp .false.
511    if [ ${USING_MPMD} == "yes" ] ; then
512       set_xio_using_server iodef.xml true
513    else
514       set_xio_using_server iodef.xml false
515    fi
516    cd ${SETTE_DIR}
517    . ./prepare_job.sh input_ORCA2_ICE_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
518    cd ${SETTE_DIR}
519    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
520fi
521
522# ----------------
523# ORCA2_OFF_PISCES
524# ----------------
525if [ ${config} == "ORCA2_OFF_PISCES" ] ;  then
526## Restartability tests for ORCA2_OFF_PISCES
527    export TEST_NAME="LONG"
528    cd ${MAIN_DIR}
529    #
530    # syncronisation if target directory/file exist (not done by makenemo)
531    . ${SETTE_DIR}/all_functions.sh
532    sync_config  ORCA2_OFF_PISCES ORCA2_OFF_PISCES_ST 'cfgs'
533    clean_config ORCA2_OFF_PISCES ORCA2_OFF_PISCES_ST 'cfgs'
534    #
535    . ./makenemo -m ${CMP_NAM} -n ORCA2_OFF_PISCES_ST -r ORCA2_OFF_PISCES -j 8 add_key "${ADD_KEYS}" del_key "${DEL_KEYS}"
536    cd ${SETTE_DIR}
537    . ./param.cfg
538    . ./all_functions.sh
539    . ./prepare_exe_dir.sh
540    set_valid_dir
541    clean_valid_dir
542    JOB_FILE=${EXE_DIR}/run_job.sh
543    NPROC=32
544    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
545    cd ${EXE_DIR}
546    set_namelist namelist_cfg cn_exp \"OFFP_LONG\"
547    set_namelist namelist_cfg nn_it000 1
548    set_namelist namelist_cfg nn_itend 380
549    set_namelist namelist_cfg nn_stock 190
550    set_namelist namelist_cfg jpni 4
551    set_namelist namelist_cfg jpnj 8
552    set_namelist namelist_cfg ln_xios_cfg .true.
553    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
554    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
555    set_namelist namelist_cfg ln_qsr_rgb .true.
556    set_namelist namelist_top_cfg ln_trcdta .false.
557    set_namelist namelist_top_cfg ln_trcbc  .false.
558    # put ln_ironsed, ln_hydrofe to false
559    # if not you need input files, and for tests is not necessary
560    set_namelist namelist_pisces_cfg ln_varpar .false.
561    set_namelist namelist_pisces_cfg ln_ironsed .false.
562    set_namelist namelist_pisces_cfg ln_ironice .false.
563    set_namelist namelist_pisces_cfg ln_hydrofe .false.
564    # put ln_pisdmp to false : no restoring to global mean value
565    set_namelist namelist_pisces_cfg ln_pisdmp .false.
566    if [ ${USING_MPMD} == "yes" ] ; then
567       set_xio_using_server iodef.xml true
568    else
569       set_xio_using_server iodef.xml false
570    fi
571    cd ${SETTE_DIR}
572    . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
573   
574    cd ${SETTE_DIR}
575    export TEST_NAME="SHORT"
576    . ./prepare_exe_dir.sh
577    set_valid_dir
578    clean_valid_dir
579    cd ${EXE_DIR}
580    set_namelist namelist_cfg cn_exp \"OFFP_SHORT\"
581    set_namelist namelist_cfg nn_it000 191
582    set_namelist namelist_cfg nn_itend 380
583    set_namelist namelist_cfg nn_stock 190
584    set_namelist namelist_cfg jpni 4
585    set_namelist namelist_cfg jpnj 8
586    set_namelist namelist_cfg ln_xios_cfg .true.
587    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
588    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
589    set_namelist namelist_cfg ln_qsr_rgb .true.
590    set_namelist namelist_top_cfg ln_rsttr .true.
591    set_namelist namelist_top_cfg nn_rsttr 2
592    set_namelist namelist_top_cfg cn_trcrst_in \"OFFP_LONG_00000190_restart_trc\"
593    for (( i=1; i<=$NPROC; i++)) ; do
594        L_NPROC=$(( $i - 1 ))
595        L_NPROC=`printf "%04d\n" ${L_NPROC}`
596        ln -sf ../LONG/OFFP_LONG_00000190_restart_trc_${L_NPROC}.nc .
597    done
598    set_namelist namelist_top_cfg ln_trcbc  .false.
599    # put ln_ironsed, ln_hydrofe to false
600    # if not you need input files, and for tests is not necessary
601    set_namelist namelist_pisces_cfg ln_varpar .false.
602    set_namelist namelist_pisces_cfg ln_ironsed .false.
603    set_namelist namelist_pisces_cfg ln_ironice .false.
604    set_namelist namelist_pisces_cfg ln_hydrofe .false.
605    # put ln_pisdmp to false : no restoring to global mean value
606    set_namelist namelist_pisces_cfg ln_pisdmp .false.
607    if [ ${USING_MPMD} == "yes" ] ; then
608       set_xio_using_server iodef.xml true
609    else
610       set_xio_using_server iodef.xml false
611    fi
612    cd ${SETTE_DIR}
613    . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME}  ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
614    cd ${SETTE_DIR}
615    . ./fcm_job.sh $NPROC  ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
616
617## Reproducibility tests for ORCA2_OFF_PISCES
618    export TEST_NAME="REPRO_4_8"
619    cd ${MAIN_DIR}
620    cd ${SETTE_DIR}
621    . ./param.cfg
622    . ./all_functions.sh
623    . ./prepare_exe_dir.sh
624    set_valid_dir
625    clean_valid_dir
626    JOB_FILE=${EXE_DIR}/run_job.sh
627    NPROC=32
628    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
629    cd ${EXE_DIR}
630    set_namelist namelist_cfg cn_exp \"OFFP_48\"
631    set_namelist namelist_cfg nn_it000 1
632    set_namelist namelist_cfg nn_itend 380
633    set_namelist namelist_cfg jpni 4
634    set_namelist namelist_cfg jpnj 8
635    set_namelist namelist_cfg ln_xios_cfg .true.
636    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
637    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
638    set_namelist namelist_cfg ln_qsr_rgb .true.
639    set_namelist namelist_top_cfg ln_trcdta .false.
640    set_namelist namelist_top_cfg ln_trcbc  .false.
641    # put ln_ironsed, ln_hydrofe to false
642    # if not you need input files, and for tests is not necessary
643    set_namelist namelist_pisces_cfg ln_varpar .false.
644    set_namelist namelist_pisces_cfg ln_ironsed .false.
645    set_namelist namelist_pisces_cfg ln_ironice .false.
646    set_namelist namelist_pisces_cfg ln_hydrofe .false.
647    # put ln_pisdmp to false : no restoring to global mean value
648    set_namelist namelist_pisces_cfg ln_pisdmp .false.
649    if [ ${USING_MPMD} == "yes" ] ; then
650       set_xio_using_server iodef.xml true
651    else
652       set_xio_using_server iodef.xml false
653    fi
654    cd ${SETTE_DIR}
655    . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
656    cd ${SETTE_DIR}
657    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
658
659    cd ${SETTE_DIR}
660    export TEST_NAME="REPRO_8_4"
661    . ./prepare_exe_dir.sh
662    set_valid_dir
663    clean_valid_dir
664    JOB_FILE=${EXE_DIR}/run_job.sh
665    NPROC=32
666    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
667    cd ${EXE_DIR}
668    set_namelist namelist_cfg cn_exp \"OFFP_84\"
669    set_namelist namelist_cfg nn_it000 1
670    set_namelist namelist_cfg nn_itend 380
671    set_namelist namelist_cfg jpni 8
672    set_namelist namelist_cfg jpnj 4
673    set_namelist namelist_cfg ln_xios_cfg .true.
674    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
675    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
676    set_namelist namelist_cfg ln_qsr_rgb .true.
677    set_namelist namelist_top_cfg ln_trcdta .false.
678    set_namelist namelist_top_cfg ln_trcbc  .false.
679    # put ln_ironsed, ln_hydrofe to false
680    # if not you need input files, and for tests is not necessary
681    set_namelist namelist_pisces_cfg ln_varpar .false.
682    set_namelist namelist_pisces_cfg ln_ironsed .false.
683    set_namelist namelist_pisces_cfg ln_ironice .false.
684    set_namelist namelist_pisces_cfg ln_hydrofe .false.
685    # put ln_pisdmp to false : no restoring to global mean value
686    set_namelist namelist_pisces_cfg ln_pisdmp .false.
687    if [ ${USING_MPMD} == "yes" ] ; then
688       set_xio_using_server iodef.xml true
689    else
690       set_xio_using_server iodef.xml false
691    fi
692    cd ${SETTE_DIR}
693    . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
694    cd ${SETTE_DIR}
695    . ./fcm_job.sh $NPROC  ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
696fi
697
698# -----
699# AMM12
700# -----
701if [ ${config} == "AMM12" ] ;  then
702    ## Restartability tests for AMM12
703    export TEST_NAME="LONG"
704    cd ${MAIN_DIR}
705    #
706    # syncronisation if target directory/file exist (not done by makenemo)
707    . ${SETTE_DIR}/all_functions.sh
708    sync_config  AMM12 AMM12_ST 'cfgs'
709    clean_config AMM12 AMM12_ST 'cfgs'
710    #
711    . ./makenemo -m ${CMP_NAM} -n AMM12_ST -r AMM12 -j 8 add_key "${ADD_KEYS}" del_key "${DEL_KEYS}"
712    cd ${SETTE_DIR}
713    . ./param.cfg
714    . ./all_functions.sh
715    . ./prepare_exe_dir.sh
716    set_valid_dir
717    clean_valid_dir
718    JOB_FILE=${EXE_DIR}/run_job.sh
719    NPROC=32
720    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
721    cd ${EXE_DIR}
722    set_namelist namelist_cfg cn_exp \"AMM12_LONG\"
723    set_namelist namelist_cfg nn_it000 1
724    set_namelist namelist_cfg nn_itend 576
725    set_namelist namelist_cfg nn_stock 288
726    set_namelist namelist_cfg jpni 4
727    set_namelist namelist_cfg jpnj 8
728    set_namelist namelist_cfg ln_xios_cfg .true.
729    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
730    if [ ${USING_MPMD} == "yes" ] ; then
731       set_xio_using_server iodef.xml true
732    else
733       set_xio_using_server iodef.xml false
734    fi
735    cd ${SETTE_DIR}
736    . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
737
738    cd ${SETTE_DIR}
739    export TEST_NAME="SHORT"
740    . ./prepare_exe_dir.sh
741    set_valid_dir
742    clean_valid_dir
743    cd ${EXE_DIR}
744    set_namelist namelist_cfg cn_exp \"AMM12_SHORT\"
745    set_namelist namelist_cfg nn_it000 289
746    set_namelist namelist_cfg nn_itend 576
747    set_namelist namelist_cfg jpni 4
748    set_namelist namelist_cfg jpnj 8
749    set_namelist namelist_cfg ln_xios_cfg .true.
750    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
751    set_namelist namelist_cfg ln_rstart .true.
752    set_namelist namelist_cfg nn_rstctl 2
753    set_namelist namelist_cfg cn_ocerst_in \"AMM12_LONG_00000288_restart\"
754    set_namelist namelist_cfg nn_date0 20120102
755    for (( i=1; i<=$NPROC; i++)) ; do
756        L_NPROC=$(( $i - 1 ))
757        L_NPROC=`printf "%04d\n" ${L_NPROC}`
758        ln -sf ../LONG/AMM12_LONG_00000288_restart_${L_NPROC}.nc .
759    done
760    if [ ${USING_MPMD} == "yes" ] ; then
761       set_xio_using_server iodef.xml true
762    else
763       set_xio_using_server iodef.xml false
764    fi
765    cd ${SETTE_DIR}
766    . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
767    cd ${SETTE_DIR}
768    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
769
770## Reproducibility tests for AMM12
771    export TEST_NAME="REPRO_8_4"
772    cd ${MAIN_DIR}
773    cd ${SETTE_DIR}
774    . ./param.cfg
775    . ./all_functions.sh
776    . ./prepare_exe_dir.sh
777    set_valid_dir
778    clean_valid_dir
779    JOB_FILE=${EXE_DIR}/run_job.sh
780    NPROC=32
781    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
782    cd ${EXE_DIR}
783    set_namelist namelist_cfg cn_exp \"AMM12_84\"
784    set_namelist namelist_cfg nn_it000 1
785    set_namelist namelist_cfg nn_itend 576
786    set_namelist namelist_cfg jpni 8
787    set_namelist namelist_cfg jpnj 4
788    set_namelist namelist_cfg ln_xios_cfg .true.
789    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
790    if [ ${USING_MPMD} == "yes" ] ; then
791       set_xio_using_server iodef.xml true
792    else
793       set_xio_using_server iodef.xml false
794    fi
795    cd ${SETTE_DIR}
796    . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
797    cd ${SETTE_DIR}
798    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
799
800    cd ${SETTE_DIR}
801    export TEST_NAME="REPRO_4_8"
802    . ./prepare_exe_dir.sh
803    set_valid_dir
804    clean_valid_dir
805    JOB_FILE=${EXE_DIR}/run_job.sh
806    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
807    cd ${EXE_DIR}
808    set_namelist namelist_cfg cn_exp \"AMM12_48\"
809    set_namelist namelist_cfg nn_it000 1
810    set_namelist namelist_cfg nn_itend 576
811    set_namelist namelist_cfg jpni 4
812    set_namelist namelist_cfg jpnj 8
813    set_namelist namelist_cfg ln_xios_cfg .true.
814    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
815    if [ ${USING_MPMD} == "yes" ] ; then
816       set_xio_using_server iodef.xml true
817    else
818       set_xio_using_server iodef.xml false
819    fi
820    cd ${SETTE_DIR}
821    . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
822    cd ${SETTE_DIR}
823    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
824fi
825
826
827# ---------
828# ORCA2_SAS
829# ---------
830if [ ${config} == "SAS" ] ;  then
831## Restartability tests
832    export TEST_NAME="LONG"
833    cd ${MAIN_DIR}
834    #
835    # syncronisation if target directory/file exist (not done by makenemo)
836    . ${SETTE_DIR}/all_functions.sh
837    sync_config  ORCA2_SAS_ICE ORCA2_SAS_ICE_ST 'cfgs'
838    clean_config ORCA2_SAS_ICE ORCA2_SAS_ICE_ST 'cfgs'
839    #
840    . ./makenemo -m ${CMP_NAM} -n ORCA2_SAS_ICE_ST -r ORCA2_SAS_ICE -j 8 add_key "${ADD_KEYS}" del_key "${DEL_KEYS}"
841    cd ${SETTE_DIR}
842    . ./param.cfg
843    . ./all_functions.sh
844    . ./prepare_exe_dir.sh
845    set_valid_dir
846    clean_valid_dir
847    JOB_FILE=${EXE_DIR}/run_job.sh
848    NPROC=32
849    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
850    cd ${EXE_DIR}
851    set_namelist namelist_cfg cn_exp \"SAS\"
852    set_namelist namelist_cfg nn_it000 1
853    set_namelist namelist_cfg nn_itend 256
854    set_namelist namelist_cfg nn_stock 128
855    set_namelist namelist_cfg jpni 4
856    set_namelist namelist_cfg jpnj 8
857    set_namelist namelist_cfg ln_xios_cfg .true.
858    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
859    set_namelist namelist_ice_cfg ln_icediachk .true.
860    if [ ${USING_MPMD} == "yes" ] ; then
861       set_xio_using_server iodef.xml true
862    else
863       set_xio_using_server iodef.xml false
864    fi
865    cd ${SETTE_DIR}
866    . ./prepare_job.sh input_SAS.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
867
868    cd ${SETTE_DIR}
869    export TEST_NAME="SHORT"
870    . ./prepare_exe_dir.sh
871    set_valid_dir
872    clean_valid_dir
873    cd ${EXE_DIR}
874    set_namelist namelist_cfg cn_exp \"SAS\"
875    set_namelist namelist_cfg nn_it000 129
876    set_namelist namelist_cfg nn_itend 256
877    set_namelist namelist_cfg jpni 4
878    set_namelist namelist_cfg jpnj 8
879    set_namelist namelist_cfg ln_xios_cfg .true.
880    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
881    set_namelist namelist_cfg ln_rstart .true.
882    set_namelist namelist_cfg nn_rstctl 2
883    set_namelist namelist_cfg nn_date0 010109
884    set_namelist namelist_cfg cn_ocerst_in \"SAS_00000128_restart\"
885    set_namelist namelist_ice_cfg cn_icerst_in \"SAS_00000128_restart_ice\"
886    if [ ${USING_MPMD} == "yes" ] ; then
887       set_xio_using_server iodef.xml true
888    else
889       set_xio_using_server iodef.xml false
890    fi
891    for (( i=1; i<=$NPROC; i++)) ; do
892        L_NPROC=$(( $i - 1 ))
893        L_NPROC=`printf "%04d\n" ${L_NPROC}`
894        ln -sf ../LONG/SAS_00000128_restart_${L_NPROC}.nc .
895        ln -sf ../LONG/SAS_00000128_restart_ice_${L_NPROC}.nc .
896    done
897    cd ${SETTE_DIR}
898    . ./prepare_job.sh input_SAS.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
899    cd ${SETTE_DIR}
900    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
901
902## Reproducibility tests
903    export TEST_NAME="REPRO_4_8"
904    cd ${MAIN_DIR}
905    cd ${SETTE_DIR}
906    . ./param.cfg
907    . ./all_functions.sh
908    . ./prepare_exe_dir.sh
909    set_valid_dir
910    clean_valid_dir
911    JOB_FILE=${EXE_DIR}/run_job.sh
912    NPROC=32
913    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
914    cd ${EXE_DIR}
915    set_namelist namelist_cfg cn_exp \"SAS_48\"
916    set_namelist namelist_cfg nn_it000 1
917    set_namelist namelist_cfg nn_itend 80
918    set_namelist namelist_cfg jpni 4
919    set_namelist namelist_cfg jpnj 8
920    set_namelist namelist_cfg ln_xios_cfg .true.
921    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
922    if [ ${USING_MPMD} == "yes" ] ; then
923       set_xio_using_server iodef.xml true
924    else
925       set_xio_using_server iodef.xml false
926    fi
927    cd ${SETTE_DIR}
928    . ./prepare_job.sh input_SAS.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
929    cd ${SETTE_DIR}
930    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
931
932    cd ${SETTE_DIR}
933    export TEST_NAME="REPRO_8_4"
934    . ./prepare_exe_dir.sh
935    set_valid_dir
936    clean_valid_dir
937    JOB_FILE=${EXE_DIR}/run_job.sh
938    NPROC=32
939    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
940    cd ${EXE_DIR}
941    set_namelist namelist_cfg cn_exp \"SAS_84\"
942    set_namelist namelist_cfg nn_it000 1
943    set_namelist namelist_cfg nn_itend 80
944    set_namelist namelist_cfg jpni 8
945    set_namelist namelist_cfg jpnj 4
946    set_namelist namelist_cfg ln_xios_cfg .true.
947    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
948    if [ ${USING_MPMD} == "yes" ] ; then
949       set_xio_using_server iodef.xml true
950    else
951       set_xio_using_server iodef.xml false
952    fi
953    cd ${SETTE_DIR}
954    . ./prepare_job.sh input_SAS.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
955    cd ${SETTE_DIR}
956    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
957
958fi
959
960
961# --------------
962# ORCA2_ICE_OBS
963# --------------
964## Test assimilation interface code, OBS and ASM for reproducibility
965## Restartability not tested (ASM code not restartable while increments are being applied)
966if [ ${config} == "ORCA2_ICE_OBS" ] ; then
967## Reproducibility tests
968    export TEST_NAME="REPRO_4_8"
969    cd ${MAIN_DIR}
970    #
971    # syncronisation if target directory/file exist (not done by makenemo)
972    . ${SETTE_DIR}/all_functions.sh
973    sync_config  ORCA2_ICE_PISCES ORCA2_ICE_OBS_ST 'cfgs'
974    clean_config ORCA2_ICE_PISCES ORCA2_ICE_OBS_ST 'cfgs'
975    #
976    . ./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"
977    cd ${SETTE_DIR}
978    . ./param.cfg
979    . ./all_functions.sh
980    . ./prepare_exe_dir.sh
981    set_valid_dir
982    clean_valid_dir
983    JOB_FILE=${EXE_DIR}/run_job.sh
984    NPROC=32
985    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
986    cd ${EXE_DIR}
987    set_namelist namelist_cfg cn_exp \"O2L3OBS_48\"
988    set_namelist namelist_cfg nn_it000 1
989    set_namelist namelist_cfg nn_itend 80
990    set_namelist namelist_cfg ln_read_cfg .true.
991    set_namelist namelist_cfg jpni 4
992    set_namelist namelist_cfg jpnj 8
993    set_namelist namelist_cfg ln_xios_cfg .true.
994    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
995    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
996    set_namelist namelist_cfg ln_diaobs .true.
997    set_namelist namelist_cfg ln_t3d .true.
998    set_namelist namelist_cfg ln_s3d .true.
999    set_namelist namelist_cfg ln_sst .true.
1000    set_namelist namelist_cfg ln_sla .true.
1001    set_namelist namelist_cfg ln_sic .true.
1002    set_namelist namelist_cfg ln_vel3d .true.
1003    set_namelist namelist_cfg ln_bkgwri .true.
1004    set_namelist namelist_cfg ln_trainc .true.
1005    set_namelist namelist_cfg ln_dyninc .true.
1006    set_namelist namelist_cfg ln_sshinc .true.
1007    set_namelist namelist_cfg ln_asmiau .true.
1008    #remove all useless options for pisces (due to ORCA2_ICE_PISCES reference configuration)
1009    set_namelist namelist_top_cfg ln_trcdta .false.
1010    set_namelist namelist_top_cfg ln_trcbc  .false.
1011    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
1012    # if not you need input files, and for tests is not necessary
1013    set_namelist namelist_pisces_cfg ln_varpar .false.
1014    set_namelist namelist_pisces_cfg ln_ironsed .false.
1015    set_namelist namelist_pisces_cfg ln_ironice .false.
1016    set_namelist namelist_pisces_cfg ln_hydrofe .false.
1017    if [ ${USING_MPMD} == "yes" ] ; then
1018       set_xio_using_server iodef.xml true
1019    else
1020       set_xio_using_server iodef.xml false
1021    fi
1022    cd ${SETTE_DIR}
1023    . ./prepare_job.sh input_ORCA2_ICE_OBS.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
1024    cd ${SETTE_DIR}
1025    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1026
1027   cd ${SETTE_DIR}
1028    export TEST_NAME="REPRO_8_4"
1029    . ./prepare_exe_dir.sh
1030    set_valid_dir
1031    clean_valid_dir
1032    JOB_FILE=${EXE_DIR}/run_job.sh
1033    NPROC=32
1034    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1035    cd ${EXE_DIR}
1036    set_namelist namelist_cfg cn_exp \"O2L3OBS_84\"
1037    set_namelist namelist_cfg nn_it000 1
1038    set_namelist namelist_cfg nn_itend 80
1039    set_namelist namelist_cfg ln_read_cfg .true.
1040    set_namelist namelist_cfg jpni 8
1041    set_namelist namelist_cfg jpnj 4
1042    set_namelist namelist_cfg ln_xios_cfg .true.
1043    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
1044    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
1045    set_namelist namelist_cfg ln_diaobs .true.
1046    set_namelist namelist_cfg ln_t3d .true.
1047    set_namelist namelist_cfg ln_s3d .true.
1048    set_namelist namelist_cfg ln_sst .true.
1049    set_namelist namelist_cfg ln_sla .true.
1050    set_namelist namelist_cfg ln_sic .true.
1051    set_namelist namelist_cfg ln_vel3d .true.
1052    set_namelist namelist_cfg ln_bkgwri .true.
1053    set_namelist namelist_cfg ln_trainc .true.
1054    set_namelist namelist_cfg ln_dyninc .true.
1055    set_namelist namelist_cfg ln_sshinc .true.
1056    set_namelist namelist_cfg ln_asmiau .true.
1057    #remove all useless options for pisces (due to ORCA2_ICE_PISCES reference configuration)
1058    set_namelist namelist_top_cfg ln_trcdta .false.
1059    set_namelist namelist_top_cfg ln_trcbc  .false.
1060    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
1061    # if not you need input files, and for tests is not necessary
1062    set_namelist namelist_pisces_cfg ln_varpar .false.
1063    set_namelist namelist_pisces_cfg ln_ironsed .false.
1064    set_namelist namelist_pisces_cfg ln_ironice .false.
1065    set_namelist namelist_pisces_cfg ln_hydrofe .false.
1066    if [ ${USING_MPMD} == "yes" ] ; then
1067       set_xio_using_server iodef.xml true
1068    else
1069       set_xio_using_server iodef.xml false
1070    fi
1071    cd ${SETTE_DIR}
1072    . ./prepare_job.sh input_ORCA2_ICE_OBS.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
1073    cd ${SETTE_DIR}
1074    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1075fi
1076
1077# ------------
1078# AGRIF ICE
1079# -----------
1080if [ ${config} == "AGRIF" ] ;  then
1081## Restartability tests
1082    export TEST_NAME="LONG"
1083    cd ${MAIN_DIR}
1084    #
1085    # syncronisation if target directory/file exist (not done by makenemo)
1086    . ${SETTE_DIR}/all_functions.sh
1087    sync_config  AGRIF_DEMO AGRIF_DEMO_ST 'cfgs'
1088    clean_config AGRIF_DEMO AGRIF_DEMO_ST 'cfgs'
1089    #
1090    . ./makenemo -m ${CMP_NAM} -n AGRIF_DEMO_ST -r AGRIF_DEMO -j 8 add_key "${ADD_KEYS}" del_key "${DEL_KEYS}"
1091    cd ${SETTE_DIR}
1092    . ./param.cfg
1093    . ./all_functions.sh
1094    . ./prepare_exe_dir.sh
1095    set_valid_dir
1096    clean_valid_dir
1097    JOB_FILE=${EXE_DIR}/run_job.sh
1098    NPROC=16
1099    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1100    cd ${EXE_DIR}
1101    set_namelist namelist_cfg cn_exp \"AGRIF_LONG\"
1102    set_namelist namelist_cfg nn_it000 1
1103    set_namelist namelist_cfg nn_itend 20
1104    set_namelist namelist_cfg nn_stock 10
1105    set_namelist namelist_cfg ln_xios_cfg .true.
1106    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
1107    set_namelist 1_namelist_cfg cn_exp \"AGRIF_LONG\"
1108    set_namelist 1_namelist_cfg nn_it000 1
1109    set_namelist 1_namelist_cfg nn_itend 20
1110    set_namelist 1_namelist_cfg nn_stock 10
1111    set_namelist 1_namelist_cfg sn_cfctl%l_runstat .true.
1112    set_namelist 2_namelist_cfg cn_exp \"AGRIF_LONG\"
1113    set_namelist 2_namelist_cfg nn_it000 1
1114    set_namelist 2_namelist_cfg nn_itend 80
1115    set_namelist 2_namelist_cfg nn_stock 40
1116    set_namelist 2_namelist_cfg sn_cfctl%l_runstat .true.
1117    set_namelist 3_namelist_cfg cn_exp \"AGRIF_LONG\"
1118    set_namelist 3_namelist_cfg nn_it000 1
1119    set_namelist 3_namelist_cfg nn_itend 240
1120    set_namelist 3_namelist_cfg nn_stock 120
1121    set_namelist 3_namelist_cfg sn_cfctl%l_runstat .true.
1122
1123    if [ ${USING_MPMD} == "yes" ] ; then
1124       set_xio_using_server iodef.xml true
1125    else
1126       set_xio_using_server iodef.xml false
1127    fi
1128    cd ${SETTE_DIR}
1129    . ./prepare_job.sh input_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
1130   
1131    cd ${SETTE_DIR}
1132    export TEST_NAME="SHORT"
1133    . ./prepare_exe_dir.sh
1134    set_valid_dir
1135    clean_valid_dir
1136    cd ${EXE_DIR}
1137    set_namelist namelist_cfg cn_exp \"AGRIF_SHORT\"
1138    set_namelist namelist_cfg nn_it000 11
1139    set_namelist namelist_cfg nn_itend 20
1140    set_namelist namelist_cfg nn_stock 10
1141    set_namelist namelist_cfg ln_xios_cfg .true.
1142    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
1143    set_namelist namelist_cfg ln_rstart .true.
1144    set_namelist namelist_cfg nn_rstctl 2
1145    set_namelist 1_namelist_cfg cn_exp \"AGRIF_SHORT\"
1146    set_namelist 1_namelist_cfg nn_it000 11
1147    set_namelist 1_namelist_cfg nn_itend 20
1148    set_namelist 1_namelist_cfg nn_stock 10
1149    set_namelist 1_namelist_cfg sn_cfctl%l_runstat .true.
1150    set_namelist 1_namelist_cfg ln_rstart .true.
1151    set_namelist 1_namelist_cfg nn_rstctl 2
1152    set_namelist 2_namelist_cfg cn_exp \"AGRIF_SHORT\"
1153    set_namelist 2_namelist_cfg nn_it000 41
1154    set_namelist 2_namelist_cfg nn_itend 80
1155    set_namelist 2_namelist_cfg nn_stock 40
1156    set_namelist 2_namelist_cfg sn_cfctl%l_runstat .true.
1157    set_namelist 2_namelist_cfg ln_rstart .true.
1158    set_namelist 2_namelist_cfg nn_rstctl 2
1159    set_namelist 3_namelist_cfg cn_exp \"AGRIF_SHORT\"
1160    set_namelist 3_namelist_cfg nn_it000 121
1161    set_namelist 3_namelist_cfg nn_itend 240
1162    set_namelist 3_namelist_cfg nn_stock 120
1163    set_namelist 3_namelist_cfg sn_cfctl%l_runstat .true.
1164    set_namelist 3_namelist_cfg ln_rstart .true.
1165    set_namelist 3_namelist_cfg nn_rstctl 2
1166    set_namelist namelist_cfg cn_ocerst_in \"AGRIF_LONG_00000010_restart\"
1167    set_namelist namelist_ice_cfg cn_icerst_in \"AGRIF_LONG_00000010_restart_ice\"
1168    set_namelist 1_namelist_cfg cn_ocerst_in \"AGRIF_LONG_00000010_restart\"
1169    set_namelist 1_namelist_ice_cfg cn_icerst_in \"AGRIF_LONG_00000010_restart_ice\"
1170    set_namelist 2_namelist_cfg cn_ocerst_in \"AGRIF_LONG_00000040_restart\"
1171    set_namelist 2_namelist_ice_cfg cn_icerst_in \"AGRIF_LONG_00000040_restart_ice\"
1172    set_namelist 3_namelist_cfg cn_ocerst_in \"AGRIF_LONG_00000120_restart\"
1173    set_namelist 3_namelist_ice_cfg cn_icerst_in \"AGRIF_LONG_00000120_restart_ice\"
1174
1175    for (( i=1; i<=$NPROC; i++)) ; do
1176        L_NPROC=$(( $i - 1 ))
1177        L_NPROC=`printf "%04d\n" ${L_NPROC}`
1178        ln -sf ../LONG/AGRIF_LONG_00000010_restart_${L_NPROC}.nc .
1179        ln -sf ../LONG/AGRIF_LONG_00000010_restart_ice_${L_NPROC}.nc .
1180        ln -sf ../LONG/1_AGRIF_LONG_00000010_restart_${L_NPROC}.nc .
1181        ln -sf ../LONG/1_AGRIF_LONG_00000010_restart_ice_${L_NPROC}.nc .
1182        ln -sf ../LONG/2_AGRIF_LONG_00000040_restart_${L_NPROC}.nc .
1183        ln -sf ../LONG/2_AGRIF_LONG_00000040_restart_ice_${L_NPROC}.nc .
1184        ln -sf ../LONG/3_AGRIF_LONG_00000120_restart_${L_NPROC}.nc .
1185        ln -sf ../LONG/3_AGRIF_LONG_00000120_restart_ice_${L_NPROC}.nc .
1186    done
1187    if [ ${USING_MPMD} == "yes" ] ; then
1188       set_xio_using_server iodef.xml true
1189    else
1190       set_xio_using_server iodef.xml false
1191    fi
1192    cd ${SETTE_DIR}
1193    . ./prepare_job.sh input_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
1194    cd ${SETTE_DIR}
1195    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1196
1197## Reproducibility tests
1198    export TEST_NAME="REPRO_2_8"
1199    cd ${MAIN_DIR}
1200    cd ${SETTE_DIR}
1201    . ./param.cfg
1202    . ./all_functions.sh
1203    . ./prepare_exe_dir.sh
1204    set_valid_dir
1205    clean_valid_dir
1206    JOB_FILE=${EXE_DIR}/run_job.sh
1207    NPROC=16
1208    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1209    cd ${EXE_DIR}
1210    set_namelist namelist_cfg cn_exp \"AGRIF_28\"
1211    set_namelist namelist_cfg nn_it000 1
1212    set_namelist namelist_cfg nn_itend 20
1213    set_namelist namelist_cfg jpni 2
1214    set_namelist namelist_cfg jpnj 8
1215    set_namelist namelist_cfg ln_xios_cfg .true.
1216    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
1217    set_namelist 1_namelist_cfg cn_exp \"AGRIF_28\"
1218    set_namelist 1_namelist_cfg nn_it000 1
1219    set_namelist 1_namelist_cfg nn_itend 20
1220    set_namelist 1_namelist_cfg jpni 2
1221    set_namelist 1_namelist_cfg jpnj 8
1222    set_namelist 1_namelist_cfg sn_cfctl%l_runstat .true.
1223    set_namelist 2_namelist_cfg cn_exp \"AGRIF_28\"
1224    set_namelist 2_namelist_cfg nn_it000 1
1225    set_namelist 2_namelist_cfg nn_itend 80
1226    set_namelist 2_namelist_cfg jpni 2
1227    set_namelist 2_namelist_cfg jpnj 8
1228    set_namelist 2_namelist_cfg sn_cfctl%l_runstat .true.
1229    set_namelist 3_namelist_cfg cn_exp \"AGRIF_28\"
1230    set_namelist 3_namelist_cfg nn_it000 1
1231    set_namelist 3_namelist_cfg nn_itend 240
1232    set_namelist 3_namelist_cfg jpni 2
1233    set_namelist 3_namelist_cfg jpnj 8
1234    set_namelist 3_namelist_cfg sn_cfctl%l_runstat .true.
1235
1236    if [ ${USING_MPMD} == "yes" ] ; then
1237       set_xio_using_server iodef.xml true
1238    else
1239       set_xio_using_server iodef.xml false
1240    fi
1241    cd ${SETTE_DIR}
1242    . ./prepare_job.sh input_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
1243    cd ${SETTE_DIR}
1244    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1245
1246    cd ${SETTE_DIR}
1247    export TEST_NAME="REPRO_4_4"
1248    . ./prepare_exe_dir.sh
1249    set_valid_dir
1250    clean_valid_dir
1251    JOB_FILE=${EXE_DIR}/run_job.sh
1252    NPROC=16
1253    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1254    cd ${EXE_DIR}
1255    set_namelist namelist_cfg cn_exp \"AGRIF_44\"
1256    set_namelist namelist_cfg nn_it000 1
1257    set_namelist namelist_cfg nn_itend 20
1258    set_namelist namelist_cfg jpni 4
1259    set_namelist namelist_cfg jpnj 4
1260    set_namelist namelist_cfg ln_xios_cfg .true.
1261    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
1262    set_namelist 1_namelist_cfg cn_exp \"AGRIF_44\"
1263    set_namelist 1_namelist_cfg nn_it000 1
1264    set_namelist 1_namelist_cfg nn_itend 20
1265    set_namelist 1_namelist_cfg jpni 4
1266    set_namelist 1_namelist_cfg jpnj 4
1267    set_namelist 1_namelist_cfg sn_cfctl%l_runstat .true.
1268    set_namelist 2_namelist_cfg cn_exp \"AGRIF_44\"
1269    set_namelist 2_namelist_cfg nn_it000 1
1270    set_namelist 2_namelist_cfg nn_itend 80
1271    set_namelist 2_namelist_cfg jpni 4
1272    set_namelist 2_namelist_cfg jpnj 4
1273    set_namelist 2_namelist_cfg sn_cfctl%l_runstat .true.
1274    set_namelist 3_namelist_cfg cn_exp \"AGRIF_44\"
1275    set_namelist 3_namelist_cfg nn_it000 1
1276    set_namelist 3_namelist_cfg nn_itend 240
1277    set_namelist 3_namelist_cfg jpni 4
1278    set_namelist 3_namelist_cfg jpnj 4
1279    set_namelist 3_namelist_cfg sn_cfctl%l_runstat .true.
1280
1281    if [ ${USING_MPMD} == "yes" ] ; then
1282       set_xio_using_server iodef.xml true
1283    else
1284       set_xio_using_server iodef.xml false
1285    fi
1286    cd ${SETTE_DIR}
1287    . ./prepare_job.sh input_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
1288    cd ${SETTE_DIR}
1289    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1290
1291## test code corruption with AGRIF (phase 1) ==> Compile with key_agrif but run with no zoom
1292    export TEST_NAME="ORCA2"
1293    cd ${MAIN_DIR}
1294    cd ${SETTE_DIR}
1295    . ./param.cfg
1296    . ./all_functions.sh
1297    . ./prepare_exe_dir.sh
1298    set_valid_dir
1299    clean_valid_dir
1300    JOB_FILE=${EXE_DIR}/run_job.sh
1301    NPROC=32
1302    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1303    cd ${EXE_DIR}
1304    set_namelist namelist_cfg cn_exp \"ORCA2\"
1305    set_namelist namelist_cfg nn_it000 1
1306    set_namelist namelist_cfg nn_itend 150
1307    set_namelist namelist_cfg ln_xios_cfg .true.
1308    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
1309
1310#   Set the number of fine grids to zero:   
1311    sed -i "1s/.*/0/" ${EXE_DIR}/AGRIF_FixedGrids.in
1312
1313    if [ ${USING_MPMD} == "yes" ] ; then
1314       set_xio_using_server iodef.xml true
1315    else
1316       set_xio_using_server iodef.xml false
1317    fi
1318    cd ${SETTE_DIR}
1319    . ./prepare_job.sh input_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
1320    cd ${SETTE_DIR}
1321    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1322
1323fi
1324
1325
1326## test code corruption with AGRIF (phase 2) ==> Compile without key_agrif (to be compared with AGRIF_DEMO_ST/ORCA2)
1327if [ ${config} == "AGRIF" ] ;  then
1328    export TEST_NAME="ORCA2"
1329    cd ${MAIN_DIR}
1330    #
1331    # syncronisation if target directory/file exist (not done by makenemo)
1332    . ${SETTE_DIR}/all_functions.sh
1333    sync_config  AGRIF_DEMO AGRIF_DEMO_NOAGRIF_ST 'cfgs'
1334    clean_config AGRIF_DEMO AGRIF_DEMO_NOAGRIF_ST 'cfgs'
1335    #
1336    . ./makenemo -m ${CMP_NAM} -n AGRIF_DEMO_NOAGRIF_ST -r AGRIF_DEMO -j 8 add_key "${ADD_KEYS}" del_key "key_agrif"
1337    cd ${SETTE_DIR}
1338    . ./param.cfg
1339    . ./all_functions.sh
1340    . ./prepare_exe_dir.sh
1341    set_valid_dir
1342    clean_valid_dir
1343    JOB_FILE=${EXE_DIR}/run_job.sh
1344    NPROC=32
1345    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1346    cd ${EXE_DIR}
1347    set_namelist namelist_cfg cn_exp \"ORCA2\"
1348    set_namelist namelist_cfg nn_it000 1
1349    set_namelist namelist_cfg nn_itend 150
1350    set_namelist namelist_cfg ln_xios_cfg .true.
1351    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
1352#
1353    if [ ${USING_MPMD} == "yes" ] ; then
1354       set_xio_using_server iodef.xml true
1355    else
1356       set_xio_using_server iodef.xml false
1357    fi
1358    cd ${SETTE_DIR}
1359    . ./prepare_job.sh input_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
1360    cd ${SETTE_DIR}
1361    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1362
1363fi
1364
1365# -------
1366# SPITZ12
1367# -------
1368if [ ${config} == "SPITZ12" ] ;  then
1369## Restartability tests
1370    export TEST_NAME="LONG"
1371    cd ${MAIN_DIR}
1372    #
1373    # syncronisation if target directory/file exist (not done by makenemo)
1374    . ${SETTE_DIR}/all_functions.sh
1375    sync_config  SPITZ12 SPITZ12_ST 'cfgs'
1376    clean_config SPITZ12 SPITZ12_ST 'cfgs'
1377    #
1378    . ./makenemo -m ${CMP_NAM} -n SPITZ12_ST -r SPITZ12 -j 8 add_key "${ADD_KEYS}" del_key "${DEL_KEYS}"
1379    cd ${SETTE_DIR}
1380    . ./param.cfg
1381    . ./all_functions.sh
1382    . ./prepare_exe_dir.sh
1383    set_valid_dir
1384    clean_valid_dir
1385    JOB_FILE=${EXE_DIR}/run_job.sh
1386    NPROC=32
1387    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1388    cd ${EXE_DIR}
1389    set_namelist namelist_cfg cn_exp \"S12_LONG\"
1390    set_namelist namelist_cfg nn_it000 1
1391    set_namelist namelist_cfg nn_itend 240
1392    set_namelist namelist_cfg nn_stock 120
1393    set_namelist namelist_cfg nn_date0 20020101
1394    set_namelist namelist_cfg jpni 4
1395    set_namelist namelist_cfg jpnj 8
1396    set_namelist namelist_cfg ln_xios_cfg .true.
1397    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
1398    #set_namelist namelist_ice_cfg ln_icediachk .true.
1399    if [ ${USING_MPMD} == "yes" ] ; then
1400       set_xio_using_server iodef.xml true
1401    else
1402       set_xio_using_server iodef.xml false
1403    fi
1404    cd ${SETTE_DIR}
1405    . ./prepare_job.sh input_SPITZ12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
1406   
1407    cd ${SETTE_DIR}
1408    export TEST_NAME="SHORT"
1409    . ./prepare_exe_dir.sh
1410    set_valid_dir
1411    clean_valid_dir
1412    cd ${EXE_DIR}
1413    set_namelist namelist_cfg cn_exp \"S12_SHORT\"
1414    set_namelist namelist_cfg nn_it000 121
1415    set_namelist namelist_cfg nn_itend 240
1416    set_namelist namelist_cfg nn_stock 120
1417    set_namelist namelist_cfg ln_rstart .true.
1418    set_namelist namelist_cfg nn_rstctl 2
1419    set_namelist namelist_cfg jpni 4
1420    set_namelist namelist_cfg jpnj 8
1421    set_namelist namelist_cfg ln_xios_cfg .true.
1422    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
1423    set_namelist namelist_cfg cn_ocerst_in \"S12_LONG_00000120_restart\"
1424    set_namelist namelist_ice_cfg cn_icerst_in \"S12_LONG_00000120_restart_ice\"
1425    for (( i=1; i<=$NPROC; i++)) ; do
1426        L_NPROC=$(( $i - 1 ))
1427        L_NPROC=`printf "%04d\n" ${L_NPROC}`
1428        ln -sf ../LONG/S12_LONG_00000120_restart_${L_NPROC}.nc .
1429        ln -sf ../LONG/S12_LONG_00000120_restart_ice_${L_NPROC}.nc .
1430    done
1431    if [ ${USING_MPMD} == "yes" ] ; then
1432       set_xio_using_server iodef.xml true
1433    else
1434       set_xio_using_server iodef.xml false
1435    fi
1436    cd ${SETTE_DIR}
1437    . ./prepare_job.sh input_SPITZ12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
1438    cd ${SETTE_DIR}
1439    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1440
1441## Reproducibility tests
1442    export TEST_NAME="REPRO_4_8"
1443    cd ${MAIN_DIR}
1444    cd ${SETTE_DIR}
1445    . ./param.cfg
1446    . ./all_functions.sh
1447    . ./prepare_exe_dir.sh
1448    set_valid_dir
1449    clean_valid_dir
1450    JOB_FILE=${EXE_DIR}/run_job.sh
1451    NPROC=32
1452    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1453    cd ${EXE_DIR}
1454    set_namelist namelist_cfg cn_exp \"S12_48\"
1455    set_namelist namelist_cfg nn_it000 1
1456    set_namelist namelist_cfg nn_itend 120
1457    set_namelist namelist_cfg nn_date0 20020101
1458    set_namelist namelist_cfg jpni 4
1459    set_namelist namelist_cfg jpnj 8
1460    set_namelist namelist_cfg ln_xios_cfg .true.
1461    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
1462    if [ ${USING_MPMD} == "yes" ] ; then
1463       set_xio_using_server iodef.xml true
1464    else
1465       set_xio_using_server iodef.xml false
1466    fi
1467    cd ${SETTE_DIR}
1468    . ./prepare_job.sh input_SPITZ12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
1469    cd ${SETTE_DIR}
1470    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1471
1472    cd ${SETTE_DIR}
1473    export TEST_NAME="REPRO_8_4"
1474    . ./prepare_exe_dir.sh
1475    set_valid_dir
1476    clean_valid_dir
1477    JOB_FILE=${EXE_DIR}/run_job.sh
1478    NPROC=32
1479    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1480    cd ${EXE_DIR}
1481    set_namelist namelist_cfg cn_exp \"S12_84\"
1482    set_namelist namelist_cfg nn_it000 1
1483    set_namelist namelist_cfg nn_itend 120
1484    set_namelist namelist_cfg nn_date0 20020101
1485    set_namelist namelist_cfg jpni 8
1486    set_namelist namelist_cfg jpnj 4
1487    set_namelist namelist_cfg ln_xios_cfg .true.
1488    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
1489    if [ ${USING_MPMD} == "yes" ] ; then
1490       set_xio_using_server iodef.xml true
1491    else
1492       set_xio_using_server iodef.xml false
1493    fi
1494    cd ${SETTE_DIR}
1495    . ./prepare_job.sh input_SPITZ12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
1496    cd ${SETTE_DIR}
1497    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1498fi
1499
1500
1501done
Note: See TracBrowser for help on using the repository browser.