New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
sette.sh in branches/2015/dev_r5056_CMCC4_simplification/NEMOGCM/SETTE – NEMO

source: branches/2015/dev_r5056_CMCC4_simplification/NEMOGCM/SETTE/sette.sh @ 5282

Last change on this file since 5282 was 5282, checked in by diovino, 9 years ago

Dev. branch CMCC4_simplification ticket #1456

  • Property svn:executable set to *
File size: 47.1 KB
Line 
1#!/bin/bash
2############################################################
3# Author : Simona Flavoni for NEMO
4# Contact: sflod@locean-ipsl.upmc.fr
5# 2013   : A.C. Coward added options for testing with XIOS in dettached mode
6#
7# sette.sh   : principal script of SET TEsts for NEMO (SETTE)
8# ----------------------------------------------------------------------
9# NEMO/SETTE , NEMO Consortium (2010)
10# Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
11# ----------------------------------------------------------------------
12#
13#############################################################
14#set -x
15set -o posix
16#set -u
17#set -e
18# ===========
19# DESCRIPTION
20# ===========
21#
22# Variables to be checked by user:
23#
24# COMPILER          : name of compiler as defined in NEMOGCM/ARCH directory
25# BATCH_COMMAND_PAR :  name of the command for submitting parallel batch jobs
26# BATCH_COMMAND_SEQ :  name of the command for submitting sequential batch jobs 
27# INTERACT_FLAG     : flag to run in interactive mode "yes"
28#                           to run in batch mode "no"
29# MPIRUN_FLAG       : flag to run in parallel (MPI) "yes"
30#                           to run in sequential mode (NB_PROC = 1) "no"
31# USING_XIOS        : flag to control the activation of key_iomput
32#                      "yes" to compile using key_iomput and link to the external XIOS library
33#                      "no"  to compile without key_iomput and link to the old IOIPSL library
34# USING_MPMD        : flag to control the use of stand-alone IO servers
35#                     requires USING_XIOS="yes"
36#                      "yes" to run in MPMD (detached) mode with stand-alone IO servers
37#                      "no"  to run in SPMD (attached) mode without separate IO servers
38# 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 opa 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#                      (solver.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#  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# Compiler among those in NEMOGCM/ARCH
90COMPILER=ifort_athena
91export BATCH_COMMAND_PAR="bsub <"
92export BATCH_COMMAND_SEQ=$BATCH_COMMAND_PAR
93export INTERACT_FLAG="no"
94export MPIRUN_FLAG="yes"
95export USING_XIOS="no"
96#
97export DEL_KEYS="key_iomput"
98if [ ${USING_XIOS} == "yes" ] 
99 then
100   export DEL_KEYS=""
101fi
102#
103# Settings which control the use of stand alone servers (only relevant if using xios)
104#
105export USING_MPMD="no"
106export NUM_XIOSERVERS=4
107export JOB_PREFIX=batch-mpmd
108#
109if [ ${USING_MPMD} == "no" ] 
110 then
111   export NUM_XIOSERVERS=0
112   export JOB_PREFIX=batch
113fi
114#
115#
116if [ ${USING_MPMD} == "yes" ] && [ ${USING_XIOS} == "no"]
117 then
118   echo "Incompatible choices. MPMD mode requires the XIOS server"
119   exit
120fi
121#
122
123# Directory to run the tests
124SETTE_DIR=$(cd $(dirname "$0"); pwd)
125MAIN_DIR=${SETTE_DIR%/SETTE}
126CONFIG_DIR=${MAIN_DIR}/CONFIG
127TOOLS_DIR=${MAIN_DIR}/TOOLS
128COMPIL_DIR=${TOOLS_DIR}/COMPILE
129
130CMP_NAM=${1:-$COMPILER}
131# Copy job_batch_COMPILER file for specific compiler into job_batch_template
132cd ${SETTE_DIR}
133cp BATCH_TEMPLATE/${JOB_PREFIX}-${COMPILER} job_batch_template || exit
134# Description of configuration tested:
135# GYRE            : 1 &  2
136# ORCA2_LIM_PISCES: 3 &  4
137# ORCA2_OFF_PISCES: 5 &  6
138# ORCA2_LIM3      : 7 &  8
139# AMM12           : 9 & 10
140# SAS             :11 & 12
141# ISOMIP          :13 & 14
142# ORCA2_LIM_OBS:   15
143# ORCA2_AGRIF_LIM :16
144for config in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
145do
146
147# TESTS FOR GYRE CONFIGURATION
148if [ ${config} -eq 1 ] ;  then
149    ## Restartability tests for GYRE
150    export TEST_NAME="LONG"
151    cd ${CONFIG_DIR}
152    . ./makenemo -m ${CMP_NAM} -n GYRE_LONG -r GYRE -j 8 del_key ${DEL_KEYS}
153    cd ${SETTE_DIR}
154    . ./param.cfg
155    . ./all_functions.sh
156    . ./prepare_exe_dir.sh
157    JOB_FILE=${EXE_DIR}/run_job.sh
158    NPROC=4
159    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
160    cd ${EXE_DIR} 
161    set_namelist namelist_cfg cn_exp \"GYRE_LONG\"
162    set_namelist namelist_cfg nn_it000 1
163    set_namelist namelist_cfg nn_itend 120
164    set_namelist namelist_cfg nn_stock 60
165    set_namelist namelist_cfg ln_clobber .true.
166    set_namelist namelist_cfg nn_fwb 0
167    set_namelist namelist_cfg nn_solv 2
168    set_namelist namelist_cfg jpni 2
169    set_namelist namelist_cfg jpnj 2
170    set_namelist namelist_cfg jpnij 4
171    if [ ${USING_MPMD} == "yes" ] ; then
172       set_xio_using_server iodef.xml true
173    else
174       set_xio_using_server iodef.xml false
175    fi
176    cd ${SETTE_DIR}
177    . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
178
179    cd ${SETTE_DIR}
180    export TEST_NAME="SHORT"
181    . ./prepare_exe_dir.sh
182    cd ${EXE_DIR}
183    set_namelist namelist_cfg cn_exp \"GYRE_SHORT\"
184    set_namelist namelist_cfg nn_it000 61
185    set_namelist namelist_cfg nn_itend 120
186    set_namelist namelist_cfg nn_stock 60
187    set_namelist namelist_cfg ln_rstart .true.
188    set_namelist namelist_cfg nn_rstctl 2
189    set_namelist namelist_cfg ln_clobber .true.
190    set_namelist namelist_cfg nn_fwb 0
191    set_namelist namelist_cfg nn_solv 2
192    set_namelist namelist_cfg jpni 2
193    set_namelist namelist_cfg jpnj 2
194    set_namelist namelist_cfg jpnij 4
195    set_namelist namelist_cfg cn_ocerst_in \"GYRE_LONG_00000060_restart\"
196    if [ ${USING_MPMD} == "yes" ] ; then
197       set_xio_using_server iodef.xml true
198    else
199       set_xio_using_server iodef.xml false
200    fi
201    for (( i=1; i<=$NPROC; i++)) ; do
202        L_NPROC=$(( $i - 1 ))
203        L_NPROC=`printf "%04d\n" ${L_NPROC}`
204        ln -sf ../LONG/GYRE_LONG_00000060_restart_${L_NPROC}.nc .
205    done
206    if [ ${USING_MPMD} == "yes" ] ; then
207       set_xio_using_server iodef.xml true
208    else
209       set_xio_using_server iodef.xml false
210    fi
211    cd ${SETTE_DIR}
212    . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
213    cd ${SETTE_DIR}
214    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
215fi
216
217if [ ${config} -eq 2 ] ;  then
218    ## Reproducibility tests for GYRE
219    export TEST_NAME="REPRO_1_4"
220    cd ${CONFIG_DIR}
221    . ./makenemo -m ${CMP_NAM} -n GYRE_4 -r GYRE -j 8 add_key "key_mpp_rep" del_key ${DEL_KEYS}
222    cd ${SETTE_DIR}
223    . ./param.cfg
224    . ./all_functions.sh
225    . ./prepare_exe_dir.sh
226    JOB_FILE=${EXE_DIR}/run_job.sh
227    NPROC=4
228    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
229    cd ${EXE_DIR}
230    set_namelist namelist_cfg cn_exp \"GYRE_14\"
231    set_namelist namelist_cfg nn_it000 1
232    set_namelist namelist_cfg nn_itend 60
233    set_namelist namelist_cfg nn_fwb 0
234    set_namelist namelist_cfg nn_bench 0
235    set_namelist namelist_cfg ln_ctl .false.
236    set_namelist namelist_cfg ln_clobber .true.
237    set_namelist namelist_cfg nn_solv 2
238    set_namelist namelist_cfg jpni 1
239    set_namelist namelist_cfg jpnj 4
240    set_namelist namelist_cfg jpnij 4
241    if [ ${USING_MPMD} == "yes" ] ; then
242       set_xio_using_server iodef.xml true
243    else
244       set_xio_using_server iodef.xml false
245    fi
246    cd ${SETTE_DIR}
247    . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
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_2_2"
253    . ./prepare_exe_dir.sh
254    JOB_FILE=${EXE_DIR}/run_job.sh
255    NPROC=4
256    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
257    cd ${EXE_DIR}
258    set_namelist namelist_cfg cn_exp \"GYRE_22\"
259    set_namelist namelist_cfg nn_it000 1
260    set_namelist namelist_cfg nn_itend 60
261    set_namelist namelist_cfg nn_fwb 0
262    set_namelist namelist_cfg ln_ctl .false.
263    set_namelist namelist_cfg ln_clobber .true.
264    set_namelist namelist_cfg nn_solv 2
265    set_namelist namelist_cfg jpni 2
266    set_namelist namelist_cfg jpnj 2
267    set_namelist namelist_cfg jpnij 4
268    if [ ${USING_MPMD} == "yes" ] ; then
269       set_xio_using_server iodef.xml true
270    else
271       set_xio_using_server iodef.xml false
272    fi
273    cd ${SETTE_DIR}
274    . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
275    cd ${SETTE_DIR}
276    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
277
278fi
279
280# TESTS FOR ORCA2_LIM_PISCES CONFIGURATION
281if [ ${config} -eq 3 ] ;  then
282    ## Restartability tests for ORCA2_LIM_PISCES
283    export TEST_NAME="LONG"
284    cd ${CONFIG_DIR}
285    . ./makenemo -m ${CMP_NAM} -n ORCA2LIMPIS_LONG -r ORCA2_LIM_PISCES -j 8 del_key ${DEL_KEYS}
286    cd ${SETTE_DIR}
287    . ./param.cfg
288    . ./all_functions.sh
289    . ./prepare_exe_dir.sh
290    JOB_FILE=${EXE_DIR}/run_job.sh
291    NPROC=4
292    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
293    cd ${EXE_DIR}
294    set_namelist namelist_cfg cn_exp \"O2LP_LONG\"
295    set_namelist namelist_cfg nn_it000 1
296    set_namelist namelist_cfg nn_itend 150
297    set_namelist namelist_cfg nn_stock 75
298    set_namelist namelist_cfg ln_clobber .true.
299    set_namelist namelist_cfg nn_fwb 0
300    set_namelist namelist_cfg jpni 2
301    set_namelist namelist_cfg jpnj 2
302    set_namelist namelist_cfg jpnij 4
303    set_namelist namelist_cfg nn_solv 2
304    set_namelist namelist_top_cfg ln_trcdta .false.
305    set_namelist namelist_top_cfg ln_diatrc .false.
306    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
307    # if not you need input files, and for tests is not necessary
308    set_namelist namelist_pisces_cfg ln_presatm .false.
309    set_namelist namelist_pisces_cfg ln_varpar .false.
310    set_namelist namelist_pisces_cfg ln_dust .false.
311    set_namelist namelist_pisces_cfg ln_solub .false.
312    set_namelist namelist_pisces_cfg ln_river .false.
313    set_namelist namelist_pisces_cfg ln_ndepo .false.
314    set_namelist namelist_pisces_cfg ln_ironsed .false.
315    set_namelist namelist_pisces_cfg ln_hydrofe .false.
316    if [ ${USING_MPMD} == "yes" ] ; then
317       set_xio_using_server iodef.xml true
318    else
319       set_xio_using_server iodef.xml false
320    fi
321    cd ${SETTE_DIR}
322    . ./prepare_job.sh input_ORCA2_LIM_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
323   
324    cd ${SETTE_DIR}
325    export TEST_NAME="SHORT"
326    . ./prepare_exe_dir.sh
327    cd ${EXE_DIR}
328    set_namelist namelist_cfg cn_exp \"O2LP_SHORT\"
329    set_namelist namelist_cfg nn_it000 76
330    set_namelist namelist_cfg nn_itend 150
331    set_namelist namelist_cfg nn_stock 75
332    set_namelist namelist_cfg ln_rstart .true.
333    set_namelist namelist_cfg nn_rstctl 2
334    set_namelist namelist_cfg ln_clobber .true.
335    set_namelist namelist_cfg nn_fwb 0
336    set_namelist namelist_cfg jpni 2
337    set_namelist namelist_cfg jpnj 2
338    set_namelist namelist_cfg jpnij 4
339    set_namelist namelist_cfg nn_solv 2
340    set_namelist namelist_top_cfg ln_diatrc .false.
341    set_namelist namelist_top_cfg ln_rsttr .true.
342    set_namelist namelist_top_cfg nn_rsttr 2
343    set_namelist namelist_cfg cn_ocerst_in \"O2LP_LONG_00000075_restart\"
344    set_namelist namelist_ice_cfg cn_icerst_in \"O2LP_LONG_00000075_restart_ice\"
345    set_namelist namelist_top_cfg cn_trcrst_in \"O2LP_LONG_00000075_restart_trc\"
346    # put ln_ironsed, ln_river, ln_ndepo, ln_dust
347    # if not you need input files, and for tests is not necessary
348    set_namelist namelist_pisces_cfg ln_presatm .false.
349    set_namelist namelist_pisces_cfg ln_varpar .false.
350    set_namelist namelist_pisces_cfg ln_dust .false.
351    set_namelist namelist_pisces_cfg ln_solub .false.
352    set_namelist namelist_pisces_cfg ln_river .false.
353    set_namelist namelist_pisces_cfg ln_ndepo .false.
354    set_namelist namelist_pisces_cfg ln_ironsed .false.
355    set_namelist namelist_pisces_cfg ln_hydrofe .false.
356    # put ln_pisdmp to false : no restoring to global mean value
357    set_namelist namelist_pisces_cfg ln_pisdmp .false.
358    for (( i=1; i<=$NPROC; i++)) ; do
359        L_NPROC=$(( $i - 1 ))
360        L_NPROC=`printf "%04d\n" ${L_NPROC}`
361        ln -sf ../LONG/O2LP_LONG_00000075_restart_${L_NPROC}.nc .
362        ln -sf ../LONG/O2LP_LONG_00000075_restart_trc_${L_NPROC}.nc .
363        ln -sf ../LONG/O2LP_LONG_00000075_restart_ice_${L_NPROC}.nc .
364    done
365    if [ ${USING_MPMD} == "yes" ] ; then
366       set_xio_using_server iodef.xml true
367    else
368       set_xio_using_server iodef.xml false
369    fi
370    cd ${SETTE_DIR}
371    . ./prepare_job.sh input_ORCA2_LIM_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
372    cd ${SETTE_DIR}
373    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
374fi
375
376if [ ${config} -eq 4 ] ;  then
377    ## Reproducibility tests for ORCA2_LIM_PISCES
378    export TEST_NAME="REPRO_4_4"
379    cd ${CONFIG_DIR}
380    . ./makenemo -m ${CMP_NAM} -n ORCA2LIMPIS_16 -r ORCA2_LIM_PISCES -j 8 add_key "key_mpp_rep" del_key ${DEL_KEYS}
381    cd ${SETTE_DIR}
382    . ./param.cfg
383    . ./all_functions.sh
384    . ./prepare_exe_dir.sh
385    JOB_FILE=${EXE_DIR}/run_job.sh
386    NPROC=16
387    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
388    cd ${EXE_DIR}
389    set_namelist namelist_cfg nn_it000 1
390    set_namelist namelist_cfg nn_itend 75
391    set_namelist namelist_cfg nn_fwb 0
392    set_namelist namelist_cfg ln_ctl .false.
393    set_namelist namelist_cfg ln_clobber .true.
394    set_namelist namelist_cfg jpni 4
395    set_namelist namelist_cfg jpnj 4
396    set_namelist namelist_cfg jpnij 16
397    set_namelist namelist_cfg nn_solv 2
398    set_namelist namelist_top_cfg ln_trcdta .false.
399    set_namelist namelist_top_cfg ln_diatrc .false.
400    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
401    # if not you need input files, and for tests is not necessary
402    set_namelist namelist_pisces_cfg ln_presatm .false.
403    set_namelist namelist_pisces_cfg ln_varpar .false.
404    set_namelist namelist_pisces_cfg ln_dust .false.
405    set_namelist namelist_pisces_cfg ln_solub .false.
406    set_namelist namelist_pisces_cfg ln_river .false.
407    set_namelist namelist_pisces_cfg ln_ndepo .false.
408    set_namelist namelist_pisces_cfg ln_ironsed .false.
409    set_namelist namelist_pisces_cfg ln_hydrofe .false.
410    # put ln_pisdmp to false : no restoring to global mean value
411    set_namelist namelist_pisces_cfg ln_pisdmp .false.
412    if [ ${USING_MPMD} == "yes" ] ; then
413       set_xio_using_server iodef.xml true
414    else
415       set_xio_using_server iodef.xml false
416    fi
417    cd ${SETTE_DIR}
418    . ./prepare_job.sh input_ORCA2_LIM_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
419    cd ${SETTE_DIR}
420    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
421
422    cd ${SETTE_DIR}
423    export TEST_NAME="REPRO_2_8"
424    . ./prepare_exe_dir.sh
425    JOB_FILE=${EXE_DIR}/run_job.sh
426    NPROC=16
427    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
428    cd ${EXE_DIR}
429    set_namelist namelist_cfg nn_it000 1
430    set_namelist namelist_cfg nn_itend 75
431    set_namelist namelist_cfg ln_clobber .true.
432    set_namelist namelist_cfg nn_fwb 0
433    set_namelist namelist_cfg jpni 2
434    set_namelist namelist_cfg jpnj 8
435    set_namelist namelist_cfg jpnij 16
436    set_namelist namelist_cfg nn_solv 2
437    set_namelist namelist_top_cfg ln_trcdta .false.
438    set_namelist namelist_top_cfg ln_diatrc .false.
439    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
440    # if not you need input files, and for tests is not necessary
441    set_namelist namelist_pisces_cfg ln_presatm .false.
442    set_namelist namelist_pisces_cfg ln_varpar .false.
443    set_namelist namelist_pisces_cfg ln_dust .false.
444    set_namelist namelist_pisces_cfg ln_solub .false.
445    set_namelist namelist_pisces_cfg ln_river .false.
446    set_namelist namelist_pisces_cfg ln_ndepo .false.
447    set_namelist namelist_pisces_cfg ln_ironsed .false.
448    set_namelist namelist_pisces_cfg ln_hydrofe .false.
449    # put ln_pisdmp to false : no restoring to global mean value
450    set_namelist namelist_pisces_cfg ln_pisdmp .false.
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_LIM_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
458    cd ${SETTE_DIR}
459    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
460fi
461
462# TESTS FOR ORCA2_OFF_PISCES CONFIGURATION
463if [ ${config} -eq 5 ] ;  then
464    ## Restartability tests for ORCA2_OFF_PISCES
465    export TEST_NAME="LONG"
466    cd ${CONFIG_DIR}
467    . ./makenemo -m ${CMP_NAM} -n ORCA2OFFPIS_LONG -r ORCA2_OFF_PISCES -j 8 add_key "key_mpp_rep" del_key ${DEL_KEYS}
468    cd ${SETTE_DIR}
469    . ./param.cfg
470    . ./all_functions.sh
471    . ./prepare_exe_dir.sh
472    JOB_FILE=${EXE_DIR}/run_job.sh
473    NPROC=4
474    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
475    cd ${EXE_DIR}
476    set_namelist namelist_cfg cn_exp \"OFFP_LONG\"
477    set_namelist namelist_cfg nn_it000 1
478    set_namelist namelist_cfg nn_itend 40
479    set_namelist namelist_cfg nn_stock 20
480    set_namelist namelist_cfg ln_clobber .true.
481    set_namelist namelist_cfg jpni 2
482    set_namelist namelist_cfg jpnj 2
483    set_namelist namelist_cfg jpnij 4
484    set_namelist namelist_top_cfg ln_trcdta .false.
485    set_namelist namelist_top_cfg ln_diatrc .false.
486    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
487    # if not you need input files, and for tests is not necessary
488    set_namelist namelist_pisces_cfg ln_presatm .false.
489    set_namelist namelist_pisces_cfg ln_varpar .false.
490    set_namelist namelist_pisces_cfg ln_dust .false.
491    set_namelist namelist_pisces_cfg ln_solub .false.
492    set_namelist namelist_pisces_cfg ln_river .false.
493    set_namelist namelist_pisces_cfg ln_ndepo .false.
494    set_namelist namelist_pisces_cfg ln_ironsed .false.
495    set_namelist namelist_pisces_cfg ln_hydrofe .false.
496    # put ln_pisdmp to false : no restoring to global mean value
497    set_namelist namelist_pisces_cfg ln_pisdmp .false.
498    if [ ${USING_MPMD} == "yes" ] ; then
499       set_xio_using_server iodef.xml true
500    else
501       set_xio_using_server iodef.xml false
502    fi
503    cd ${SETTE_DIR}
504    . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
505   
506    cd ${SETTE_DIR}
507    export TEST_NAME="SHORT"
508    . ./prepare_exe_dir.sh
509    cd ${EXE_DIR}
510    set_namelist namelist_cfg cn_exp \"OFFP_SHORT\"
511    set_namelist namelist_cfg nn_it000 21
512    set_namelist namelist_cfg nn_itend 40
513    set_namelist namelist_cfg nn_stock 20
514    set_namelist namelist_cfg ln_clobber .true.
515    set_namelist namelist_cfg jpni 2
516    set_namelist namelist_cfg jpnj 2
517    set_namelist namelist_cfg jpnij 4
518    set_namelist namelist_top_cfg ln_diatrc .false.
519    set_namelist namelist_top_cfg ln_rsttr .true.
520    set_namelist namelist_top_cfg nn_rsttr 2
521    set_namelist namelist_top_cfg cn_trcrst_in \"OFFP_LONG_00000020_restart_trc\"
522    for (( i=1; i<=$NPROC; i++)) ; do
523        L_NPROC=$(( $i - 1 ))
524        L_NPROC=`printf "%04d\n" ${L_NPROC}`
525        ln -sf ../LONG/OFFP_LONG_00000020_restart_trc_${L_NPROC}.nc .
526    done
527    # put ln_ironsed, ln_river, ln_ndepo, ln_dust
528    # if not you need input files, and for tests is not necessary
529    set_namelist namelist_pisces_cfg ln_presatm .false.
530    set_namelist namelist_pisces_cfg ln_varpar .false.
531    set_namelist namelist_pisces_cfg ln_dust .false.
532    set_namelist namelist_pisces_cfg ln_solub .false.
533    set_namelist namelist_pisces_cfg ln_river .false.
534    set_namelist namelist_pisces_cfg ln_ndepo .false.
535    set_namelist namelist_pisces_cfg ln_ironsed .false.
536    set_namelist namelist_pisces_cfg ln_hydrofe .false.
537    # put ln_pisdmp to false : no restoring to global mean value
538    set_namelist namelist_pisces_cfg ln_pisdmp .false.
539    if [ ${USING_MPMD} == "yes" ] ; then
540       set_xio_using_server iodef.xml true
541    else
542       set_xio_using_server iodef.xml false
543    fi
544    cd ${SETTE_DIR}
545    . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME}  ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
546    cd ${SETTE_DIR}
547    . ./fcm_job.sh $NPROC  ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
548fi
549
550if [ ${config} -eq 6 ] ;  then
551    ## Reproducibility tests for ORCA2_OFF_PISCES
552    export TEST_NAME="REPRO_4_4"
553    cd ${CONFIG_DIR}
554    . ./makenemo -m ${CMP_NAM} -n ORCA2OFFPIS_16 -r ORCA2_OFF_PISCES -j 8 add_key "key_mpp_rep" del_key ${DEL_KEYS}
555    cd ${SETTE_DIR}
556    . ./param.cfg
557    . ./all_functions.sh
558    . ./prepare_exe_dir.sh
559    JOB_FILE=${EXE_DIR}/run_job.sh
560    NPROC=16
561    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
562    cd ${EXE_DIR}
563    set_namelist namelist_cfg nn_it000 1
564    set_namelist namelist_cfg nn_itend 40
565    set_namelist namelist_cfg ln_ctl .false.
566    set_namelist namelist_cfg ln_clobber .true.
567    set_namelist namelist_cfg jpni 4
568    set_namelist namelist_cfg jpnj 4
569    set_namelist namelist_cfg jpnij 16
570    set_namelist namelist_top_cfg ln_trcdta .false.
571    set_namelist namelist_top_cfg ln_diatrc .false.
572    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
573    # if not you need input files, and for tests is not necessary
574    set_namelist namelist_pisces_cfg ln_presatm .false.
575    set_namelist namelist_pisces_cfg ln_varpar .false.
576    set_namelist namelist_pisces_cfg ln_dust .false.
577    set_namelist namelist_pisces_cfg ln_solub .false.
578    set_namelist namelist_pisces_cfg ln_river .false.
579    set_namelist namelist_pisces_cfg ln_ndepo .false.
580    set_namelist namelist_pisces_cfg ln_ironsed .false.
581    set_namelist namelist_pisces_cfg ln_hydrofe .false.
582    # put ln_pisdmp to false : no restoring to global mean value
583    set_namelist namelist_pisces_cfg ln_pisdmp .false.
584    if [ ${USING_MPMD} == "yes" ] ; then
585       set_xio_using_server iodef.xml true
586    else
587       set_xio_using_server iodef.xml false
588    fi
589    cd ${SETTE_DIR}
590    . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
591    cd ${SETTE_DIR}
592    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
593
594    cd ${SETTE_DIR}
595    export TEST_NAME="REPRO_2_8"
596    . ./prepare_exe_dir.sh
597    JOB_FILE=${EXE_DIR}/run_job.sh
598    NPROC=16
599    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
600    cd ${EXE_DIR}
601    set_namelist namelist_cfg nn_it000 1
602    set_namelist namelist_cfg nn_itend 40
603    set_namelist namelist_cfg ln_ctl .false.
604    set_namelist namelist_cfg ln_clobber .true.
605    set_namelist namelist_cfg jpni 2
606    set_namelist namelist_cfg jpnj 8
607    set_namelist namelist_cfg jpnij 16
608    set_namelist namelist_top_cfg ln_trcdta .false.
609    set_namelist namelist_top_cfg ln_diatrc .false.
610    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
611    # if not you need input files, and for tests is not necessary
612    set_namelist namelist_pisces_cfg ln_presatm .false.
613    set_namelist namelist_pisces_cfg ln_varpar .false.
614    set_namelist namelist_pisces_cfg ln_dust .false.
615    set_namelist namelist_pisces_cfg ln_solub .false.
616    set_namelist namelist_pisces_cfg ln_river .false.
617    set_namelist namelist_pisces_cfg ln_ndepo .false.
618    set_namelist namelist_pisces_cfg ln_ironsed .false.
619    set_namelist namelist_pisces_cfg ln_hydrofe .false.
620    # put ln_pisdmp to false : no restoring to global mean value
621    set_namelist namelist_pisces_cfg ln_pisdmp .false.
622    if [ ${USING_MPMD} == "yes" ] ; then
623       set_xio_using_server iodef.xml true
624    else
625       set_xio_using_server iodef.xml false
626    fi
627    cd ${SETTE_DIR}
628    . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
629    cd ${SETTE_DIR}
630    . ./fcm_job.sh $NPROC  ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
631fi
632
633
634# TESTS FOR ORCA2_LIM3 CONFIGURATION
635if [ ${config} -eq 7 ] ;  then
636    ## Restartability tests for ORCA2_LIM3
637    export TEST_NAME="LONG"
638    cd ${CONFIG_DIR}
639    . ./makenemo -m ${CMP_NAM} -n ORCA2LIM3_LONG -r ORCA2_LIM3 -j 8 del_key ${DEL_KEYS}
640    cd ${SETTE_DIR}
641    . ./param.cfg
642    . ./all_functions.sh
643    . ./prepare_exe_dir.sh
644    JOB_FILE=${EXE_DIR}/run_job.sh
645    NPROC=4
646    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
647    cd ${EXE_DIR}
648    set_namelist namelist_cfg cn_exp \"O2L3_LONG\"
649    set_namelist namelist_cfg nn_it000 1
650    set_namelist namelist_cfg nn_itend 150
651    set_namelist namelist_cfg nn_stock 75
652    set_namelist namelist_cfg ln_clobber .true.
653    set_namelist namelist_cfg nn_fwb 0
654    set_namelist namelist_cfg jpni 2
655    set_namelist namelist_cfg jpnj 2
656    set_namelist namelist_cfg jpnij 4
657    set_namelist namelist_cfg nn_solv 2
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_LIM3.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
665   
666    cd ${SETTE_DIR}
667    export TEST_NAME="SHORT"
668    . ./prepare_exe_dir.sh
669    cd ${EXE_DIR}
670    set_namelist namelist_cfg cn_exp \"O2L3_SHORT\"
671    set_namelist namelist_cfg nn_it000 76
672    set_namelist namelist_cfg nn_itend 150
673    set_namelist namelist_cfg nn_stock 75
674    set_namelist namelist_cfg ln_rstart .true.
675    set_namelist namelist_cfg nn_rstctl 2
676    set_namelist namelist_cfg ln_clobber .true.
677    set_namelist namelist_cfg nn_fwb 0
678    set_namelist namelist_cfg jpni 2
679    set_namelist namelist_cfg jpnj 2
680    set_namelist namelist_cfg jpnij 4
681    set_namelist namelist_cfg nn_solv 2
682    set_namelist namelist_cfg cn_ocerst_in \"O2L3_LONG_00000075_restart\"
683    set_namelist namelist_ice_cfg cn_icerst_in \"O2L3_LONG_00000075_restart_ice\"
684    for (( i=1; i<=$NPROC; i++)) ; do
685        L_NPROC=$(( $i - 1 ))
686        L_NPROC=`printf "%04d\n" ${L_NPROC}`
687        ln -sf ../LONG/O2L3_LONG_00000075_restart_${L_NPROC}.nc .
688        ln -sf ../LONG/O2L3_LONG_00000075_restart_ice_${L_NPROC}.nc .
689    done
690    if [ ${USING_MPMD} == "yes" ] ; then
691       set_xio_using_server iodef.xml true
692    else
693       set_xio_using_server iodef.xml false
694    fi
695    cd ${SETTE_DIR}
696    . ./prepare_job.sh input_ORCA2_LIM3.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
697    cd ${SETTE_DIR}
698    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
699fi
700
701if [ ${config} -eq 8 ] ;  then
702    ## Reproducibility tests for ORCA2_LIM3
703    export TEST_NAME="REPRO_4_4"
704    cd ${CONFIG_DIR}
705    . ./makenemo -m ${CMP_NAM} -n ORCA2LIM3_16 -r ORCA2_LIM3 -j 8 add_key "key_mpp_rep" del_key ${DEL_KEYS}
706    cd ${SETTE_DIR}
707    . ./param.cfg
708    . ./all_functions.sh
709    . ./prepare_exe_dir.sh
710    JOB_FILE=${EXE_DIR}/run_job.sh
711    NPROC=16
712    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
713    cd ${EXE_DIR}
714    set_namelist namelist_cfg nn_it000 1
715    set_namelist namelist_cfg nn_itend 75
716    set_namelist namelist_cfg nn_fwb 0
717    set_namelist namelist_cfg ln_ctl .false.
718    set_namelist namelist_cfg ln_clobber .true.
719    set_namelist namelist_cfg jpni 4
720    set_namelist namelist_cfg jpnj 4
721    set_namelist namelist_cfg jpnij 16
722    set_namelist namelist_cfg nn_solv 2
723    if [ ${USING_MPMD} == "yes" ] ; then
724       set_xio_using_server iodef.xml true
725    else
726       set_xio_using_server iodef.xml false
727    fi
728    cd ${SETTE_DIR}
729    . ./prepare_job.sh input_ORCA2_LIM3.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
730    cd ${SETTE_DIR}
731    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
732
733    cd ${SETTE_DIR}
734    export TEST_NAME="REPRO_2_8"
735    . ./prepare_exe_dir.sh
736    JOB_FILE=${EXE_DIR}/run_job.sh
737    NPROC=16
738    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
739    cd ${EXE_DIR}
740    set_namelist namelist_cfg nn_it000 1
741    set_namelist namelist_cfg nn_itend 75
742    set_namelist namelist_cfg ln_clobber .true.
743    set_namelist namelist_cfg nn_fwb 0
744    set_namelist namelist_cfg jpni 2
745    set_namelist namelist_cfg jpnj 8
746    set_namelist namelist_cfg jpnij 16
747    set_namelist namelist_cfg nn_solv 2
748    if [ ${USING_MPMD} == "yes" ] ; then
749       set_xio_using_server iodef.xml true
750    else
751       set_xio_using_server iodef.xml false
752    fi
753
754    cd ${SETTE_DIR}
755    . ./prepare_job.sh input_ORCA2_LIM3.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
756    cd ${SETTE_DIR}
757    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
758fi
759
760
761# TESTS FOR AMM12 CONFIGURATION
762if [ ${config} -eq 9 ] ;  then
763    ## Restartability tests for AMM12
764    export TEST_NAME="LONG"
765    cd ${CONFIG_DIR}
766    . ./makenemo -m ${CMP_NAM} -n AMM12_LONG -r AMM12 -j 8 add_key "key_tide" del_key ${DEL_KEYS}
767    cd ${SETTE_DIR}
768    . ./param.cfg
769    . ./all_functions.sh
770    . ./prepare_exe_dir.sh
771    JOB_FILE=${EXE_DIR}/run_job.sh
772    NPROC=32
773    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
774    cd ${EXE_DIR}
775    set_namelist namelist_cfg nn_it000 1
776    set_namelist namelist_cfg nn_itend 576
777    set_namelist namelist_cfg nn_stock 288
778    set_namelist namelist_cfg nn_fwb 0
779    set_namelist namelist_cfg ln_ctl .false.
780    set_namelist namelist_cfg ln_clobber .true.
781    set_namelist namelist_cfg jpni 8
782    set_namelist namelist_cfg jpnj 4
783    set_namelist namelist_cfg jpnij 32
784    if [ ${USING_MPMD} == "yes" ] ; then
785       set_xio_using_server iodef.xml true
786    else
787       set_xio_using_server iodef.xml false
788    fi
789    cd ${SETTE_DIR}
790    . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
791
792    cd ${SETTE_DIR}
793    export TEST_NAME="SHORT"
794    . ./prepare_exe_dir.sh
795    cd ${EXE_DIR}
796    set_namelist namelist_cfg nn_it000 289
797    set_namelist namelist_cfg nn_itend 576
798    set_namelist namelist_cfg nn_fwb 0
799    set_namelist namelist_cfg ln_ctl .false.
800    set_namelist namelist_cfg ln_clobber .true.
801    set_namelist namelist_cfg jpni 8
802    set_namelist namelist_cfg jpnj 4
803    set_namelist namelist_cfg jpnij 32
804    set_namelist namelist_cfg ln_rstart .true.
805    set_namelist namelist_cfg nn_rstctl 2
806    set_namelist namelist_cfg cn_ocerst_in \"AMM12_00000288_restart_oce_out\"
807    set_namelist namelist_cfg nn_date0 20120102
808    for (( i=1; i<=$NPROC; i++)) ; do
809        L_NPROC=$(( $i - 1 ))
810        L_NPROC=`printf "%04d\n" ${L_NPROC}`
811        ln -sf ../LONG/AMM12_00000288_restart_oce_out_${L_NPROC}.nc .
812    done
813    if [ ${USING_MPMD} == "yes" ] ; then
814       set_xio_using_server iodef.xml true
815    else
816       set_xio_using_server iodef.xml false
817    fi
818    cd ${SETTE_DIR}
819    . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
820    cd ${SETTE_DIR}
821    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
822fi
823
824if [ ${config} -eq 10 ] ;  then
825## Reproducibility tests for AMM12
826    export TEST_NAME="REPRO_8_4"
827    cd ${CONFIG_DIR}
828    . ./makenemo -m ${CMP_NAM} -n AMM12_32 -r AMM12 -j 8 add_key "key_mpp_rep key_tide" del_key ${DEL_KEYS}
829    cd ${SETTE_DIR}
830    . ./param.cfg
831    . ./all_functions.sh
832    . ./prepare_exe_dir.sh
833    JOB_FILE=${EXE_DIR}/run_job.sh
834    NPROC=32
835    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
836    cd ${EXE_DIR}
837    set_namelist namelist_cfg nn_it000 1
838    set_namelist namelist_cfg nn_itend 576
839    set_namelist namelist_cfg nn_fwb 0
840    set_namelist namelist_cfg ln_ctl .false.
841    set_namelist namelist_cfg ln_clobber .true.
842    set_namelist namelist_cfg jpni 8
843    set_namelist namelist_cfg jpnj 4
844    set_namelist namelist_cfg jpnij 32
845    if [ ${USING_MPMD} == "yes" ] ; then
846       set_xio_using_server iodef.xml true
847    else
848       set_xio_using_server iodef.xml false
849    fi
850    cd ${SETTE_DIR}
851    . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
852    cd ${SETTE_DIR}
853    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
854
855    cd ${SETTE_DIR}
856    export TEST_NAME="REPRO_4_8"
857    . ./prepare_exe_dir.sh
858    cd ${EXE_DIR}
859    set_namelist namelist_cfg nn_it000 1
860    set_namelist namelist_cfg nn_itend 576
861    set_namelist namelist_cfg nn_fwb 0
862    set_namelist namelist_cfg ln_ctl .false.
863    set_namelist namelist_cfg ln_clobber .true.
864    set_namelist namelist_cfg jpni 4
865    set_namelist namelist_cfg jpnj 8
866    set_namelist namelist_cfg jpnij 32
867    if [ ${USING_MPMD} == "yes" ] ; then
868       set_xio_using_server iodef.xml true
869    else
870       set_xio_using_server iodef.xml false
871    fi
872    cd ${SETTE_DIR}
873    . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
874    cd ${SETTE_DIR}
875    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
876fi
877
878
879# TESTS FOR ORCA2_SAS_LIM CONFIGURATION
880if [ ${config} -eq 11 ] ;  then
881    ## Restartability tests for SAS
882    export TEST_NAME="LONG"
883    cd ${CONFIG_DIR}
884    . ./makenemo -m ${CMP_NAM} -n SAS_LONG -r ORCA2_SAS_LIM -j 8 add_key "key_mpp_rep" del_key ${DEL_KEYS}
885    cd ${SETTE_DIR}
886    . ./param.cfg
887    . ./all_functions.sh
888    . ./prepare_exe_dir.sh
889    JOB_FILE=${EXE_DIR}/run_job.sh
890    NPROC=32
891    \rm $JOB_FILE
892    cd ${EXE_DIR}
893    set_namelist namelist_cfg cn_exp \"SAS\"
894    set_namelist namelist_cfg nn_it000 1
895    set_namelist namelist_cfg nn_itend 100
896    set_namelist namelist_cfg nn_stock 50
897    set_namelist namelist_cfg ln_ctl .false.
898    set_namelist namelist_cfg ln_clobber .true.
899    set_namelist namelist_cfg nn_fwb 0
900    set_namelist namelist_cfg jpni 8
901    set_namelist namelist_cfg jpnj 4
902    set_namelist namelist_cfg jpnij 32
903    if [ ${USING_MPMD} == "yes" ] ; then
904       set_xio_using_server iodef.xml true
905    else
906       set_xio_using_server iodef.xml false
907    fi
908    cd ${SETTE_DIR}
909    . ./prepare_job.sh input_SAS.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
910
911    cd ${SETTE_DIR}
912    export TEST_NAME="SHORT"
913    . ./prepare_exe_dir.sh
914    cd ${EXE_DIR}
915    set_namelist namelist_cfg cn_exp \"SAS\"
916    set_namelist namelist_cfg nn_it000 51
917    set_namelist namelist_cfg nn_itend 100
918    set_namelist namelist_cfg ln_ctl .false.
919    set_namelist namelist_cfg ln_clobber .true.
920    set_namelist namelist_cfg nn_fwb 0
921    set_namelist namelist_cfg jpni 8
922    set_namelist namelist_cfg jpnj 4
923    set_namelist namelist_cfg jpnij 32
924    set_namelist namelist_cfg nn_rstctl 2
925    set_namelist namelist_cfg cn_ocerst_in \"SAS_00000050_restart\"
926    for (( i=1; i<=$NPROC; i++)) ; do
927        L_NPROC=$(( $i - 1 ))
928        L_NPROC=`printf "%04d\n" ${L_NPROC}`
929        ln -sf ../LONG/SAS_00000050_restart_${L_NPROC}.nc .
930    done
931    if [ ${USING_MPMD} == "yes" ] ; then
932       set_xio_using_server iodef.xml true
933    else
934       set_xio_using_server iodef.xml false
935    fi
936    cd ${SETTE_DIR}
937    . ./prepare_job.sh input_SAS.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
938    cd ${SETTE_DIR}
939    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
940fi
941
942if [ ${config} -eq 12 ] ;  then
943## Reproducibility tests for ORCA2_SAS_LIM
944    export TEST_NAME="REPRO_8_4"
945    cd ${CONFIG_DIR}
946    . ./makenemo -m ${CMP_NAM} -n SAS_32 -r ORCA2_SAS_LIM -j 8 add_key "key_mpp_rep" del_key ${DEL_KEYS}
947    cd ${SETTE_DIR}
948    . ./param.cfg
949    . ./all_functions.sh
950    . ./prepare_exe_dir.sh
951    JOB_FILE=${EXE_DIR}/run_job.sh
952    NPROC=32
953    \rm ${JOB_FILE}
954    cd ${EXE_DIR}
955    set_namelist namelist_cfg cn_exp \"SAS\"
956    set_namelist namelist_cfg nn_it000 51
957    set_namelist namelist_cfg nn_itend 100
958    set_namelist namelist_cfg ln_ctl .false.
959    set_namelist namelist_cfg ln_clobber .true.
960    set_namelist namelist_cfg nn_fwb 0
961    set_namelist namelist_cfg jpni 8
962    set_namelist namelist_cfg jpnj 4
963    set_namelist namelist_cfg jpnij 32
964    if [ ${USING_MPMD} == "yes" ] ; then
965       set_xio_using_server iodef.xml true
966    else
967       set_xio_using_server iodef.xml false
968    fi
969    cd ${SETTE_DIR}
970    . ./prepare_job.sh input_SAS.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}  ${NUM_XIOSERVERS}
971    cd ${SETTE_DIR}
972    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
973    cd ${SETTE_DIR}
974    export TEST_NAME="REPRO_4_8"
975    . ./prepare_exe_dir.sh
976    cd ${EXE_DIR}
977    set_namelist namelist_cfg cn_exp \"SAS\"
978    set_namelist namelist_cfg nn_it000 51
979    set_namelist namelist_cfg nn_itend 100
980    set_namelist namelist_cfg ln_ctl .false.
981    set_namelist namelist_cfg ln_clobber .true.
982    set_namelist namelist_cfg nn_fwb 0
983    set_namelist namelist_cfg jpni 4
984    set_namelist namelist_cfg jpnj 8
985    set_namelist namelist_cfg jpnij 32
986    if [ ${USING_MPMD} == "yes" ] ; then
987       set_xio_using_server iodef.xml true
988    else
989       set_xio_using_server iodef.xml false
990    fi
991    cd ${SETTE_DIR}
992    . ./prepare_job.sh input_SAS.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
993    cd ${SETTE_DIR}
994    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
995fi
996# TESTS FOR ISOMIP CONFIGURATION
997if [ ${config} -eq 13 ] ;  then
998    ## Restartability tests for ISOMIP
999    export TEST_NAME="LONG"
1000    cd ${CONFIG_DIR}
1001    . ./makenemo -m ${CMP_NAM} -n ISOMIP_LONG -r ISOMIP -j 8 del_key ${DEL_KEYS}
1002    cd ${SETTE_DIR}
1003    . ./param.cfg
1004    . ./all_functions.sh
1005    . ./prepare_exe_dir.sh
1006    JOB_FILE=${EXE_DIR}/run_job.sh
1007    NPROC=4
1008    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1009    cd ${EXE_DIR}
1010    set_namelist namelist_cfg cn_exp \"ISOMIP_LONG\"
1011    set_namelist namelist_cfg nn_it000 1
1012    set_namelist namelist_cfg nn_itend 96
1013    set_namelist namelist_cfg nn_stock 48
1014    set_namelist namelist_cfg ln_clobber .true.
1015    set_namelist namelist_cfg nn_fwb 0
1016    set_namelist namelist_cfg nn_solv 2
1017    set_namelist namelist_cfg jpni 2
1018    set_namelist namelist_cfg jpnj 2
1019    set_namelist namelist_cfg jpnij 4
1020    if [ ${USING_MPMD} == "yes" ] ; then
1021       set_xio_using_server iodef.xml true
1022    else
1023       set_xio_using_server iodef.xml false
1024    fi
1025    cd ${SETTE_DIR}
1026    . ./prepare_job.sh input_ISOMIP.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
1027
1028    cd ${SETTE_DIR}
1029    export TEST_NAME="SHORT"
1030    . ./prepare_exe_dir.sh
1031    cd ${EXE_DIR}
1032    set_namelist namelist_cfg cn_exp \"ISOMIP_SHORT\"
1033    set_namelist namelist_cfg nn_it000 49
1034    set_namelist namelist_cfg nn_itend 96
1035    set_namelist namelist_cfg nn_stock 48
1036    set_namelist namelist_cfg ln_rstart .true.
1037    set_namelist namelist_cfg nn_rstctl 2
1038    set_namelist namelist_cfg ln_clobber .true.
1039    set_namelist namelist_cfg nn_fwb 0
1040    set_namelist namelist_cfg nn_solv 2
1041    set_namelist namelist_cfg jpni 2
1042    set_namelist namelist_cfg jpnj 2
1043    set_namelist namelist_cfg jpnij 4
1044    set_namelist namelist_cfg cn_ocerst_in \"ISOMIP_LONG_00000048_restart\"
1045    if [ ${USING_MPMD} == "yes" ] ; then
1046       set_xio_using_server iodef.xml true
1047    else
1048       set_xio_using_server iodef.xml false
1049    fi
1050    for (( i=1; i<=$NPROC; i++)) ; do
1051        L_NPROC=$(( $i - 1 ))
1052        L_NPROC=`printf "%04d\n" ${L_NPROC}`
1053        ln -sf ../LONG/ISOMIP_LONG_00000048_restart_${L_NPROC}.nc .
1054    done
1055    if [ ${USING_MPMD} == "yes" ] ; then
1056       set_xio_using_server iodef.xml true
1057    else
1058       set_xio_using_server iodef.xml false
1059    fi
1060    cd ${SETTE_DIR}
1061    . ./prepare_job.sh input_ISOMIP.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
1062    cd ${SETTE_DIR}
1063    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1064fi
1065if [ ${config} -eq 14 ] ;  then
1066    ## Reproducibility tests for ISOMIP
1067    export TEST_NAME="REPRO_1_4"
1068    cd ${CONFIG_DIR}
1069    . ./makenemo -m ${CMP_NAM} -n ISOMIP_4 -r ISOMIP -j 8 add_key "key_mpp_rep" del_key ${DEL_KEYS}
1070    cd ${SETTE_DIR}
1071    . ./param.cfg
1072    . ./all_functions.sh
1073    . ./prepare_exe_dir.sh
1074    JOB_FILE=${EXE_DIR}/run_job.sh
1075    NPROC=4
1076    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1077    cd ${EXE_DIR}
1078    set_namelist namelist_cfg cn_exp \"ISOMIP_14\"
1079    set_namelist namelist_cfg nn_it000 1
1080    set_namelist namelist_cfg nn_itend 48
1081    set_namelist namelist_cfg nn_fwb 0
1082    set_namelist namelist_cfg nn_bench 0
1083    set_namelist namelist_cfg ln_ctl .false.
1084    set_namelist namelist_cfg ln_clobber .true.
1085    set_namelist namelist_cfg nn_solv 2
1086    set_namelist namelist_cfg jpni 1
1087    set_namelist namelist_cfg jpnj 4
1088    set_namelist namelist_cfg jpnij 4
1089    if [ ${USING_MPMD} == "yes" ] ; then
1090       set_xio_using_server iodef.xml true
1091    else
1092       set_xio_using_server iodef.xml false
1093    fi
1094    cd ${SETTE_DIR}
1095    . ./prepare_job.sh input_ISOMIP.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
1096    cd ${SETTE_DIR}
1097    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1098
1099    cd ${SETTE_DIR}
1100    export TEST_NAME="REPRO_2_2"
1101    . ./prepare_exe_dir.sh
1102    JOB_FILE=${EXE_DIR}/run_job.sh
1103    NPROC=4
1104    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1105    cd ${EXE_DIR}
1106    set_namelist namelist_cfg cn_exp \"ISOMIP_22\"
1107    set_namelist namelist_cfg nn_it000 1
1108    set_namelist namelist_cfg nn_itend 48
1109    set_namelist namelist_cfg nn_fwb 0
1110    set_namelist namelist_cfg ln_ctl .false.
1111    set_namelist namelist_cfg ln_clobber .true.
1112    set_namelist namelist_cfg nn_solv 2
1113    set_namelist namelist_cfg jpni 2
1114    set_namelist namelist_cfg jpnj 2
1115    set_namelist namelist_cfg jpnij 4
1116    if [ ${USING_MPMD} == "yes" ] ; then
1117       set_xio_using_server iodef.xml true
1118    else
1119       set_xio_using_server iodef.xml false
1120    fi
1121    cd ${SETTE_DIR}
1122    . ./prepare_job.sh input_ISOMIP.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
1123    cd ${SETTE_DIR}
1124    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1125
1126fi
1127
1128## Test assimilation interface code, OBS and ASM for reproducibility
1129## Restartability not tested (ASM code not restartable while increments are being applied)
1130if [ ${config} -eq 15 ] ; then
1131   ## Reproducibility tests for ORCA2_LIM_OBS
1132    export TEST_NAME="REPRO_4_4"
1133    cd ${CONFIG_DIR}
1134    . ./makenemo -m ${CMP_NAM} -n ORCA2_LIM_OBS -r ORCA2_LIM -j 8 add_key "key_mpp_rep key_diaobs key_asminc" del_key ${DEL_KEYS}
1135    cd ${SETTE_DIR}
1136    . ./param.cfg
1137    . ./all_functions.sh
1138    . ./prepare_exe_dir.sh
1139    JOB_FILE=${EXE_DIR}/run_job.sh
1140    NPROC=16
1141    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1142    cd ${EXE_DIR}
1143    set_namelist namelist_cfg nn_it000 1
1144    set_namelist namelist_cfg nn_itend 75
1145    set_namelist namelist_cfg nn_fwb 0
1146    set_namelist namelist_cfg ln_ctl .false.
1147    set_namelist namelist_cfg ln_clobber .true.
1148    set_namelist namelist_cfg jpni 4
1149    set_namelist namelist_cfg jpnj 4
1150    set_namelist namelist_cfg jpnij 16
1151    set_namelist namelist_cfg nn_solv 2   
1152    set_namelist namelist_cfg ln_t3d .true.
1153    set_namelist namelist_cfg ln_s3d .true.
1154    set_namelist namelist_cfg ln_profb .true.
1155    set_namelist namelist_cfg ln_sst .true.
1156    set_namelist namelist_cfg ln_sstfb .true.
1157    set_namelist namelist_cfg ln_sla .true.
1158    set_namelist namelist_cfg ln_slafb .true.
1159    set_namelist namelist_cfg ln_seaice .false.
1160    set_namelist namelist_cfg ln_bkgwri .true.
1161    set_namelist namelist_cfg ln_trainc .true.
1162    set_namelist namelist_cfg ln_dyninc .true.
1163    set_namelist namelist_cfg ln_sshinc .true.
1164    set_namelist namelist_cfg ln_asmiau .true.
1165    if [ ${USING_MPMD} == "yes" ] ; then
1166       set_xio_using_server iodef.xml true
1167    else
1168       set_xio_using_server iodef.xml false
1169    fi
1170    cd ${SETTE_DIR}
1171    . ./prepare_job.sh input_ORCA2_LIM_OBS.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
1172    cd ${SETTE_DIR}
1173    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1174
1175   cd ${SETTE_DIR}
1176    export TEST_NAME="REPRO_2_8"
1177    . ./prepare_exe_dir.sh
1178    JOB_FILE=${EXE_DIR}/run_job.sh
1179    NPROC=16
1180    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1181    cd ${EXE_DIR}
1182    set_namelist namelist_cfg nn_it000 1
1183    set_namelist namelist_cfg nn_itend 75
1184    set_namelist namelist_cfg nn_fwb 0
1185    set_namelist namelist_cfg ln_ctl .false.
1186    set_namelist namelist_cfg ln_clobber .true.
1187    set_namelist namelist_cfg jpni 2
1188    set_namelist namelist_cfg jpnj 8
1189    set_namelist namelist_cfg jpnij 16
1190    set_namelist namelist_cfg nn_solv 2
1191    set_namelist namelist_cfg ln_t3d .true.
1192    set_namelist namelist_cfg ln_s3d .true.
1193    set_namelist namelist_cfg ln_profb .true.
1194    set_namelist namelist_cfg ln_sst .true.
1195    set_namelist namelist_cfg ln_sstfb .true.
1196    set_namelist namelist_cfg ln_sla .true.
1197    set_namelist namelist_cfg ln_slafb .true.
1198    set_namelist namelist_cfg ln_seaice .false.
1199    set_namelist namelist_cfg ln_bkgwri .true.
1200    set_namelist namelist_cfg ln_trainc .true.
1201    set_namelist namelist_cfg ln_dyninc .true.
1202    set_namelist namelist_cfg ln_sshinc .true.
1203    set_namelist namelist_cfg ln_asmiau .true.
1204    if [ ${USING_MPMD} == "yes" ] ; then
1205       set_xio_using_server iodef.xml true
1206    else
1207       set_xio_using_server iodef.xml false
1208    fi
1209    cd ${SETTE_DIR}
1210    . ./prepare_job.sh input_ORCA2_LIM_OBS.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
1211    cd ${SETTE_DIR}
1212    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1213fi
1214# TEST FOR ORCA2_LIM_AGRIF : simple test of running AGRIF (no restartability neither reproducibility tests)
1215if [ ${config} -eq 16 ] ;  then
1216    ## ORCA2_LIM with Agulhas AGRIF zoom in MPI
1217    export TEST_NAME="SHORT"
1218    cd ${CONFIG_DIR}
1219    . ./makenemo -m ${CMP_NAM} -n ORCA2AGUL_1_2 -r ORCA2_LIM -j 8 add_key "key_mpp_rep key_agrif" del_key "key_zdftmx" del_key ${DEL_KEYS}
1220    cd ${SETTE_DIR}
1221    . ./param.cfg
1222    . ./all_functions.sh
1223    . ./prepare_exe_dir.sh
1224    JOB_FILE=${EXE_DIR}/run_job.sh
1225    NPROC=2
1226    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1227    cd ${EXE_DIR}
1228    set_namelist namelist_cfg nn_it000 1
1229    set_namelist namelist_cfg nn_itend 75
1230    set_namelist namelist_cfg ln_ctl .false.
1231    set_namelist namelist_cfg ln_clobber .true.
1232    set_namelist namelist_cfg nn_fwb 0
1233    set_namelist namelist_cfg jpni 1
1234    set_namelist namelist_cfg jpnj 2
1235    set_namelist namelist_cfg jpnij 2
1236    set_namelist 1_namelist_cfg nn_it000 1
1237    set_namelist 1_namelist_cfg nn_itend 150
1238    set_namelist 1_namelist_cfg ln_ctl .false.
1239    set_namelist 1_namelist_cfg ln_clobber .true.
1240    if [ ${USING_MPMD} == "yes" ] ; then
1241       set_xio_using_server iodef.xml true
1242    else
1243       set_xio_using_server iodef.xml false
1244    fi
1245    cd ${SETTE_DIR}
1246    . ./prepare_job.sh input_ORCA2_LIM_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
1247    cd ${SETTE_DIR}
1248    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1249fi
1250
1251done
Note: See TracBrowser for help on using the repository browser.