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

source: utils/CI/sette_ticket2386/sette_test-cases.sh @ 12722

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

Ticket #2386: changes for tests cases enabling use XIOS in the tests to read and wirite restart with XIOS (using USING_XIOS_RRW)

  • Property svn:executable set to *
File size: 30.8 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#  VALIDATION tree is:
63#
64#   NEMO_VALIDATION_DIR/WCONFIG_NAME/WCOMPILER_NAME/TEST_NAME/REVISION_NUMBER(or DATE)
65#
66#  prepare_exe_dir.sh : defines and creates directory where the test is executed
67#                       execution directory takes name of TEST_NAME defined for every test
68#                       in sette_test-cases.sh. (each test in executed in its own directory)
69#
70#  set_valid_dir       : rename ocean.output/run.stat and tracer.stat to avoid checking them in the report
71#
72#  clean_valid_dir    : rename ocean.output/run.stat and tracer.stat to avoid checking them in the report
73#                       ( not doing it could lead to false positive )
74#
75#  prepare_job.sh     : to generate the script run_job.sh
76#
77#  fcm_job.sh         : run in batch (INTERACT_FLAG="no") or interactive (INTERACT_FLAG="yes")
78#                        see sette_test-cases.sh and BATCH_TEMPLATE directory
79#
80#  NOTE: jobs requiring initial or forcing data need to have an input_CONFIG.cfg in which
81#        can be found paths to the input tar file)
82#  NOTE: if job is not launched for any reason you have the executable ready in ${EXE_DIR}
83#        directory
84#  NOTE: the changed namelists are left in ${EXE_DIR} directory whereas original namelists
85#        remain in ${NEW_CONF}/EXP00
86#
87#  NOTE: a log file, output.sette, is created in ${SETTE_DIR} with the echoes of
88#        executed commands
89#
90#  NOTE: if sette_test-cases.sh is stopped in output.sette there is written the last command
91#        executed by sette_test-cases.sh
92#
93# example use: ./sette_test-cases.sh
94#########################################################################################
95#
96# LOAD param value
97SETTE_DIR=$(cd $(dirname "$0"); pwd)
98MAIN_DIR=$(dirname $SETTE_DIR)
99. ./param.cfg
100
101export BATCH_COMMAND_PAR=${BATCH_CMD}
102export BATCH_COMMAND_SEQ=${BATCH_CMD}
103export INTERACT_FLAG="no"
104export MPIRUN_FLAG="yes"
105#
106export DEL_KEYS="key_iomput"
107if [ ${USING_XIOS} == "yes" ] 
108 then
109   export DEL_KEYS=""
110fi
111#
112export ADD_KEYS=""
113if [ ${ADD_NOSIGNEDZERO} == "yes" ]
114 then
115   export ADD_KEYS="key_nosignedzero"
116fi
117#
118# Settings which control the use of stand alone servers (only relevant if using xios)
119#
120export NUM_XIOSERVERS=4
121export JOB_PREFIX=${JOB_PREFIX_MPMD}
122#
123if [ ${USING_MPMD} == "no" ] 
124 then
125   export NUM_XIOSERVERS=0
126   export JOB_PREFIX=${JOB_PREFIX_NOMPMD}
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    set_valid_dir
172    clean_valid_dir
173    JOB_FILE=${EXE_DIR}/run_job.sh
174    NPROC=1
175    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
176    cd ${EXE_DIR} 
177    set_namelist namelist_cfg cn_exp \"OVF_LONG\"
178    set_namelist namelist_cfg nn_it000 1
179    set_namelist namelist_cfg nn_itend 120
180    set_namelist namelist_cfg nn_stock 60
181    set_namelist namelist_cfg sn_cfctl%l_config .true.
182    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
183    if [ ${USING_XIOS_RRW} == "yes" ]
184       then
185       set_namelist namelist_cfg nn_wxios 1
186    fi
187
188    if [ ${USING_MPMD} == "yes" ] ; then
189       set_xio_using_server iodef.xml true
190    else
191       set_xio_using_server iodef.xml false
192    fi
193    cd ${SETTE_DIR}
194    . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
195
196    cd ${SETTE_DIR}
197    export TEST_NAME="SHORT"
198    . ./prepare_exe_dir.sh
199    set_valid_dir
200    clean_valid_dir
201    cd ${EXE_DIR}
202    set_namelist namelist_cfg cn_exp \"OVF_SHORT\"
203    set_namelist namelist_cfg nn_it000 61
204    set_namelist namelist_cfg nn_itend 120
205    set_namelist namelist_cfg nn_stock 60
206    set_namelist namelist_cfg sn_cfctl%l_config .true.
207    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
208    set_namelist namelist_cfg ln_rstart .true.
209    set_namelist namelist_cfg nn_rstctl 2
210    set_namelist namelist_cfg cn_ocerst_in \"OVF_LONG_00000060_restart\"
211    if [ ${USING_XIOS_RRW} == "yes" ]
212       then
213       set_namelist namelist_cfg nn_wxios 1
214       set_namelist namelist_cfg ln_xios_read .true.
215    fi
216
217    if [ ${USING_MPMD} == "yes" ] ; then
218       set_xio_using_server iodef.xml true
219    else
220       set_xio_using_server iodef.xml false
221    fi
222    ln -sf ../LONG/OVF_LONG_00000060_restart.nc .
223
224    cd ${SETTE_DIR}
225    . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
226    cd ${SETTE_DIR}
227    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
228
229
230    ## Test for all advection, vert. coordinates, vector form, flux form: test runability and complete all time steps
231    ## Needed namelist-xxxx for every type of run tested
232    cd ${CONFIG_DIR}/${NEW_CONF}/EXP00
233
234    for file in $(echo `ls namelist_*_cfg `) ; do
235        TEST_NAME=`echo $file | sed -e "s/namelist_//" | sed -e "s/_cfg//"`
236        TEST_NAME="EXP-${TEST_NAME}"
237        if [ ! -d ${CONFIG_DIR}/${NEW_CONF}/${TEST_NAME} ] ; then mkdir ${CONFIG_DIR}/${NEW_CONF}/${TEST_NAME} ; fi
238        export TEST_NAME="${TEST_NAME}"
239         ##
240        cd ${SETTE_DIR}
241        . ./param.cfg
242        . ./all_functions.sh
243        . ./prepare_exe_dir.sh
244        set_valid_dir
245        clean_valid_dir
246        JOB_FILE=${EXE_DIR}/run_job.sh
247        NPROC=1
248        if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
249        cd ${EXE_DIR}
250        rm namelist_*_*_*_*
251        cp -pL ${CONFIG_DIR}/${NEW_CONF}/EXP00/$file namelist_cfg
252        if [ ${USING_MPMD} == "yes" ] ; then
253           set_xio_using_server iodef.xml true
254        else
255           set_xio_using_server iodef.xml false
256        fi
257        cd ${SETTE_DIR}
258        . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
259        cd ${SETTE_DIR}
260        . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
261       ##
262     done
263fi
264
265# --------------
266#  LOCK_EXCHANGE
267# --------------
268if [ ${config} == "LOCK_EXCHANGE" ] ;  then
269    ## Restartability tests for LOCK_EXCHANGE
270    export TEST_NAME="LONG"
271    cd ${MAIN_DIR}
272    . ./makenemo -m ${CMP_NAM} -n LOCK_EXCHANGE_ST -a LOCK_EXCHANGE -j 8 add_key "${ADD_KEYS}" del_key "${DEL_KEYS}"
273    cd ${SETTE_DIR}
274    . ./param.cfg
275    . ./all_functions.sh
276    . ./prepare_exe_dir.sh
277    set_valid_dir
278    clean_valid_dir
279    JOB_FILE=${EXE_DIR}/run_job.sh
280    NPROC=1
281    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
282    cd ${EXE_DIR}
283    set_namelist namelist_cfg cn_exp \"LOCK_LONG\"
284    set_namelist namelist_cfg nn_it000 1
285    set_namelist namelist_cfg nn_stock 60
286    set_namelist namelist_cfg sn_cfctl%l_config .true.
287    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
288    set_namelist namelist_cfg nn_itend 120
289    if [ ${USING_MPMD} == "yes" ] ; then
290       set_xio_using_server iodef.xml true
291    else
292       set_xio_using_server iodef.xml false
293    fi
294    cd ${SETTE_DIR}
295    . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
296
297    cd ${SETTE_DIR}
298    export TEST_NAME="SHORT"
299    . ./prepare_exe_dir.sh
300    set_valid_dir
301    clean_valid_dir
302    cd ${EXE_DIR}
303    set_namelist namelist_cfg cn_exp \"LOCK_SHORT\"
304    set_namelist namelist_cfg nn_it000 61
305    set_namelist namelist_cfg nn_itend 120
306    set_namelist namelist_cfg nn_stock 60
307    set_namelist namelist_cfg sn_cfctl%l_config .true.
308    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
309    set_namelist namelist_cfg ln_rstart .true.
310    set_namelist namelist_cfg nn_rstctl 2
311    set_namelist namelist_cfg cn_ocerst_in \"LOCK_LONG_00000060_restart\"
312    if [ ${USING_MPMD} == "yes" ] ; then
313       set_xio_using_server iodef.xml true
314    else
315       set_xio_using_server iodef.xml false
316    fi
317    ln -sf ../LONG/LOCK_LONG_00000060_restart.nc .
318
319    cd ${SETTE_DIR}
320    . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
321    cd ${SETTE_DIR}
322    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
323
324    ## Test for all advection, vector form, flux form: test runability and complete all time steps
325    ## Needed namelist-xxxx for every type of run tested
326    cd ${CONFIG_DIR}/${NEW_CONF}/EXP00
327
328    for file in $(echo `ls namelist_*_cfg `) ; do
329        echo ''
330        TEST_NAME=`echo $file | sed -e "s/namelist_//" | sed -e "s/_cfg//"`
331        TEST_NAME="EXP-${TEST_NAME}"
332        `mkdir ${CONFIG_DIR}/${NEW_CONF}/${TEST_NAME}`
333        export TEST_NAME="${TEST_NAME}"
334        ## 
335        cd ${SETTE_DIR}
336        . ./param.cfg
337        . ./all_functions.sh
338        . ./prepare_exe_dir.sh
339        set_valid_dir
340        clean_valid_dir
341        JOB_FILE=${EXE_DIR}/run_job.sh
342        NPROC=1
343        if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
344        cd ${EXE_DIR}
345        rm namelist_*_*_*_*
346        cp -pL ${CONFIG_DIR}/${NEW_CONF}/EXP00/$file namelist_cfg
347        if [ ${USING_MPMD} == "yes" ] ; then
348           set_xio_using_server iodef.xml true
349        else
350           set_xio_using_server iodef.xml false
351        fi
352        cd ${SETTE_DIR}
353        . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
354        cd ${SETTE_DIR}
355        . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
356        ##
357        echo ''
358   done
359fi
360
361# ---------
362# VORTEX
363# ---------
364if [ ${config} == "VORTEX" ] ;  then 
365## Restartability tests for VORTEX
366    export TEST_NAME="LONG"
367    cd ${MAIN_DIR}
368    . ./makenemo -m ${CMP_NAM} -n VORTEX_ST -a VORTEX -j 8  add_key "${ADD_KEYS}" del_key "${DEL_KEYS}"
369    cd ${SETTE_DIR}
370    . ./param.cfg
371    . ./all_functions.sh
372    . ./prepare_exe_dir.sh
373    set_valid_dir
374    clean_valid_dir
375    JOB_FILE=${EXE_DIR}/run_job.sh
376    NPROC=6
377    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
378    cd ${EXE_DIR}
379    set_namelist namelist_cfg cn_exp \"VORTEX_LONG\"
380    set_namelist namelist_cfg nn_it000 1
381    set_namelist namelist_cfg nn_itend 240
382    set_namelist namelist_cfg nn_stock 120
383    set_namelist namelist_cfg sn_cfctl%l_config .true.
384    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
385
386    set_namelist 1_namelist_cfg cn_exp \"VORTEX_LONG\"
387    set_namelist 1_namelist_cfg nn_it000 1
388    set_namelist 1_namelist_cfg nn_itend 720
389    set_namelist 1_namelist_cfg nn_stock 360
390    set_namelist 1_namelist_cfg sn_cfctl%l_config .true.
391    set_namelist 1_namelist_cfg sn_cfctl%l_runstat .true.
392
393    if [ ${USING_XIOS_RRW} == "yes" ]
394       then
395       set_namelist namelist_cfg nn_wxios 1
396    fi
397   
398    if [ ${USING_MPMD} == "yes" ] ; then
399        set_xio_using_server iodef.xml true
400    else
401        set_xio_using_server iodef.xml false
402    fi
403    cd ${SETTE_DIR}
404    . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
405   
406    cd ${SETTE_DIR}
407    export TEST_NAME="SHORT"
408    . ./prepare_exe_dir.sh
409    set_valid_dir
410    clean_valid_dir
411    cd ${EXE_DIR}
412    set_namelist namelist_cfg cn_exp \"VORTEX_SHORT\"
413    set_namelist namelist_cfg nn_it000 121
414    set_namelist namelist_cfg nn_itend 240
415    set_namelist namelist_cfg nn_stock 120
416    set_namelist namelist_cfg sn_cfctl%l_config .true.
417    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
418    set_namelist namelist_cfg ln_rstart .true.
419    set_namelist namelist_cfg nn_rstctl 2
420    set_namelist namelist_cfg cn_ocerst_in \"VORTEX_LONG_00000120_restart\"
421   
422    set_namelist 1_namelist_cfg cn_exp \"VORTEX_SHORT\"
423    set_namelist 1_namelist_cfg nn_it000 361
424    set_namelist 1_namelist_cfg nn_itend 720
425    set_namelist 1_namelist_cfg sn_cfctl%l_config .true.
426    set_namelist 1_namelist_cfg sn_cfctl%l_runstat .true.
427    set_namelist 1_namelist_cfg nn_stock 360
428    set_namelist 1_namelist_cfg ln_rstart .true.
429    set_namelist 1_namelist_cfg nn_rstctl 2
430    set_namelist 1_namelist_cfg cn_ocerst_in \"VORTEX_LONG_00000360_restart\"
431
432    if [ ${USING_XIOS_RRW} == "yes" ]
433       then
434       set_namelist namelist_cfg nn_wxios 1
435       set_namelist namelist_cfg ln_xios_read .true.
436    fi
437     
438    if [ ${USING_MPMD} == "yes" ] ; then
439        set_xio_using_server iodef.xml true
440    else
441        set_xio_using_server iodef.xml false
442    fi
443    if [[ ($NPROC -eq 1 || ${USING_XIOS_RRW} == "yes") ]]then
444        ln -sf ../LONG/VORTEX_LONG_00000120_restart.nc .
445        ln -sf ../LONG/1_VORTEX_LONG_00000360_restart.nc .
446    else
447        for (( i=1; i<=$NPROC; i++)) ; do
448            L_NPROC=$(( $i - 1 ))
449            L_NPROC=`printf "%04d\n" ${L_NPROC}`
450            ln -sf ../LONG/VORTEX_LONG_00000120_restart_${L_NPROC}.nc .
451            ln -sf ../LONG/1_VORTEX_LONG_00000360_restart_${L_NPROC}.nc .
452        done
453    fi
454    cd ${SETTE_DIR}
455    . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
456    cd ${SETTE_DIR}
457    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
458
459## Reproducibility tests for VORTEX
460    export TEST_NAME="REPRO_2_3"
461    cd ${MAIN_DIR}
462    cd ${SETTE_DIR}
463    . ./param.cfg
464    . ./all_functions.sh
465    . ./prepare_exe_dir.sh
466    set_valid_dir
467    clean_valid_dir
468    JOB_FILE=${EXE_DIR}/run_job.sh
469    NPROC=6
470    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
471    cd ${EXE_DIR}
472    set_namelist namelist_cfg cn_exp \"VORTEX_23\"
473    set_namelist namelist_cfg nn_it000 1
474    set_namelist namelist_cfg nn_itend 240
475    set_namelist namelist_cfg nn_stock 120
476    set_namelist namelist_cfg jpni 2
477    set_namelist namelist_cfg jpnj 3
478    set_namelist namelist_cfg sn_cfctl%l_config .true.
479    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
480   
481    set_namelist 1_namelist_cfg cn_exp \"VORTEX_23\"
482    set_namelist 1_namelist_cfg nn_it000 1
483    set_namelist 1_namelist_cfg nn_itend 720
484    set_namelist 1_namelist_cfg nn_stock 360
485    set_namelist 1_namelist_cfg jpni 2
486    set_namelist 1_namelist_cfg jpnj 3
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} ${NEMO_VALID}
497    cd ${SETTE_DIR}
498    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
499
500    cd ${SETTE_DIR}
501    export TEST_NAME="REPRO_3_2"
502    . ./prepare_exe_dir.sh
503    set_valid_dir
504    clean_valid_dir
505    JOB_FILE=${EXE_DIR}/run_job.sh
506    NPROC=6
507    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
508    cd ${EXE_DIR}
509
510    set_namelist namelist_cfg cn_exp \"VORTEX_32\"
511    set_namelist namelist_cfg nn_it000 1
512    set_namelist namelist_cfg nn_itend 240
513    set_namelist namelist_cfg nn_stock 120
514    set_namelist namelist_cfg jpni 3
515    set_namelist namelist_cfg jpnj 2
516    set_namelist namelist_cfg sn_cfctl%l_config .true.
517    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
518
519    set_namelist 1_namelist_cfg cn_exp \"VORTEX_32\"
520    set_namelist 1_namelist_cfg nn_it000 1
521    set_namelist 1_namelist_cfg nn_itend 720
522    set_namelist 1_namelist_cfg nn_stock 360
523    set_namelist 1_namelist_cfg jpni 3
524    set_namelist 1_namelist_cfg jpnj 2
525    set_namelist 1_namelist_cfg sn_cfctl%l_config .true.
526    set_namelist 1_namelist_cfg sn_cfctl%l_runstat .true.
527
528    if [ ${USING_MPMD} == "yes" ] ; then
529       set_xio_using_server iodef.xml true
530    else
531       set_xio_using_server iodef.xml false
532    fi
533    cd ${SETTE_DIR}
534    . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
535    cd ${SETTE_DIR}
536    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
537
538fi
539
540
541# ---------
542# ICE_AGRIF
543# ---------
544if [ ${config} == "ICE_AGRIF" ] ;  then 
545## Restartability tests for ICE_AGRIF
546    export TEST_NAME="LONG"
547    cd ${MAIN_DIR}
548    . ./makenemo -m ${CMP_NAM} -n ICE_AGRIF_ST -a ICE_AGRIF -j 8  add_key "${ADD_KEYS}" del_key "${DEL_KEYS}"
549    cd ${SETTE_DIR}
550    . ./param.cfg
551    . ./all_functions.sh
552    . ./prepare_exe_dir.sh
553    set_valid_dir
554    clean_valid_dir
555    JOB_FILE=${EXE_DIR}/run_job.sh
556    NPROC=6
557    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
558    cd ${EXE_DIR}
559    set_namelist namelist_cfg cn_exp \"ICE_AGRIF_LONG\"
560    set_namelist namelist_cfg nn_it000 1
561    set_namelist namelist_cfg nn_itend 200
562    set_namelist namelist_cfg sn_cfctl%l_config .true.
563    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
564    set_namelist namelist_cfg nn_stock 100
565   
566    set_namelist 1_namelist_cfg cn_exp \"ICE_AGRIF_LONG\"
567    set_namelist 1_namelist_cfg nn_it000 1
568    set_namelist 1_namelist_cfg nn_itend 600
569    set_namelist 1_namelist_cfg sn_cfctl%l_config .true.
570    set_namelist 1_namelist_cfg sn_cfctl%l_runstat .true.
571    set_namelist 1_namelist_cfg nn_stock 300
572
573    if [ ${USING_XIOS_RRW} == "yes" ]
574       then
575       set_namelist namelist_cfg nn_wxios 1
576    fi
577   
578    if [ ${USING_MPMD} == "yes" ] ; then
579        set_xio_using_server iodef.xml true
580    else
581        set_xio_using_server iodef.xml false
582    fi
583    cd ${SETTE_DIR}
584    . ./prepare_job.sh input_ICE_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
585   
586    cd ${SETTE_DIR}
587    export TEST_NAME="SHORT"
588    . ./prepare_exe_dir.sh
589    set_valid_dir
590    clean_valid_dir
591    cd ${EXE_DIR}
592    set_namelist namelist_cfg cn_exp \"ICE_AGRIF_SHORT\"
593    set_namelist namelist_cfg nn_it000 101
594    set_namelist namelist_cfg nn_itend 200
595    set_namelist namelist_cfg sn_cfctl%l_config .true.
596    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
597    set_namelist namelist_cfg nn_stock 100
598    set_namelist namelist_cfg ln_rstart .true.
599    set_namelist namelist_cfg nn_rstctl 2
600    set_namelist namelist_cfg cn_ocerst_in \"ICE_AGRIF_LONG_00000100_restart\"
601    set_namelist namelist_ice_cfg cn_icerst_in \"ICE_AGRIF_LONG_00000100_restart_ice\"
602   
603    set_namelist 1_namelist_cfg cn_exp \"ICE_AGRIF_SHORT\"
604    set_namelist 1_namelist_cfg nn_it000 301
605    set_namelist 1_namelist_cfg nn_itend 600
606    set_namelist 1_namelist_cfg sn_cfctl%l_config .true.
607    set_namelist 1_namelist_cfg sn_cfctl%l_runstat .true.
608    set_namelist 1_namelist_cfg nn_stock 300
609    set_namelist 1_namelist_cfg ln_rstart .true.
610    set_namelist 1_namelist_cfg nn_rstctl 2
611    set_namelist 1_namelist_cfg cn_ocerst_in \"ICE_AGRIF_LONG_00000300_restart\"
612    set_namelist 1_namelist_ice_cfg cn_icerst_in \"ICE_AGRIF_LONG_00000300_restart_ice\"
613
614    if [ ${USING_XIOS_RRW} == "yes" ]
615       then
616       set_namelist namelist_cfg nn_wxios 1
617       set_namelist namelist_cfg ln_xios_read .true.
618    fi
619   
620    if [ ${USING_MPMD} == "yes" ] ; then
621        set_xio_using_server iodef.xml true
622    else
623        set_xio_using_server iodef.xml false
624    fi
625    if [[ ($NPROC -eq 1 || ${USING_XIOS_RRW} == "yes") ]] ;  then
626        ln -sf ../LONG/ICE_AGRIF_LONG_00000100_restart.nc .
627        ln -sf ../LONG/ICE_AGRIF_LONG_00000100_restart_ice.nc .
628        ln -sf ../LONG/1_ICE_AGRIF_LONG_00000300_restart.nc .
629        ln -sf ../LONG/1_ICE_AGRIF_LONG_00000300_restart_ice.nc .
630    else
631        for (( i=1; i<=$NPROC; i++)) ; do
632            L_NPROC=$(( $i - 1 ))
633            L_NPROC=`printf "%04d\n" ${L_NPROC}`
634            ln -sf ../LONG/ICE_AGRIF_LONG_00000100_restart_${L_NPROC}.nc .
635            ln -sf ../LONG/ICE_AGRIF_LONG_00000100_restart_ice_${L_NPROC}.nc .
636            ln -sf ../LONG/1_ICE_AGRIF_LONG_00000300_restart_${L_NPROC}.nc .
637            ln -sf ../LONG/1_ICE_AGRIF_LONG_00000300_restart_ice_${L_NPROC}.nc .
638        done
639    fi
640
641    cd ${SETTE_DIR}
642    . ./prepare_job.sh input_ICE_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
643    cd ${SETTE_DIR}
644    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
645
646
647## Reproducibility tests for ICE_AGRIF
648    export TEST_NAME="REPRO_2_3"
649    cd ${MAIN_DIR}
650    cd ${SETTE_DIR}
651    . ./param.cfg
652    . ./all_functions.sh
653    . ./prepare_exe_dir.sh
654    set_valid_dir
655    clean_valid_dir
656    JOB_FILE=${EXE_DIR}/run_job.sh
657    NPROC=6
658    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
659    cd ${EXE_DIR}
660    set_namelist namelist_cfg cn_exp \"ICE_AGRIF_23\"
661    set_namelist namelist_cfg nn_it000 1
662    set_namelist namelist_cfg nn_itend 200
663    set_namelist namelist_cfg nn_stock 100
664    set_namelist namelist_cfg jpni 2
665    set_namelist namelist_cfg jpnj 3
666    set_namelist namelist_cfg sn_cfctl%l_config .true.
667    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
668   
669    set_namelist 1_namelist_cfg cn_exp \"ICE_AGRIF_23\"
670    set_namelist 1_namelist_cfg nn_it000 1
671    set_namelist 1_namelist_cfg nn_itend 600
672    set_namelist 1_namelist_cfg nn_stock 300
673    set_namelist 1_namelist_cfg jpni 2
674    set_namelist 1_namelist_cfg jpnj 3
675    set_namelist 1_namelist_cfg sn_cfctl%l_config .true.
676    set_namelist 1_namelist_cfg sn_cfctl%l_runstat .true.
677
678    if [ ${USING_MPMD} == "yes" ] ; then
679       set_xio_using_server iodef.xml true
680    else
681       set_xio_using_server iodef.xml false
682    fi
683    cd ${SETTE_DIR}
684    . ./prepare_job.sh input_ICE_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
685    cd ${SETTE_DIR}
686    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
687
688    cd ${SETTE_DIR}
689    export TEST_NAME="REPRO_3_2"
690    . ./prepare_exe_dir.sh
691    set_valid_dir
692    clean_valid_dir
693    JOB_FILE=${EXE_DIR}/run_job.sh
694    NPROC=6
695    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
696    cd ${EXE_DIR}
697
698    set_namelist namelist_cfg cn_exp \"ICE_AGRIF_32\"
699    set_namelist namelist_cfg nn_it000 1
700    set_namelist namelist_cfg nn_itend 200
701    set_namelist namelist_cfg nn_stock 100
702    set_namelist namelist_cfg jpni 3
703    set_namelist namelist_cfg jpnj 2
704    set_namelist namelist_cfg sn_cfctl%l_config .true.
705    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
706   
707    set_namelist 1_namelist_cfg cn_exp \"ICE_AGRIF_32\"
708    set_namelist 1_namelist_cfg nn_it000 1
709    set_namelist 1_namelist_cfg nn_itend 600
710    set_namelist 1_namelist_cfg nn_stock 300
711    set_namelist 1_namelist_cfg jpni 3
712    set_namelist 1_namelist_cfg jpnj 2
713    set_namelist 1_namelist_cfg sn_cfctl%l_config .true.
714    set_namelist 1_namelist_cfg sn_cfctl%l_runstat .true.
715   
716    if [ ${USING_MPMD} == "yes" ] ; then
717       set_xio_using_server iodef.xml true
718    else
719       set_xio_using_server iodef.xml false
720    fi
721    cd ${SETTE_DIR}
722    . ./prepare_job.sh input_ICE_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
723    cd ${SETTE_DIR}
724    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
725
726fi
727
728# ------
729# ISOMIP
730# ------
731if [ ${config} == "ISOMIP" ] ;  then
732## Restartability tests
733    export TEST_NAME="LONG"
734    cd ${MAIN_DIR}
735    . ./makenemo -m ${CMP_NAM} -n ISOMIP_ST -a ISOMIP -j 8 add_key "${ADD_KEYS}" del_key "${DEL_KEYS}"
736    cd ${SETTE_DIR}
737    . ./param.cfg
738    . ./all_functions.sh
739    . ./prepare_exe_dir.sh
740    set_valid_dir
741    clean_valid_dir
742    JOB_FILE=${EXE_DIR}/run_job.sh
743    NPROC=15
744    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
745    cd ${EXE_DIR}
746    set_namelist namelist_cfg cn_exp \"ISOMIP_LONG\"
747    set_namelist namelist_cfg nn_it000 1
748    set_namelist namelist_cfg nn_itend 96
749    set_namelist namelist_cfg nn_stock 48
750    set_namelist namelist_cfg jpni 5
751    set_namelist namelist_cfg jpnj 3
752    set_namelist namelist_cfg sn_cfctl%l_config .true.
753    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
754    if [ ${USING_XIOS_RRW} == "yes" ]
755       then
756       set_namelist namelist_cfg nn_wxios 1
757    fi
758    if [ ${USING_MPMD} == "yes" ] ; then
759       set_xio_using_server iodef.xml true
760    else
761       set_xio_using_server iodef.xml false
762    fi
763    cd ${SETTE_DIR}
764    . ./prepare_job.sh input_ISOMIP.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
765
766    cd ${SETTE_DIR}
767    export TEST_NAME="SHORT"
768    . ./prepare_exe_dir.sh
769    set_valid_dir
770    clean_valid_dir
771    cd ${EXE_DIR}
772    set_namelist namelist_cfg cn_exp \"ISOMIP_SHORT\"
773    set_namelist namelist_cfg nn_it000 49
774    set_namelist namelist_cfg nn_itend 96
775    set_namelist namelist_cfg nn_stock 48
776    set_namelist namelist_cfg ln_rstart .true.
777    set_namelist namelist_cfg nn_rstctl 2
778    set_namelist namelist_cfg jpni 5
779    set_namelist namelist_cfg jpnj 3
780    set_namelist namelist_cfg sn_cfctl%l_config .true.
781    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
782    set_namelist namelist_cfg cn_ocerst_in \"ISOMIP_LONG_00000048_restart\"
783    if [ ${USING_XIOS_RRW} == "yes" ]
784       then
785       set_namelist namelist_cfg nn_wxios 1
786       set_namelist namelist_cfg ln_xios_read .true.
787    fi
788    if [ ${USING_MPMD} == "yes" ] ; then
789       set_xio_using_server iodef.xml true
790    else
791       set_xio_using_server iodef.xml false
792    fi
793    if [ ${USING_XIOS_RRW} == "yes" ]; then
794        ln -sf ../LONG/ISOMIP_LONG_00000048_restart.nc .
795    else
796        for (( i=1; i<=$NPROC; i++)) ; do
797            L_NPROC=$(( $i - 1 ))
798            L_NPROC=`printf "%04d\n" ${L_NPROC}`
799            ln -sf ../LONG/ISOMIP_LONG_00000048_restart_${L_NPROC}.nc .
800        done
801    fi
802    cd ${SETTE_DIR}
803    . ./prepare_job.sh input_ISOMIP.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
804    cd ${SETTE_DIR}
805    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
806
807## Reproducibility tests
808    export TEST_NAME="REPRO_7_3"
809    cd ${MAIN_DIR}
810    cd ${SETTE_DIR}
811    . ./param.cfg
812    . ./all_functions.sh
813    . ./prepare_exe_dir.sh
814    set_valid_dir
815    clean_valid_dir
816    JOB_FILE=${EXE_DIR}/run_job.sh
817    NPROC=21
818    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
819    cd ${EXE_DIR}
820    set_namelist namelist_cfg cn_exp \"ISOMIP_73\"
821    set_namelist namelist_cfg nn_it000 1
822    set_namelist namelist_cfg nn_itend 48
823    set_namelist namelist_cfg jpni 7
824    set_namelist namelist_cfg jpnj 3
825    set_namelist namelist_cfg sn_cfctl%l_config .true.
826    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
827    if [ ${USING_MPMD} == "yes" ] ; then
828       set_xio_using_server iodef.xml true
829    else
830       set_xio_using_server iodef.xml false
831    fi
832    cd ${SETTE_DIR}
833    . ./prepare_job.sh input_ISOMIP.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
834    cd ${SETTE_DIR}
835    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
836
837    cd ${SETTE_DIR}
838    export TEST_NAME="REPRO_8_4"
839    . ./prepare_exe_dir.sh
840    set_valid_dir
841    clean_valid_dir
842    JOB_FILE=${EXE_DIR}/run_job.sh
843    NPROC=32
844    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
845    cd ${EXE_DIR}
846    set_namelist namelist_cfg cn_exp \"ISOMIP_84\"
847    set_namelist namelist_cfg nn_it000 1
848    set_namelist namelist_cfg nn_itend 48
849    set_namelist namelist_cfg jpni 8
850    set_namelist namelist_cfg jpnj 4
851    set_namelist namelist_cfg sn_cfctl%l_config .true.
852    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
853    if [ ${USING_MPMD} == "yes" ] ; then
854       set_xio_using_server iodef.xml true
855    else
856       set_xio_using_server iodef.xml false
857    fi
858    cd ${SETTE_DIR}
859    . ./prepare_job.sh input_ISOMIP.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
860    cd ${SETTE_DIR}
861    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
862
863fi
864
865#----
866done
Note: See TracBrowser for help on using the repository browser.