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

Last change on this file since 10535 was 10517, checked in by clem, 5 years ago

complete previous commit for sette tests

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