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 @ 9789

Last change on this file since 9789 was 9789, checked in by clem, 6 years ago

change the name of SAS_BIPER configuration to a more explicit one: ICEDYN

  • Property svn:executable set to *
File size: 27.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#############################################################
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# ICEDYN         : 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    if [ ${USING_MPMD} == "yes" ] ; then
172       set_xio_using_server iodef.xml true
173    else
174       set_xio_using_server iodef.xml false
175    fi
176    cd ${SETTE_DIR}
177    . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
178
179    cd ${SETTE_DIR}
180    export TEST_NAME="SHORT"
181    . ./prepare_exe_dir.sh
182    cd ${EXE_DIR}
183    set_namelist namelist_cfg cn_exp \"OVF_SHORT\"
184    set_namelist namelist_cfg nn_it000 61
185    set_namelist namelist_cfg nn_itend 120
186    set_namelist namelist_cfg nn_stock 60
187    set_namelist namelist_cfg ln_rstart .true.
188    set_namelist namelist_cfg nn_rstctl 2
189    set_namelist namelist_cfg cn_ocerst_in \"OVF_LONG_00000060_restart\"
190    if [ ${USING_MPMD} == "yes" ] ; then
191       set_xio_using_server iodef.xml true
192    else
193       set_xio_using_server iodef.xml false
194    fi
195    ln -sf ../LONG/OVF_LONG_00000060_restart.nc .
196
197    cd ${SETTE_DIR}
198    . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
199    cd ${SETTE_DIR}
200    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
201
202
203    ## Test for all advection, vert. coordinates, vector form, flux form: test runability and complete all time steps
204    ## Needed namelist-xxxx for every type of run tested
205    cd ${CONFIG_DIR}/${NEW_CONF}/EXP00
206
207    for file in $(echo `ls namelist_*_cfg `) ; do
208        TEST_NAME=`ls $file | sed -e "s/namelist_//" | sed -e "s/_cfg//"`
209        TEST_NAME="EXP-${TEST_NAME}"
210        `mkdir ${CONFIG_DIR}/${NEW_CONF}/${TEST_NAME}`
211        export TEST_NAME="${TEST_NAME}"
212         ##
213        cd ${SETTE_DIR}
214        . ./param.cfg
215        . ./all_functions.sh
216        . ./prepare_exe_dir.sh
217        JOB_FILE=${EXE_DIR}/run_job.sh
218        NPROC=1
219        if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
220        cd ${EXE_DIR}
221        if [ ${USING_MPMD} == "yes" ] ; then
222           set_xio_using_server iodef.xml true
223        else
224           set_xio_using_server iodef.xml false
225        fi
226        cd ${SETTE_DIR}
227        . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
228        cd ${SETTE_DIR}
229        . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
230       ##
231     done
232fi
233
234# --------------
235#  LOCK_EXCHANGE
236# --------------
237if [ ${config} -eq 2 ] ;  then
238    ## Restartability tests for LOCK_EXCHANGE
239    export TEST_NAME="LONG"
240    cd ${MAIN_DIR}
241    . ./makenemo -m ${CMP_NAM} -n LOCK_EXCHANGE_ST -a OVERFLOW -j 8 del_key ${DEL_KEYS}
242    cd ${SETTE_DIR}
243    . ./param.cfg
244    . ./all_functions.sh
245    . ./prepare_exe_dir.sh
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    set_namelist namelist_cfg cn_exp \"LOCK_LONG\"
251    set_namelist namelist_cfg nn_it000 1
252    set_namelist namelist_cfg nn_stock 60
253    set_namelist namelist_cfg nn_itend 120
254    if [ ${USING_MPMD} == "yes" ] ; then
255       set_xio_using_server iodef.xml true
256    else
257       set_xio_using_server iodef.xml false
258    fi
259    cd ${SETTE_DIR}
260    . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
261
262    cd ${SETTE_DIR}
263    export TEST_NAME="SHORT"
264    . ./prepare_exe_dir.sh
265    cd ${EXE_DIR}
266    set_namelist namelist_cfg cn_exp \"LOCK_SHORT\"
267    set_namelist namelist_cfg nn_it000 61
268    set_namelist namelist_cfg nn_itend 120
269    set_namelist namelist_cfg nn_stock 60
270    set_namelist namelist_cfg ln_rstart .true.
271    set_namelist namelist_cfg nn_rstctl 2
272    set_namelist namelist_cfg cn_ocerst_in \"LOCK_LONG_00000060_restart\"
273    if [ ${USING_MPMD} == "yes" ] ; then
274       set_xio_using_server iodef.xml true
275    else
276       set_xio_using_server iodef.xml false
277    fi
278    ln -sf ../LONG/LOCK_LONG_00000060_restart.nc .
279
280    cd ${SETTE_DIR}
281    . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
282    cd ${SETTE_DIR}
283    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
284
285    ## Test for all advection, vector form, flux form: test runability and complete all time steps
286    ## Needed namelist-xxxx for every type of run tested
287    cd ${CONFIG_DIR}/${NEW_CONF}/EXP00
288
289    for file in $(echo `ls namelist_*_cfg `) ; do
290        TEST_NAME=`ls $file | sed -e "s/namelist_//" | sed -e "s/_cfg//"`
291        TEST_NAME="EXP-${TEST_NAME}"
292        `mkdir ${CONFIG_DIR}/${NEW_CONF}/${TEST_NAME}`
293        export TEST_NAME="${TEST_NAME}"
294         ## 
295        cd ${SETTE_DIR}
296        . ./param.cfg
297        . ./all_functions.sh
298        . ./prepare_exe_dir.sh
299        JOB_FILE=${EXE_DIR}/run_job.sh
300        NPROC=1
301        if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
302        cd ${EXE_DIR}
303        if [ ${USING_MPMD} == "yes" ] ; then
304           set_xio_using_server iodef.xml true
305        else
306           set_xio_using_server iodef.xml false
307        fi
308        cd ${SETTE_DIR}
309        . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
310        cd ${SETTE_DIR}
311        . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
312       ##
313   done
314fi
315
316# ---------
317# VORTEX
318# ---------
319if [ ${config} -eq 3 ] ;  then 
320## Restartability tests for VORTEX
321    export TEST_NAME="LONG"
322    cd ${MAIN_DIR}
323    . ./makenemo -m ${CMP_NAM} -n VORTEX_ST -a VORTEX -j 8  del_key ${DEL_KEYS}
324    cd ${SETTE_DIR}
325    . ./param.cfg
326    . ./all_functions.sh
327    . ./prepare_exe_dir.sh
328    JOB_FILE=${EXE_DIR}/run_job.sh
329    NPROC=6
330    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
331    cd ${EXE_DIR}
332    set_namelist namelist_cfg cn_exp \"VORTEX_LONG\"
333    set_namelist namelist_cfg nn_it000 1
334    set_namelist namelist_cfg nn_itend 240
335    set_namelist namelist_cfg nn_stock 120
336   
337    set_namelist 1_namelist_cfg cn_exp \"VORTEX_LONG\"
338    set_namelist 1_namelist_cfg nn_it000 1
339    set_namelist 1_namelist_cfg nn_itend 720
340    set_namelist 1_namelist_cfg nn_stock 360
341   
342    if [ ${USING_MPMD} == "yes" ] ; then
343        set_xio_using_server iodef.xml true
344    else
345        set_xio_using_server iodef.xml false
346    fi
347    cd ${SETTE_DIR}
348    . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
349   
350    cd ${SETTE_DIR}
351    export TEST_NAME="SHORT"
352    . ./prepare_exe_dir.sh
353    cd ${EXE_DIR}
354    set_namelist namelist_cfg cn_exp \"VORTEX_SHORT\"
355    set_namelist namelist_cfg nn_it000 121
356    set_namelist namelist_cfg nn_itend 240
357    set_namelist namelist_cfg nn_stock 120
358    set_namelist namelist_cfg ln_rstart .true.
359    set_namelist namelist_cfg nn_rstctl 2
360    set_namelist namelist_cfg cn_ocerst_in \"VORTEX_LONG_00000120_restart\"
361   
362    set_namelist 1_namelist_cfg cn_exp \"VORTEX_SHORT\"
363    set_namelist 1_namelist_cfg nn_it000 361
364    set_namelist 1_namelist_cfg nn_itend 720
365    set_namelist 1_namelist_cfg nn_stock 360
366    set_namelist 1_namelist_cfg ln_rstart .true.
367    set_namelist 1_namelist_cfg nn_rstctl 2
368    set_namelist 1_namelist_cfg cn_ocerst_in \"VORTEX_LONG_00000360_restart\"
369     
370    if [ ${USING_MPMD} == "yes" ] ; then
371        set_xio_using_server iodef.xml true
372    else
373        set_xio_using_server iodef.xml false
374    fi
375    if [ $NPROC -eq 1 ] ;  then
376        ln -sf ../LONG/VORTEX_LONG_00000120_restart.nc .
377        ln -sf ../LONG/1_VORTEX_LONG_00000360_restart.nc .
378    else
379        for (( i=1; i<=$NPROC; i++)) ; do
380            L_NPROC=$(( $i - 1 ))
381            L_NPROC=`printf "%04d\n" ${L_NPROC}`
382            ln -sf ../LONG/VORTEX_LONG_00000120_restart_${L_NPROC}.nc .
383            ln -sf ../LONG/1_VORTEX_LONG_00000360_restart_${L_NPROC}.nc .
384        done
385    fi
386    cd ${SETTE_DIR}
387    . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
388    cd ${SETTE_DIR}
389    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
390
391## Reproducibility tests for VORTEX
392    export TEST_NAME="REPRO_2_3"
393    cd ${MAIN_DIR}
394    cd ${SETTE_DIR}
395    . ./param.cfg
396    . ./all_functions.sh
397    . ./prepare_exe_dir.sh
398    JOB_FILE=${EXE_DIR}/run_job.sh
399    NPROC=6
400    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
401    cd ${EXE_DIR}
402    set_namelist namelist_cfg cn_exp \"VORTEX_23\"
403    set_namelist namelist_cfg nn_it000 1
404    set_namelist namelist_cfg nn_itend 240
405    set_namelist namelist_cfg nn_stock 120
406    set_namelist namelist_cfg jpni 2
407    set_namelist namelist_cfg jpnj 3
408    set_namelist namelist_cfg jpnij 6
409   
410    set_namelist 1_namelist_cfg cn_exp \"VORTEX_23\"
411    set_namelist 1_namelist_cfg nn_it000 1
412    set_namelist 1_namelist_cfg nn_itend 720
413    set_namelist 1_namelist_cfg nn_stock 360
414    set_namelist 1_namelist_cfg jpni 2
415    set_namelist 1_namelist_cfg jpnj 3
416    set_namelist 1_namelist_cfg jpnij 6
417
418    if [ ${USING_MPMD} == "yes" ] ; then
419       set_xio_using_server iodef.xml true
420    else
421       set_xio_using_server iodef.xml false
422    fi
423    cd ${SETTE_DIR}
424    . ./prepare_job.sh input_EMPTY.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
425    cd ${SETTE_DIR}
426    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
427
428    cd ${SETTE_DIR}
429    export TEST_NAME="REPRO_3_2"
430    . ./prepare_exe_dir.sh
431    JOB_FILE=${EXE_DIR}/run_job.sh
432    NPROC=6
433    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
434    cd ${EXE_DIR}
435
436    set_namelist namelist_cfg cn_exp \"VORTEX_32\"
437    set_namelist namelist_cfg nn_it000 1
438    set_namelist namelist_cfg nn_itend 240
439    set_namelist namelist_cfg nn_stock 120
440    set_namelist namelist_cfg jpni 3
441    set_namelist namelist_cfg jpnj 2
442    set_namelist namelist_cfg jpnij 6
443   
444    set_namelist 1_namelist_cfg cn_exp \"VORTEX_32\"
445    set_namelist 1_namelist_cfg nn_it000 1
446    set_namelist 1_namelist_cfg nn_itend 720
447    set_namelist 1_namelist_cfg nn_stock 360
448    set_namelist 1_namelist_cfg jpni 3
449    set_namelist 1_namelist_cfg jpnj 2
450    set_namelist 1_namelist_cfg jpnij 6
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
462fi
463
464
465# ---------
466# ICEDYN
467# ---------
468if [ ${config} -eq 4 ] ;  then 
469## Restartability tests for ICEDYN
470    export TEST_NAME="LONG"
471    cd ${MAIN_DIR}
472    . ./makenemo -m ${CMP_NAM} -n ICEDYN_ST -a ICEDYN -j 8  del_key ${DEL_KEYS}
473    cd ${SETTE_DIR}
474    . ./param.cfg
475    . ./all_functions.sh
476    . ./prepare_exe_dir.sh
477    JOB_FILE=${EXE_DIR}/run_job.sh
478    NPROC=6
479    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
480    cd ${EXE_DIR}
481    set_namelist namelist_cfg cn_exp \"ICEDYN_LONG\"
482    set_namelist namelist_cfg nn_it000 1
483    set_namelist namelist_cfg nn_itend 200
484    set_namelist namelist_cfg nn_stock 100
485   
486    #set_namelist namelist_ice_cfg ln_icethd .true.
487    set_namelist namelist_ice_cfg ln_icedyn .true.
488    set_namelist namelist_ice_cfg ln_dynFULL .true.
489    set_namelist namelist_ice_cfg ln_dynRHGADV .false.
490    set_namelist namelist_ice_cfg ln_dynADV .false.
491   
492    set_namelist 1_namelist_cfg cn_exp \"ICEDYN_LONG\"
493    set_namelist 1_namelist_cfg nn_it000 1
494    set_namelist 1_namelist_cfg nn_itend 600
495    set_namelist 1_namelist_cfg nn_stock 300
496   
497    #set_namelist 1_namelist_ice_cfg ln_icethd .true.
498    set_namelist 1_namelist_ice_cfg ln_icedyn .true.
499    set_namelist 1_namelist_ice_cfg ln_dynFULL .true.
500    set_namelist 1_namelist_ice_cfg ln_dynRHGADV .false.
501    set_namelist 1_namelist_ice_cfg ln_dynADV .false.
502    if [ ${USING_MPMD} == "yes" ] ; then
503        set_xio_using_server iodef.xml true
504    else
505        set_xio_using_server iodef.xml false
506    fi
507    cd ${SETTE_DIR}
508    . ./prepare_job.sh input_ICEDYN.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
509   
510    cd ${SETTE_DIR}
511    export TEST_NAME="SHORT"
512    . ./prepare_exe_dir.sh
513    cd ${EXE_DIR}
514    set_namelist namelist_cfg cn_exp \"ICEDYN_SHORT\"
515    set_namelist namelist_cfg nn_it000 101
516    set_namelist namelist_cfg nn_itend 200
517    set_namelist namelist_cfg nn_stock 100
518    set_namelist namelist_cfg ln_rstart .true.
519    set_namelist namelist_cfg nn_rstctl 2
520   
521    #set_namelist namelist_ice_cfg ln_icethd .true.
522    set_namelist namelist_ice_cfg ln_icedyn .true.
523    set_namelist namelist_ice_cfg ln_dynFULL .true.
524    set_namelist namelist_ice_cfg ln_dynRHGADV .false.
525    set_namelist namelist_ice_cfg ln_dynADV .false.
526    set_namelist namelist_cfg cn_ocerst_in \"ICEDYN_LONG_00000100_restart\"
527    set_namelist namelist_ice_cfg cn_icerst_in \"ICEDYN_LONG_00000100_restart_ice\"
528   
529    set_namelist 1_namelist_cfg cn_exp \"ICEDYN_SHORT\"
530    set_namelist 1_namelist_cfg nn_it000 301
531    set_namelist 1_namelist_cfg nn_itend 600
532    set_namelist 1_namelist_cfg nn_stock 300
533    set_namelist 1_namelist_cfg ln_rstart .true.
534    set_namelist 1_namelist_cfg nn_rstctl 2
535   
536    #set_namelist 1_namelist_ice_cfg ln_icethd .true.
537    set_namelist 1_namelist_ice_cfg ln_icedyn .true.
538    set_namelist 1_namelist_ice_cfg ln_dynFULL .true.
539    set_namelist 1_namelist_ice_cfg ln_dynRHGADV .false.
540    set_namelist 1_namelist_ice_cfg ln_dynADV .false.
541    set_namelist 1_namelist_cfg cn_ocerst_in \"ICEDYN_LONG_00000300_restart\"
542    set_namelist 1_namelist_ice_cfg cn_icerst_in \"ICEDYN_LONG_00000300_restart_ice\"
543   
544   
545    if [ ${USING_MPMD} == "yes" ] ; then
546        set_xio_using_server iodef.xml true
547    else
548        set_xio_using_server iodef.xml false
549    fi
550    if [ $NPROC -eq 1 ] ;  then
551        ln -sf ../LONG/ICEDYN_LONG_00000100_restart.nc .
552        ln -sf ../LONG/ICEDYN_LONG_00000100_restart_ice.nc .
553        ln -sf ../LONG/1_ICEDYN_LONG_00000300_restart.nc .
554        ln -sf ../LONG/1_ICEDYN_LONG_00000300_restart_ice.nc .
555    else
556        for (( i=1; i<=$NPROC; i++)) ; do
557            L_NPROC=$(( $i - 1 ))
558            L_NPROC=`printf "%04d\n" ${L_NPROC}`
559            ln -sf ../LONG/ICEDYN_LONG_00000100_restart_${L_NPROC}.nc .
560            ln -sf ../LONG/ICEDYN_LONG_00000100_restart_ice_${L_NPROC}.nc .
561            ln -sf ../LONG/1_ICEDYN_LONG_00000300_restart_${L_NPROC}.nc .
562            ln -sf ../LONG/1_ICEDYN_LONG_00000300_restart_ice_${L_NPROC}.nc .
563        done
564    fi
565
566    cd ${SETTE_DIR}
567    . ./prepare_job.sh input_ICEDYN.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
568    cd ${SETTE_DIR}
569    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
570
571
572## Reproducibility tests for ICEDYN
573    export TEST_NAME="REPRO_2_3"
574    cd ${MAIN_DIR}
575    cd ${SETTE_DIR}
576    . ./param.cfg
577    . ./all_functions.sh
578    . ./prepare_exe_dir.sh
579    JOB_FILE=${EXE_DIR}/run_job.sh
580    NPROC=6
581    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
582    cd ${EXE_DIR}
583    set_namelist namelist_cfg cn_exp \"ICEDYN_23\"
584    set_namelist namelist_cfg nn_it000 1
585    set_namelist namelist_cfg nn_itend 200
586    set_namelist namelist_cfg nn_stock 100
587    set_namelist namelist_cfg jpni 2
588    set_namelist namelist_cfg jpnj 3
589    set_namelist namelist_cfg jpnij 6
590
591    #set_namelist namelist_ice_cfg ln_icethd .true.
592    set_namelist namelist_ice_cfg ln_icedyn .true.
593    set_namelist namelist_ice_cfg ln_dynFULL .true.
594    set_namelist namelist_ice_cfg ln_dynRHGADV .false.
595    set_namelist namelist_ice_cfg ln_dynADV .false.
596   
597    set_namelist 1_namelist_cfg cn_exp \"ICEDYN_23\"
598    set_namelist 1_namelist_cfg nn_it000 1
599    set_namelist 1_namelist_cfg nn_itend 600
600    set_namelist 1_namelist_cfg nn_stock 300
601    set_namelist 1_namelist_cfg jpni 2
602    set_namelist 1_namelist_cfg jpnj 3
603    set_namelist 1_namelist_cfg jpnij 6
604
605    #set_namelist 1_namelist_ice_cfg ln_icethd .true.
606    set_namelist 1_namelist_ice_cfg ln_icedyn .true.
607    set_namelist 1_namelist_ice_cfg ln_dynFULL .true.
608    set_namelist 1_namelist_ice_cfg ln_dynRHGADV .false.
609    set_namelist 1_namelist_ice_cfg ln_dynADV .false.
610
611    if [ ${USING_MPMD} == "yes" ] ; then
612       set_xio_using_server iodef.xml true
613    else
614       set_xio_using_server iodef.xml false
615    fi
616    cd ${SETTE_DIR}
617    . ./prepare_job.sh input_ICEDYN.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
618    cd ${SETTE_DIR}
619    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
620
621    cd ${SETTE_DIR}
622    export TEST_NAME="REPRO_3_2"
623    . ./prepare_exe_dir.sh
624    JOB_FILE=${EXE_DIR}/run_job.sh
625    NPROC=6
626    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
627    cd ${EXE_DIR}
628
629    set_namelist namelist_cfg cn_exp \"ICEDYN_32\"
630    set_namelist namelist_cfg nn_it000 1
631    set_namelist namelist_cfg nn_itend 200
632    set_namelist namelist_cfg nn_stock 100
633    set_namelist namelist_cfg jpni 3
634    set_namelist namelist_cfg jpnj 2
635    set_namelist namelist_cfg jpnij 6
636
637    #set_namelist namelist_ice_cfg ln_icethd .true.
638    set_namelist namelist_ice_cfg ln_icedyn .true.
639    set_namelist namelist_ice_cfg ln_dynFULL .true.
640    set_namelist namelist_ice_cfg ln_dynRHGADV .false.
641    set_namelist namelist_ice_cfg ln_dynADV .false.
642   
643    set_namelist 1_namelist_cfg cn_exp \"ICEDYN_32\"
644    set_namelist 1_namelist_cfg nn_it000 1
645    set_namelist 1_namelist_cfg nn_itend 600
646    set_namelist 1_namelist_cfg nn_stock 300
647    set_namelist 1_namelist_cfg jpni 3
648    set_namelist 1_namelist_cfg jpnj 2
649    set_namelist 1_namelist_cfg jpnij 6
650
651    #set_namelist 1_namelist_ice_cfg ln_icethd .true.
652    set_namelist 1_namelist_ice_cfg ln_icedyn .true.
653    set_namelist 1_namelist_ice_cfg ln_dynFULL .true.
654    set_namelist 1_namelist_ice_cfg ln_dynRHGADV .false.
655    set_namelist 1_namelist_ice_cfg ln_dynADV .false.
656   
657    if [ ${USING_MPMD} == "yes" ] ; then
658       set_xio_using_server iodef.xml true
659    else
660       set_xio_using_server iodef.xml false
661    fi
662    cd ${SETTE_DIR}
663    . ./prepare_job.sh input_ICEDYN.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
664    cd ${SETTE_DIR}
665    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
666
667fi
668
669# ------
670# ISOMIP
671# ------
672if [ ${config} -eq 5 ] ;  then
673## Restartability tests
674    export TEST_NAME="LONG"
675    cd ${MAIN_DIR}
676    . ./makenemo -m ${CMP_NAM} -n ISOMIP_ST -a ISOMIP -j 8 del_key ${DEL_KEYS}
677    cd ${SETTE_DIR}
678    . ./param.cfg
679    . ./all_functions.sh
680    . ./prepare_exe_dir.sh
681    JOB_FILE=${EXE_DIR}/run_job.sh
682    NPROC=15
683    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
684    cd ${EXE_DIR}
685    set_namelist namelist_cfg cn_exp \"ISOMIP_LONG\"
686    set_namelist namelist_cfg nn_it000 1
687    set_namelist namelist_cfg nn_itend 96
688    set_namelist namelist_cfg nn_stock 48
689    set_namelist namelist_cfg jpni 5
690    set_namelist namelist_cfg jpnj 3
691    set_namelist namelist_cfg jpnij 15
692    if [ ${USING_MPMD} == "yes" ] ; then
693       set_xio_using_server iodef.xml true
694    else
695       set_xio_using_server iodef.xml false
696    fi
697    cd ${SETTE_DIR}
698    . ./prepare_job.sh input_ISOMIP.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
699
700    cd ${SETTE_DIR}
701    export TEST_NAME="SHORT"
702    . ./prepare_exe_dir.sh
703    cd ${EXE_DIR}
704    set_namelist namelist_cfg cn_exp \"ISOMIP_SHORT\"
705    set_namelist namelist_cfg nn_it000 49
706    set_namelist namelist_cfg nn_itend 96
707    set_namelist namelist_cfg nn_stock 48
708    set_namelist namelist_cfg ln_rstart .true.
709    set_namelist namelist_cfg nn_rstctl 2
710    set_namelist namelist_cfg jpni 5
711    set_namelist namelist_cfg jpnj 3
712    set_namelist namelist_cfg jpnij 15
713    set_namelist namelist_cfg cn_ocerst_in \"ISOMIP_LONG_00000048_restart\"
714    if [ ${USING_MPMD} == "yes" ] ; then
715       set_xio_using_server iodef.xml true
716    else
717       set_xio_using_server iodef.xml false
718    fi
719    for (( i=1; i<=$NPROC; i++)) ; do
720        L_NPROC=$(( $i - 1 ))
721        L_NPROC=`printf "%04d\n" ${L_NPROC}`
722        ln -sf ../LONG/ISOMIP_LONG_00000048_restart_${L_NPROC}.nc .
723    done
724
725    cd ${SETTE_DIR}
726    . ./prepare_job.sh input_ISOMIP.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
727    cd ${SETTE_DIR}
728    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
729
730## Reproducibility tests
731    export TEST_NAME="REPRO_7_3"
732    cd ${MAIN_DIR}
733    cd ${SETTE_DIR}
734    . ./param.cfg
735    . ./all_functions.sh
736    . ./prepare_exe_dir.sh
737    JOB_FILE=${EXE_DIR}/run_job.sh
738    NPROC=21
739    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
740    cd ${EXE_DIR}
741    set_namelist namelist_cfg cn_exp \"ISOMIP_73\"
742    set_namelist namelist_cfg nn_it000 1
743    set_namelist namelist_cfg nn_itend 48
744    set_namelist namelist_cfg jpni 7
745    set_namelist namelist_cfg jpnj 3
746    set_namelist namelist_cfg jpnij 21
747    if [ ${USING_MPMD} == "yes" ] ; then
748       set_xio_using_server iodef.xml true
749    else
750       set_xio_using_server iodef.xml false
751    fi
752    cd ${SETTE_DIR}
753    . ./prepare_job.sh input_ISOMIP.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
754    cd ${SETTE_DIR}
755    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
756
757    cd ${SETTE_DIR}
758    export TEST_NAME="REPRO_8_4"
759    . ./prepare_exe_dir.sh
760    JOB_FILE=${EXE_DIR}/run_job.sh
761    NPROC=32
762    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
763    cd ${EXE_DIR}
764    set_namelist namelist_cfg cn_exp \"ISOMIP_84\"
765    set_namelist namelist_cfg nn_it000 1
766    set_namelist namelist_cfg nn_itend 48
767    set_namelist namelist_cfg jpni 8
768    set_namelist namelist_cfg jpnj 4
769    set_namelist namelist_cfg jpnij 32
770    if [ ${USING_MPMD} == "yes" ] ; then
771       set_xio_using_server iodef.xml true
772    else
773       set_xio_using_server iodef.xml false
774    fi
775    cd ${SETTE_DIR}
776    . ./prepare_job.sh input_ISOMIP.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS}
777    cd ${SETTE_DIR}
778    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
779
780fi
781
782#----
783done
Note: See TracBrowser for help on using the repository browser.