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

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

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

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

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

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