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_test-cases.sh in utils/CI/sette – NEMO

source: utils/CI/sette/sette_test-cases.sh @ 10957

Last change on this file since 10957 was 10575, checked in by acc, 5 years ago

sette_test-cases.sh changes after trunk update to implement finer control over the choice of text report files generated. See ticket: #2167

  • Property svn:executable set to *
File size: 29.3 KB
Line 
1#!/bin/bash
2############################################################
3# Author : Simona Flavoni for NEMO
4# Contact: sflod@locean-ipsl.upmc.fr
5#
6# sette_test-cases.sh   : principal script of SET TEsts for NEMO (SETTE)
7#                       : this script : compiles, run and tests TEST_CASES
8#
9#                       : TO DO: test if nitend is equal to end of run.stat
10# ----------------------------------------------------------------------
11# NEMO/SETTE , NEMO Consortium (2018)
12# Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
13# ----------------------------------------------------------------------
14#
15#
16#############################################################
17#set -vx
18set -o posix
19#set -u
20#set -e
21# ===========
22# DESCRIPTION
23# ===========
24#
25# Variables to be checked by user:
26#
27# COMPILER          : name of compiler as defined in NEMOGCM/ARCH directory
28# BATCH_COMMAND_PAR :  name of the command for submitting parallel batch jobs
29# BATCH_COMMAND_SEQ :  name of the command for submitting sequential batch jobs 
30# INTERACT_FLAG     : flag to run in interactive mode "yes"
31#                           to run in batch mode "no"
32# MPIRUN_FLAG       : flag to run in parallel (MPI) "yes"
33#                           to run in sequential mode (NB_PROC = 1) "no"
34# USING_XIOS        : flag to control the activation of key_iomput
35#                      "yes" to compile using key_iomput and link to the external XIOS library
36#                      "no"  to compile without key_iomput and link to the old IOIPSL library
37# USING_MPMD        : flag to control the use of stand-alone IO servers
38#                     requires USING_XIOS="yes"
39#                      "yes" to run in MPMD (detached) mode with stand-alone IO servers
40#                      "no"  to run in SPMD (attached) mode without separate IO servers
41# NUM_XIOSERVERS    : number of stand-alone IO servers to employ
42#                     set to zero if USING_MPMD="no"
43#
44# Principal script is sette_test-cases.sh, that calls
45#
46#  makenemo  : to create successive exectuables in ${CONFIG_NAME}/BLD/bin/nemo.exe
47#              and links to nemo in ${CONFIG_NAME}/EXP00)
48#
49#  param.cfg : sets and loads following directories:
50#
51#   FORCING_DIR         : is the directory for forcing files (tarfile)
52#   INPUT_DIR           : is the directory for input files storing
53#   TMPDIR              : is the temporary directory (if needed)
54#   NEMO_VALIDATION_DIR : is the validation directory
55#
56#   (NOTE: this file is the same for all configrations to be tested with sette_test-cases.sh)
57#
58#   all_functions.sh : loads functions used by sette (note: new functions can be added here)
59#   set_namelist     : function declared in all_functions that sets namelist parameters
60#   post_test_tidyup : creates validation storage directory and copies required output files
61#                      (run.stat and ocean.output) in it after execution of test.
62#
63#  VALIDATION tree is:
64#
65#   NEMO_VALIDATION_DIR/WCONFIG_NAME/WCOMPILER_NAME/TEST_NAME/REVISION_NUMBER(or DATE)
66#
67#  prepare_exe_dir.sh : defines and creates directory where the test is executed
68#                       execution directory takes name of TEST_NAME defined for every test
69#                       in sette_test-cases.sh. (each test in executed in its own directory)
70#
71#  prepare_job.sh     : to generate the script run_job.sh
72#
73#  fcm_job.sh         : run in batch (INTERACT_FLAG="no") or interactive (INTERACT_FLAG="yes")
74#                        see sette_test-cases.sh and BATCH_TEMPLATE directory
75#
76#  NOTE: jobs requiring initial or forcing data need to have an input_CONFIG.cfg in which
77#        can be found paths to the input tar file)
78#  NOTE: if job is not launched for any reason you have the executable ready in ${EXE_DIR}
79#        directory
80#  NOTE: the changed namelists are left in ${EXE_DIR} directory whereas original namelists
81#        remain in ${NEW_CONF}/EXP00
82#
83#  NOTE: a log file, output.sette, is created in ${SETTE_DIR} with the echoes of
84#        executed commands
85#
86#  NOTE: if sette_test-cases.sh is stopped in output.sette there is written the last command
87#        executed by sette_test-cases.sh
88#
89# example use: ./sette_test-cases.sh
90#########################################################################################
91#
92# Compiler among those in NEMOGCM/ARCH
93COMPILER=X64_ADA
94
95export BATCH_COMMAND_PAR="llsubmit"
96export BATCH_COMMAND_SEQ=$BATCH_COMMAND_PAR
97export INTERACT_FLAG="no"
98export MPIRUN_FLAG="yes"
99export USING_XIOS="yes"
100#
101export DEL_KEYS="key_iomput"
102if [ ${USING_XIOS} == "yes" ] 
103 then
104   export DEL_KEYS=""
105fi
106#
107# Settings which control the use of stand alone servers (only relevant if using xios)
108#
109export USING_MPMD="no"
110export NUM_XIOSERVERS=4
111export JOB_PREFIX=batch-mpmd
112#
113if [ ${USING_MPMD} == "no" ] 
114 then
115   export NUM_XIOSERVERS=0
116   export JOB_PREFIX=batch
117fi
118#
119#
120if [ ${USING_MPMD} == "yes" ] && [ ${USING_XIOS} == "no"]
121 then
122   echo "Incompatible choices. MPMD mode requires the XIOS server"
123   exit
124fi
125
126# Directory to run the tests
127SETTE_DIR=$(cd $(dirname "$0"); pwd)
128MAIN_DIR=$(dirname $SETTE_DIR)
129CONFIG_DIR0=${MAIN_DIR}/cfgs
130TOOLS_DIR=${MAIN_DIR}/tools
131
132CMP_NAM=${1:-$COMPILER}
133# Copy job_batch_COMPILER file for specific compiler into job_batch_template
134cd ${SETTE_DIR}
135cp BATCH_TEMPLATE/${JOB_PREFIX}-${COMPILER} job_batch_template || exit
136# Description of configuration tested:
137# OVERFLOW       : 1  TEST s-coordinates : (tracers) Advection schemes: FCT2, FCT4, ubs
138#                                        & (dynamics) advection schemes: flux form (ubs, centered), vector form (een)
139#                          zps-coordinates : (tracers) Advection schemes: FCT2, FCT4, ubs
140#                                        & (dynamics) advection schemes: flux form (ubs, centered), vector form (een, and een + Hollingsworth correction)
141# LOCK_EXCHANGE  : 2
142# VORTEX         : 3
143# ICE_AGRIF      : 4
144# ISOMIP         : 5
145# WAD
146
147
148for config in 1 2 3 4 5
149do
150
151# ---------
152#  OVERFLOW
153# ---------
154if [ ${config} -eq 1 ] ;  then
155    ## Restartability tests for OVERFLOW
156    export TEST_NAME="LONG"
157    cd ${MAIN_DIR}
158    . ./makenemo -m ${CMP_NAM} -n OVERFLOW_ST -a OVERFLOW -j 8 del_key ${DEL_KEYS}
159    cd ${SETTE_DIR}
160    . ./param.cfg
161    . ./all_functions.sh
162    . ./prepare_exe_dir.sh
163    JOB_FILE=${EXE_DIR}/run_job.sh
164    NPROC=1
165    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
166    cd ${EXE_DIR} 
167    set_namelist namelist_cfg cn_exp \"OVF_LONG\"
168    set_namelist namelist_cfg nn_it000 1
169    set_namelist namelist_cfg nn_itend 120
170    set_namelist namelist_cfg nn_stock 60
171    set_namelist namelist_cfg ln_ctl .false.
172    set_namelist namelist_cfg sn_cfctl%l_config .true.
173    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
174    if [ ${USING_MPMD} == "yes" ] ; then
175       set_xio_using_server iodef.xml true
176    else
177       set_xio_using_server iodef.xml false
178    fi
179    cd ${SETTE_DIR}
180    . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
181
182    cd ${SETTE_DIR}
183    export TEST_NAME="SHORT"
184    . ./prepare_exe_dir.sh
185    cd ${EXE_DIR}
186    set_namelist namelist_cfg cn_exp \"OVF_SHORT\"
187    set_namelist namelist_cfg nn_it000 61
188    set_namelist namelist_cfg nn_itend 120
189    set_namelist namelist_cfg nn_stock 60
190    set_namelist namelist_cfg ln_ctl .false.
191    set_namelist namelist_cfg sn_cfctl%l_config .true.
192    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
193    set_namelist namelist_cfg ln_rstart .true.
194    set_namelist namelist_cfg nn_rstctl 2
195    set_namelist namelist_cfg cn_ocerst_in \"OVF_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    ln -sf ../LONG/OVF_LONG_00000060_restart.nc .
202
203    cd ${SETTE_DIR}
204    . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
205    cd ${SETTE_DIR}
206    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
207
208
209    ## Test for all advection, vert. coordinates, vector form, flux form: test runability and complete all time steps
210    ## Needed namelist-xxxx for every type of run tested
211    cd ${CONFIG_DIR}/${NEW_CONF}/EXP00
212
213    for file in $(echo `ls namelist_*_cfg `) ; do
214        TEST_NAME=`echo $file | sed -e "s/namelist_//" | sed -e "s/_cfg//"`
215        TEST_NAME="EXP-${TEST_NAME}"
216        if [ ! -d ${CONFIG_DIR}/${NEW_CONF}/${TEST_NAME} ] ; then mkdir ${CONFIG_DIR}/${NEW_CONF}/${TEST_NAME} ; fi
217        export TEST_NAME="${TEST_NAME}"
218         ##
219        cd ${SETTE_DIR}
220        . ./param.cfg
221        . ./all_functions.sh
222        . ./prepare_exe_dir.sh
223        JOB_FILE=${EXE_DIR}/run_job.sh
224        NPROC=1
225        if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
226        cd ${EXE_DIR}
227        rm namelist_*_*_*_*
228        cp -pL ${CONFIG_DIR}/${NEW_CONF}/EXP00/$file namelist_cfg
229        if [ ${USING_MPMD} == "yes" ] ; then
230           set_xio_using_server iodef.xml true
231        else
232           set_xio_using_server iodef.xml false
233        fi
234        cd ${SETTE_DIR}
235        . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
236        cd ${SETTE_DIR}
237        . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
238       ##
239     done
240fi
241
242# --------------
243#  LOCK_EXCHANGE
244# --------------
245if [ ${config} -eq 2 ] ;  then
246    ## Restartability tests for LOCK_EXCHANGE
247    export TEST_NAME="LONG"
248    cd ${MAIN_DIR}
249    . ./makenemo -m ${CMP_NAM} -n LOCK_EXCHANGE_ST -a LOCK_EXCHANGE -j 8 del_key ${DEL_KEYS}
250    cd ${SETTE_DIR}
251    . ./param.cfg
252    . ./all_functions.sh
253    . ./prepare_exe_dir.sh
254    JOB_FILE=${EXE_DIR}/run_job.sh
255    NPROC=1
256    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
257    cd ${EXE_DIR}
258    set_namelist namelist_cfg cn_exp \"LOCK_LONG\"
259    set_namelist namelist_cfg nn_it000 1
260    set_namelist namelist_cfg nn_stock 60
261    set_namelist namelist_cfg ln_ctl .false.
262    set_namelist namelist_cfg sn_cfctl%l_config .true.
263    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
264    set_namelist namelist_cfg nn_itend 120
265    if [ ${USING_MPMD} == "yes" ] ; then
266       set_xio_using_server iodef.xml true
267    else
268       set_xio_using_server iodef.xml false
269    fi
270    cd ${SETTE_DIR}
271    . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
272
273    cd ${SETTE_DIR}
274    export TEST_NAME="SHORT"
275    . ./prepare_exe_dir.sh
276    cd ${EXE_DIR}
277    set_namelist namelist_cfg cn_exp \"LOCK_SHORT\"
278    set_namelist namelist_cfg nn_it000 61
279    set_namelist namelist_cfg nn_itend 120
280    set_namelist namelist_cfg nn_stock 60
281    set_namelist namelist_cfg ln_ctl .false.
282    set_namelist namelist_cfg sn_cfctl%l_config .true.
283    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
284    set_namelist namelist_cfg ln_rstart .true.
285    set_namelist namelist_cfg nn_rstctl 2
286    set_namelist namelist_cfg cn_ocerst_in \"LOCK_LONG_00000060_restart\"
287    if [ ${USING_MPMD} == "yes" ] ; then
288       set_xio_using_server iodef.xml true
289    else
290       set_xio_using_server iodef.xml false
291    fi
292    ln -sf ../LONG/LOCK_LONG_00000060_restart.nc .
293
294    cd ${SETTE_DIR}
295    . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
296    cd ${SETTE_DIR}
297    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
298
299    ## Test for all advection, vector form, flux form: test runability and complete all time steps
300    ## Needed namelist-xxxx for every type of run tested
301    cd ${CONFIG_DIR}/${NEW_CONF}/EXP00
302
303    for file in $(echo `ls namelist_*_cfg `) ; do
304        echo ''
305        TEST_NAME=`echo $file | sed -e "s/namelist_//" | sed -e "s/_cfg//"`
306        TEST_NAME="EXP-${TEST_NAME}"
307        `mkdir ${CONFIG_DIR}/${NEW_CONF}/${TEST_NAME}`
308        export TEST_NAME="${TEST_NAME}"
309        ## 
310        cd ${SETTE_DIR}
311        . ./param.cfg
312        . ./all_functions.sh
313        . ./prepare_exe_dir.sh
314        JOB_FILE=${EXE_DIR}/run_job.sh
315        NPROC=1
316        if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
317        cd ${EXE_DIR}
318        rm namelist_*_*_*_*
319        cp -pL ${CONFIG_DIR}/${NEW_CONF}/EXP00/$file namelist_cfg
320        if [ ${USING_MPMD} == "yes" ] ; then
321           set_xio_using_server iodef.xml true
322        else
323           set_xio_using_server iodef.xml false
324        fi
325        cd ${SETTE_DIR}
326        . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
327        cd ${SETTE_DIR}
328        . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
329        ##
330        echo ''
331   done
332fi
333
334# ---------
335# VORTEX
336# ---------
337if [ ${config} -eq 3 ] ;  then 
338## Restartability tests for VORTEX
339    export TEST_NAME="LONG"
340    cd ${MAIN_DIR}
341    . ./makenemo -m ${CMP_NAM} -n VORTEX_ST -a VORTEX -j 8  del_key ${DEL_KEYS}
342    cd ${SETTE_DIR}
343    . ./param.cfg
344    . ./all_functions.sh
345    . ./prepare_exe_dir.sh
346    JOB_FILE=${EXE_DIR}/run_job.sh
347    NPROC=6
348    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
349    cd ${EXE_DIR}
350    set_namelist namelist_cfg cn_exp \"VORTEX_LONG\"
351    set_namelist namelist_cfg nn_it000 1
352    set_namelist namelist_cfg nn_itend 240
353    set_namelist namelist_cfg nn_stock 120
354    set_namelist namelist_cfg ln_ctl .false.
355    set_namelist namelist_cfg sn_cfctl%l_config .true.
356    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
357
358    set_namelist 1_namelist_cfg cn_exp \"VORTEX_LONG\"
359    set_namelist 1_namelist_cfg nn_it000 1
360    set_namelist 1_namelist_cfg nn_itend 720
361    set_namelist 1_namelist_cfg nn_stock 360
362    set_namelist 1_namelist_cfg ln_ctl .false.
363    set_namelist 1_namelist_cfg sn_cfctl%l_config .true.
364    set_namelist 1_namelist_cfg sn_cfctl%l_runstat .true.
365   
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_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
373   
374    cd ${SETTE_DIR}
375    export TEST_NAME="SHORT"
376    . ./prepare_exe_dir.sh
377    cd ${EXE_DIR}
378    set_namelist namelist_cfg cn_exp \"VORTEX_SHORT\"
379    set_namelist namelist_cfg nn_it000 121
380    set_namelist namelist_cfg nn_itend 240
381    set_namelist namelist_cfg nn_stock 120
382    set_namelist namelist_cfg ln_ctl .false.
383    set_namelist namelist_cfg sn_cfctl%l_config .true.
384    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
385    set_namelist namelist_cfg ln_rstart .true.
386    set_namelist namelist_cfg nn_rstctl 2
387    set_namelist namelist_cfg cn_ocerst_in \"VORTEX_LONG_00000120_restart\"
388   
389    set_namelist 1_namelist_cfg cn_exp \"VORTEX_SHORT\"
390    set_namelist 1_namelist_cfg nn_it000 361
391    set_namelist 1_namelist_cfg nn_itend 720
392    set_namelist 1_namelist_cfg ln_ctl .false.
393    set_namelist 1_namelist_cfg sn_cfctl%l_config .true.
394    set_namelist 1_namelist_cfg sn_cfctl%l_runstat .true.
395    set_namelist 1_namelist_cfg nn_stock 360
396    set_namelist 1_namelist_cfg ln_rstart .true.
397    set_namelist 1_namelist_cfg nn_rstctl 2
398    set_namelist 1_namelist_cfg cn_ocerst_in \"VORTEX_LONG_00000360_restart\"
399     
400    if [ ${USING_MPMD} == "yes" ] ; then
401        set_xio_using_server iodef.xml true
402    else
403        set_xio_using_server iodef.xml false
404    fi
405    if [ $NPROC -eq 1 ] ;  then
406        ln -sf ../LONG/VORTEX_LONG_00000120_restart.nc .
407        ln -sf ../LONG/1_VORTEX_LONG_00000360_restart.nc .
408    else
409        for (( i=1; i<=$NPROC; i++)) ; do
410            L_NPROC=$(( $i - 1 ))
411            L_NPROC=`printf "%04d\n" ${L_NPROC}`
412            ln -sf ../LONG/VORTEX_LONG_00000120_restart_${L_NPROC}.nc .
413            ln -sf ../LONG/1_VORTEX_LONG_00000360_restart_${L_NPROC}.nc .
414        done
415    fi
416    cd ${SETTE_DIR}
417    . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
418    cd ${SETTE_DIR}
419    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
420
421## Reproducibility tests for VORTEX
422    export TEST_NAME="REPRO_2_3"
423    cd ${MAIN_DIR}
424    cd ${SETTE_DIR}
425    . ./param.cfg
426    . ./all_functions.sh
427    . ./prepare_exe_dir.sh
428    JOB_FILE=${EXE_DIR}/run_job.sh
429    NPROC=6
430    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
431    cd ${EXE_DIR}
432    set_namelist namelist_cfg cn_exp \"VORTEX_23\"
433    set_namelist namelist_cfg nn_it000 1
434    set_namelist namelist_cfg nn_itend 240
435    set_namelist namelist_cfg nn_stock 120
436    set_namelist namelist_cfg jpni 2
437    set_namelist namelist_cfg jpnj 3
438    set_namelist namelist_cfg ln_ctl .false.
439    set_namelist namelist_cfg sn_cfctl%l_config .true.
440    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
441   
442    set_namelist 1_namelist_cfg cn_exp \"VORTEX_23\"
443    set_namelist 1_namelist_cfg nn_it000 1
444    set_namelist 1_namelist_cfg nn_itend 720
445    set_namelist 1_namelist_cfg nn_stock 360
446    set_namelist 1_namelist_cfg jpni 2
447    set_namelist 1_namelist_cfg jpnj 3
448    set_namelist 1_namelist_cfg ln_ctl .false.
449    set_namelist 1_namelist_cfg sn_cfctl%l_config .true.
450    set_namelist 1_namelist_cfg sn_cfctl%l_runstat .true.
451
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_EMPTY.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}
461
462    cd ${SETTE_DIR}
463    export TEST_NAME="REPRO_3_2"
464    . ./prepare_exe_dir.sh
465    JOB_FILE=${EXE_DIR}/run_job.sh
466    NPROC=6
467    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
468    cd ${EXE_DIR}
469
470    set_namelist namelist_cfg cn_exp \"VORTEX_32\"
471    set_namelist namelist_cfg nn_it000 1
472    set_namelist namelist_cfg nn_itend 240
473    set_namelist namelist_cfg nn_stock 120
474    set_namelist namelist_cfg jpni 3
475    set_namelist namelist_cfg jpnj 2
476    set_namelist namelist_cfg ln_ctl .false.
477    set_namelist namelist_cfg sn_cfctl%l_config .true.
478    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
479
480    set_namelist 1_namelist_cfg cn_exp \"VORTEX_32\"
481    set_namelist 1_namelist_cfg nn_it000 1
482    set_namelist 1_namelist_cfg nn_itend 720
483    set_namelist 1_namelist_cfg nn_stock 360
484    set_namelist 1_namelist_cfg jpni 3
485    set_namelist 1_namelist_cfg jpnj 2
486    set_namelist 1_namelist_cfg ln_ctl .false.
487    set_namelist 1_namelist_cfg sn_cfctl%l_config .true.
488    set_namelist 1_namelist_cfg sn_cfctl%l_runstat .true.
489
490    if [ ${USING_MPMD} == "yes" ] ; then
491       set_xio_using_server iodef.xml true
492    else
493       set_xio_using_server iodef.xml false
494    fi
495    cd ${SETTE_DIR}
496    . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
497    cd ${SETTE_DIR}
498    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
499
500fi
501
502
503# ---------
504# ICE_AGRIF
505# ---------
506if [ ${config} -eq 4 ] ;  then 
507## Restartability tests for ICE_AGRIF
508    export TEST_NAME="LONG"
509    cd ${MAIN_DIR}
510    . ./makenemo -m ${CMP_NAM} -n ICE_AGRIF_ST -a ICE_AGRIF -j 8  del_key ${DEL_KEYS}
511    cd ${SETTE_DIR}
512    . ./param.cfg
513    . ./all_functions.sh
514    . ./prepare_exe_dir.sh
515    JOB_FILE=${EXE_DIR}/run_job.sh
516    NPROC=6
517    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
518    cd ${EXE_DIR}
519    set_namelist namelist_cfg cn_exp \"ICE_AGRIF_LONG\"
520    set_namelist namelist_cfg nn_it000 1
521    set_namelist namelist_cfg nn_itend 200
522    set_namelist namelist_cfg ln_ctl .false.
523    set_namelist namelist_cfg sn_cfctl%l_config .true.
524    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
525    set_namelist namelist_cfg nn_stock 100
526   
527    set_namelist 1_namelist_cfg cn_exp \"ICE_AGRIF_LONG\"
528    set_namelist 1_namelist_cfg nn_it000 1
529    set_namelist 1_namelist_cfg nn_itend 600
530    set_namelist 1_namelist_cfg ln_ctl .false.
531    set_namelist 1_namelist_cfg sn_cfctl%l_config .true.
532    set_namelist 1_namelist_cfg sn_cfctl%l_runstat .true.
533    set_namelist 1_namelist_cfg nn_stock 300
534   
535    if [ ${USING_MPMD} == "yes" ] ; then
536        set_xio_using_server iodef.xml true
537    else
538        set_xio_using_server iodef.xml false
539    fi
540    cd ${SETTE_DIR}
541    . ./prepare_job.sh input_ICE_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
542   
543    cd ${SETTE_DIR}
544    export TEST_NAME="SHORT"
545    . ./prepare_exe_dir.sh
546    cd ${EXE_DIR}
547    set_namelist namelist_cfg cn_exp \"ICE_AGRIF_SHORT\"
548    set_namelist namelist_cfg nn_it000 101
549    set_namelist namelist_cfg nn_itend 200
550    set_namelist namelist_cfg ln_ctl .false.
551    set_namelist namelist_cfg sn_cfctl%l_config .true.
552    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
553    set_namelist namelist_cfg nn_stock 100
554    set_namelist namelist_cfg ln_rstart .true.
555    set_namelist namelist_cfg nn_rstctl 2
556    set_namelist namelist_cfg cn_ocerst_in \"ICE_AGRIF_LONG_00000100_restart\"
557    set_namelist namelist_ice_cfg cn_icerst_in \"ICE_AGRIF_LONG_00000100_restart_ice\"
558   
559    set_namelist 1_namelist_cfg cn_exp \"ICE_AGRIF_SHORT\"
560    set_namelist 1_namelist_cfg nn_it000 301
561    set_namelist 1_namelist_cfg nn_itend 600
562    set_namelist 1_namelist_cfg ln_ctl .false.
563    set_namelist 1_namelist_cfg sn_cfctl%l_config .true.
564    set_namelist 1_namelist_cfg sn_cfctl%l_runstat .true.
565    set_namelist 1_namelist_cfg nn_stock 300
566    set_namelist 1_namelist_cfg ln_rstart .true.
567    set_namelist 1_namelist_cfg nn_rstctl 2
568    set_namelist 1_namelist_cfg cn_ocerst_in \"ICE_AGRIF_LONG_00000300_restart\"
569    set_namelist 1_namelist_ice_cfg cn_icerst_in \"ICE_AGRIF_LONG_00000300_restart_ice\"
570   
571   
572    if [ ${USING_MPMD} == "yes" ] ; then
573        set_xio_using_server iodef.xml true
574    else
575        set_xio_using_server iodef.xml false
576    fi
577    if [ $NPROC -eq 1 ] ;  then
578        ln -sf ../LONG/ICE_AGRIF_LONG_00000100_restart.nc .
579        ln -sf ../LONG/ICE_AGRIF_LONG_00000100_restart_ice.nc .
580        ln -sf ../LONG/1_ICE_AGRIF_LONG_00000300_restart.nc .
581        ln -sf ../LONG/1_ICE_AGRIF_LONG_00000300_restart_ice.nc .
582    else
583        for (( i=1; i<=$NPROC; i++)) ; do
584            L_NPROC=$(( $i - 1 ))
585            L_NPROC=`printf "%04d\n" ${L_NPROC}`
586            ln -sf ../LONG/ICE_AGRIF_LONG_00000100_restart_${L_NPROC}.nc .
587            ln -sf ../LONG/ICE_AGRIF_LONG_00000100_restart_ice_${L_NPROC}.nc .
588            ln -sf ../LONG/1_ICE_AGRIF_LONG_00000300_restart_${L_NPROC}.nc .
589            ln -sf ../LONG/1_ICE_AGRIF_LONG_00000300_restart_ice_${L_NPROC}.nc .
590        done
591    fi
592
593    cd ${SETTE_DIR}
594    . ./prepare_job.sh input_ICE_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
595    cd ${SETTE_DIR}
596    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
597
598
599## Reproducibility tests for ICE_AGRIF
600    export TEST_NAME="REPRO_2_3"
601    cd ${MAIN_DIR}
602    cd ${SETTE_DIR}
603    . ./param.cfg
604    . ./all_functions.sh
605    . ./prepare_exe_dir.sh
606    JOB_FILE=${EXE_DIR}/run_job.sh
607    NPROC=6
608    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
609    cd ${EXE_DIR}
610    set_namelist namelist_cfg cn_exp \"ICE_AGRIF_23\"
611    set_namelist namelist_cfg nn_it000 1
612    set_namelist namelist_cfg nn_itend 200
613    set_namelist namelist_cfg nn_stock 100
614    set_namelist namelist_cfg jpni 2
615    set_namelist namelist_cfg jpnj 3
616    set_namelist namelist_cfg ln_ctl .false.
617    set_namelist namelist_cfg sn_cfctl%l_config .true.
618    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
619   
620    set_namelist 1_namelist_cfg cn_exp \"ICE_AGRIF_23\"
621    set_namelist 1_namelist_cfg nn_it000 1
622    set_namelist 1_namelist_cfg nn_itend 600
623    set_namelist 1_namelist_cfg nn_stock 300
624    set_namelist 1_namelist_cfg jpni 2
625    set_namelist 1_namelist_cfg jpnj 3
626    set_namelist 1_namelist_cfg ln_ctl .false.
627    set_namelist 1_namelist_cfg sn_cfctl%l_config .true.
628    set_namelist 1_namelist_cfg sn_cfctl%l_runstat .true.
629
630    if [ ${USING_MPMD} == "yes" ] ; then
631       set_xio_using_server iodef.xml true
632    else
633       set_xio_using_server iodef.xml false
634    fi
635    cd ${SETTE_DIR}
636    . ./prepare_job.sh input_ICE_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
637    cd ${SETTE_DIR}
638    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
639
640    cd ${SETTE_DIR}
641    export TEST_NAME="REPRO_3_2"
642    . ./prepare_exe_dir.sh
643    JOB_FILE=${EXE_DIR}/run_job.sh
644    NPROC=6
645    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
646    cd ${EXE_DIR}
647
648    set_namelist namelist_cfg cn_exp \"ICE_AGRIF_32\"
649    set_namelist namelist_cfg nn_it000 1
650    set_namelist namelist_cfg nn_itend 200
651    set_namelist namelist_cfg nn_stock 100
652    set_namelist namelist_cfg jpni 3
653    set_namelist namelist_cfg jpnj 2
654    set_namelist namelist_cfg ln_ctl .false.
655    set_namelist namelist_cfg sn_cfctl%l_config .true.
656    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
657   
658    set_namelist 1_namelist_cfg cn_exp \"ICE_AGRIF_32\"
659    set_namelist 1_namelist_cfg nn_it000 1
660    set_namelist 1_namelist_cfg nn_itend 600
661    set_namelist 1_namelist_cfg nn_stock 300
662    set_namelist 1_namelist_cfg jpni 3
663    set_namelist 1_namelist_cfg jpnj 2
664    set_namelist 1_namelist_cfg ln_ctl .false.
665    set_namelist 1_namelist_cfg sn_cfctl%l_config .true.
666    set_namelist 1_namelist_cfg sn_cfctl%l_runstat .true.
667   
668    if [ ${USING_MPMD} == "yes" ] ; then
669       set_xio_using_server iodef.xml true
670    else
671       set_xio_using_server iodef.xml false
672    fi
673    cd ${SETTE_DIR}
674    . ./prepare_job.sh input_ICE_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
675    cd ${SETTE_DIR}
676    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
677
678fi
679
680# ------
681# ISOMIP
682# ------
683if [ ${config} -eq 5 ] ;  then
684## Restartability tests
685    export TEST_NAME="LONG"
686    cd ${MAIN_DIR}
687    . ./makenemo -m ${CMP_NAM} -n ISOMIP_ST -a ISOMIP -j 8 del_key ${DEL_KEYS}
688    cd ${SETTE_DIR}
689    . ./param.cfg
690    . ./all_functions.sh
691    . ./prepare_exe_dir.sh
692    JOB_FILE=${EXE_DIR}/run_job.sh
693    NPROC=15
694    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
695    cd ${EXE_DIR}
696    set_namelist namelist_cfg cn_exp \"ISOMIP_LONG\"
697    set_namelist namelist_cfg nn_it000 1
698    set_namelist namelist_cfg nn_itend 96
699    set_namelist namelist_cfg nn_stock 48
700    set_namelist namelist_cfg jpni 5
701    set_namelist namelist_cfg jpnj 3
702    set_namelist namelist_cfg ln_ctl .false.
703    set_namelist namelist_cfg sn_cfctl%l_config .true.
704    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
705    if [ ${USING_MPMD} == "yes" ] ; then
706       set_xio_using_server iodef.xml true
707    else
708       set_xio_using_server iodef.xml false
709    fi
710    cd ${SETTE_DIR}
711    . ./prepare_job.sh input_ISOMIP.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
712
713    cd ${SETTE_DIR}
714    export TEST_NAME="SHORT"
715    . ./prepare_exe_dir.sh
716    cd ${EXE_DIR}
717    set_namelist namelist_cfg cn_exp \"ISOMIP_SHORT\"
718    set_namelist namelist_cfg nn_it000 49
719    set_namelist namelist_cfg nn_itend 96
720    set_namelist namelist_cfg nn_stock 48
721    set_namelist namelist_cfg ln_rstart .true.
722    set_namelist namelist_cfg nn_rstctl 2
723    set_namelist namelist_cfg jpni 5
724    set_namelist namelist_cfg jpnj 3
725    set_namelist namelist_cfg ln_ctl .false.
726    set_namelist namelist_cfg sn_cfctl%l_config .true.
727    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
728    set_namelist namelist_cfg cn_ocerst_in \"ISOMIP_LONG_00000048_restart\"
729    if [ ${USING_MPMD} == "yes" ] ; then
730       set_xio_using_server iodef.xml true
731    else
732       set_xio_using_server iodef.xml false
733    fi
734    for (( i=1; i<=$NPROC; i++)) ; do
735        L_NPROC=$(( $i - 1 ))
736        L_NPROC=`printf "%04d\n" ${L_NPROC}`
737        ln -sf ../LONG/ISOMIP_LONG_00000048_restart_${L_NPROC}.nc .
738    done
739
740    cd ${SETTE_DIR}
741    . ./prepare_job.sh input_ISOMIP.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
742    cd ${SETTE_DIR}
743    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
744
745## Reproducibility tests
746    export TEST_NAME="REPRO_7_3"
747    cd ${MAIN_DIR}
748    cd ${SETTE_DIR}
749    . ./param.cfg
750    . ./all_functions.sh
751    . ./prepare_exe_dir.sh
752    JOB_FILE=${EXE_DIR}/run_job.sh
753    NPROC=21
754    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
755    cd ${EXE_DIR}
756    set_namelist namelist_cfg cn_exp \"ISOMIP_73\"
757    set_namelist namelist_cfg nn_it000 1
758    set_namelist namelist_cfg nn_itend 48
759    set_namelist namelist_cfg jpni 7
760    set_namelist namelist_cfg jpnj 3
761    set_namelist namelist_cfg ln_ctl .false.
762    set_namelist namelist_cfg sn_cfctl%l_config .true.
763    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
764    if [ ${USING_MPMD} == "yes" ] ; then
765       set_xio_using_server iodef.xml true
766    else
767       set_xio_using_server iodef.xml false
768    fi
769    cd ${SETTE_DIR}
770    . ./prepare_job.sh input_ISOMIP.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
771    cd ${SETTE_DIR}
772    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
773
774    cd ${SETTE_DIR}
775    export TEST_NAME="REPRO_8_4"
776    . ./prepare_exe_dir.sh
777    JOB_FILE=${EXE_DIR}/run_job.sh
778    NPROC=32
779    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
780    cd ${EXE_DIR}
781    set_namelist namelist_cfg cn_exp \"ISOMIP_84\"
782    set_namelist namelist_cfg nn_it000 1
783    set_namelist namelist_cfg nn_itend 48
784    set_namelist namelist_cfg jpni 8
785    set_namelist namelist_cfg jpnj 4
786    set_namelist namelist_cfg ln_ctl .false.
787    set_namelist namelist_cfg sn_cfctl%l_config .true.
788    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
789    if [ ${USING_MPMD} == "yes" ] ; then
790       set_xio_using_server iodef.xml true
791    else
792       set_xio_using_server iodef.xml false
793    fi
794    cd ${SETTE_DIR}
795    . ./prepare_job.sh input_ISOMIP.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
796    cd ${SETTE_DIR}
797    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
798
799fi
800
801#----
802done
Note: See TracBrowser for help on using the repository browser.