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 NEMO/branches/2019/fix_sette_ticket2239 – NEMO

source: NEMO/branches/2019/fix_sette_ticket2239/sette_test-cases.sh @ 10747

Last change on this file since 10747 was 10747, checked in by smueller, 5 years ago

Addition of configurability of the set of active test configurations, see comment 14 of ticket #2239

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