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

source: utils/CI/r12931_sette_ticket2462/sette_reference-configurations.sh @ 12999

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

Ticket #2462 update sette to handle restart read/write with XIOS

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