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

source: utils/CI/sette/sette_reference-configurations.sh

Last change on this file was 15555, checked in by jchanut, 2 years ago

Enforce using "original" parent grid mesh in AGRIF "code corruption" test

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