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

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

first commit on sette changes suggested in ticket2239

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