New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
sette_test-cases.sh in NEMO/branches/2019/fix_sette_ticket2239 – NEMO

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

Last change on this file since 10713 was 10698, checked in by mathiot, 5 years ago

check exit code from NEMO (do not copy anything if it failed on exit code other than 0/123456/999) + rename run.stat/tracer.stat/ocean.output to *_old in the current validation dir (ticket #2239)

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