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/2014/dev_r4650_UKMO7_STARTHOUR/NEMOGCM/SETTE – NEMO

source: branches/2014/dev_r4650_UKMO7_STARTHOUR/NEMOGCM/SETTE/sette.sh @ 5872

Last change on this file since 5872 was 5872, checked in by djlea, 8 years ago

Fixes to enable restartability for runs of less than one day.

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