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_reference-configurations.sh in utils/CI/sette – NEMO

source: utils/CI/sette/sette_reference-configurations.sh @ 15159

Last change on this file since 15159 was 15159, checked in by acc, 3 years ago

Some enhancements to SETTE scripts: Added a -N option to sette.sh to set ln_nnogather=.false. (where appropriate) and a -T <TEST_ROOT> option to sette_eval.sh where <TEST_ROOT> is either LONG, SHORT or REPRO (default:LONG). This option determines which set of results to compare between validation sets. In the case of REPRO, the first expanded match will be used for each configuration (e.g. REPRO_4_8)

  • Property svn:executable set to *
File size: 68.7 KB
RevLine 
[3520]1#!/bin/bash
[3708]2############################################################
[3520]3# Author : Simona Flavoni for NEMO
[4245]4# Contact: sflod@locean-ipsl.upmc.fr
5# 2013   : A.C. Coward added options for testing with XIOS in dettached mode
[3520]6#
7# sette.sh   : principal script of SET TEsts for NEMO (SETTE)
8# ----------------------------------------------------------------------
9# NEMO/SETTE , NEMO Consortium (2010)
10# Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
11# ----------------------------------------------------------------------
12#
13#############################################################
[7744]14#set -vx
[3520]15set -o posix
16#set -u
17#set -e
[4245]18# ===========
[3520]19# DESCRIPTION
20# ===========
21#
22# Variables to be checked by user:
23#
[4245]24# COMPILER          : name of compiler as defined in NEMOGCM/ARCH directory
25# BATCH_COMMAND_PAR :  name of the command for submitting parallel batch jobs
26# BATCH_COMMAND_SEQ :  name of the command for submitting sequential batch jobs 
27# INTERACT_FLAG     : flag to run in interactive mode "yes"
28#                           to run in batch mode "no"
29# MPIRUN_FLAG       : flag to run in parallel (MPI) "yes"
30#                           to run in sequential mode (NB_PROC = 1) "no"
[13790]31
[4245]32# NUM_XIOSERVERS    : number of stand-alone IO servers to employ
33#                     set to zero if USING_MPMD="no"
[3520]34#
35# Principal script is sette.sh, that calls
36#
[4245]37#  makenemo  : to create successive exectuables in ${CONFIG_NAME}/BLD/bin/nemo.exe
[9576]38#              and links to nemo in ${CONFIG_NAME}/EXP00)
[3520]39#
40#  param.cfg : sets and loads following directories:
[13568]41#              This will have been run by the parent sette.sh and values exported here
[3520]42#
[4245]43#   FORCING_DIR         : is the directory for forcing files (tarfile)
44#   INPUT_DIR           : is the directory for input files storing
45#   TMPDIR              : is the temporary directory (if needed)
[3520]46#   NEMO_VALIDATION_DIR : is the validation directory
47#
48#   (NOTE: this file is the same for all configrations to be tested with sette)
49#
[4245]50#   all_functions.sh : loads functions used by sette (note: new functions can be added here)
51#   set_namelist     : function declared in all_functions that sets namelist parameters
52#   post_test_tidyup : creates validation storage directory and copies required output files
[9019]53#                      (run.stat and ocean.output) in it after execution of test.
[3520]54#
[4245]55#  VALIDATION tree is:
[3520]56#
57#   NEMO_VALIDATION_DIR/WCONFIG_NAME/WCOMPILER_NAME/TEST_NAME/REVISION_NUMBER(or DATE)
58#
59#  prepare_exe_dir.sh : defines and creates directory where the test is executed
[4245]60#                       execution directory takes name of TEST_NAME defined for every test
61#                       in sette.sh. (each test in executed in its own directory)
[3520]62#
[10755]63#  set_valid_dir       : rename ocean.output/run.stat and tracer.stat to avoid checking them in the report
64#
[10698]65#  clean_valid_dir    : rename ocean.output/run.stat and tracer.stat to avoid checking them in the report
66#                       ( not doing it could lead to false positive )
67#
[4245]68#  prepare_job.sh     : to generate the script run_job.sh
[3520]69#
[4245]70#  fcm_job.sh         : run in batch (INTERACT_FLAG="no") or interactive (INTERACT_FLAG="yes")
71#                        see sette.sh and BATCH_TEMPLATE directory
[3520]72#
[4245]73#  NOTE: jobs requiring initial or forcing data need to have an input_CONFIG.cfg in which
74#        can be found paths to the input tar file)
75#  NOTE: if job is not launched for any reason you have the executable ready in ${EXE_DIR}
76#        directory
77#  NOTE: the changed namelists are left in ${EXE_DIR} directory whereas original namelists
78#        remain in ${NEW_CONF}/EXP00
[3520]79#
[4245]80#  NOTE: a log file, output.sette, is created in ${SETTE_DIR} with the echoes of
81#        executed commands
[3520]82#
[4245]83#  NOTE: if sette.sh is stopped in output.sette there is written the last command
84#        executed by sette.sh
[3520]85#
[4245]86# example use: ./sette.sh
87#########################################################################################
[3520]88#
[10687]89# LOAD param value
[10717]90SETTE_DIR=$(cd $(dirname "$0"); pwd)
91MAIN_DIR=$(dirname $SETTE_DIR)
[7743]92
[10687]93export BATCH_COMMAND_PAR=${BATCH_CMD}
94export BATCH_COMMAND_SEQ=${BATCH_CMD}
[4990]95export INTERACT_FLAG="no"
[4245]96export MPIRUN_FLAG="yes"
[14826]97#
[4245]98# Settings which control the use of stand alone servers (only relevant if using xios)
[3520]99#
[10632]100export NUM_XIOSERVERS=4
[11140]101export JOB_PREFIX=${JOB_PREFIX_MPMD}
[3520]102#
[4245]103if [ ${USING_MPMD} == "no" ] 
104 then
105   export NUM_XIOSERVERS=0
[11140]106   export JOB_PREFIX=${JOB_PREFIX_NOMPMD}
[4245]107fi
[3520]108#
109
110# Directory to run the tests
[9602]111CONFIG_DIR0=${MAIN_DIR}/cfgs
112TOOLS_DIR=${MAIN_DIR}/tools
[3520]113
114CMP_NAM=${1:-$COMPILER}
115# Copy job_batch_COMPILER file for specific compiler into job_batch_template
116cd ${SETTE_DIR}
[4245]117cp BATCH_TEMPLATE/${JOB_PREFIX}-${COMPILER} job_batch_template || exit
[10747]118# Description of available configurations:
119# GYRE_PISCES       :
120# ORCA2_ICE_PISCES  :
121# ORCA2_OFF_PISCES  :
122# AMM12             :
[14981]123# SAS               : aka ORCA2_SAS_ICE
[10747]124# ORCA2_ICE_OBS     :
[14981]125# AGRIF             : AGRIF_DEMO: test AGRIF in a double zoom configuration in the nordic seas + 1 zoom in the eq. Pacific and
126#                     AGRIF_DEMO_NOAGRIF: check that key_agrif without zoom = no key_agrif
127# WED025            : regional configuration including sea-ice and tides (Spitzbergen)
[4147]128
[14981]129. ./all_functions.sh
[13568]130for config in ${TEST_CONFIGS[@]}
[3520]131do
132
[9518]133# -----------
134# GYRE_PISCES
135# -----------
[14981]136if [ ${config} == "GYRE_PISCES" ] ;  then
137    SETTE_CONFIG="GYRE_PISCES"${SETTE_STG}
[13559]138    if [ $( echo ${CMP_NAM} | grep -ic debug ) -eq 1 ]
139    then
140   ITEND=12    # 1 day
141    else
142   ITEND=1080  # 90 days
143    fi
144    ITRST=$( printf "%08d" $(( ${ITEND} / 2 )) )
[9658]145    cd ${MAIN_DIR}
[12569]146    #
147    # syncronisation if target directory/file exist (not done by makenemo)
[14981]148    sync_config  GYRE_PISCES ${SETTE_CONFIG} 'cfgs'
149    clean_config GYRE_PISCES ${SETTE_CONFIG} 'cfgs'
[12569]150    #
[14981]151    # GYRE uses linssh so remove key_qco if added by default
152    . ./makenemo -m ${CMP_NAM} -n ${SETTE_CONFIG} -r GYRE_PISCES -j ${CMPL_CORES} add_key "${ADD_KEYS/key_qco/}" del_key "${DEL_KEYS}"
153fi
154if [ ${config} == "GYRE_PISCES" ] && [ ${DO_RESTART} == "1" ] ;  then
155## Restartability tests for GYRE_PISCES
156    export TEST_NAME="LONG"
[3520]157    cd ${SETTE_DIR}
[4252]158    . ./prepare_exe_dir.sh
[10755]159    set_valid_dir
[10698]160    clean_valid_dir
[3520]161    JOB_FILE=${EXE_DIR}/run_job.sh
[9525]162    NPROC=8
[4245]163    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
[4147]164    cd ${EXE_DIR} 
[7715]165    set_namelist namelist_cfg cn_exp \"GYREPIS_LONG\"
[4147]166    set_namelist namelist_cfg nn_it000 1
[13559]167    set_namelist namelist_cfg nn_itend ${ITEND}
168    set_namelist namelist_cfg nn_stock $(( ${ITEND} / 2 ))
[7646]169    set_namelist namelist_cfg ln_linssh .true.
[9525]170    set_namelist namelist_cfg jpni 2
171    set_namelist namelist_cfg jpnj 4
[10573]172    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
173    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
[14981]174    set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
175    set_namelist_opt namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
176    set_namelist_opt namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
177    set_namelist_opt namelist_cfg ln_tile ${USING_TILING} .true. .false.
178    set_xio_using_server iodef.xml ${USING_MPMD}
[4245]179    cd ${SETTE_DIR}
[10755]180    . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[3520]181
182    cd ${SETTE_DIR}
183    export TEST_NAME="SHORT"
[4252]184    . ./prepare_exe_dir.sh
[10755]185    set_valid_dir
[10698]186    clean_valid_dir
[3520]187    cd ${EXE_DIR}
[7715]188    set_namelist namelist_cfg cn_exp \"GYREPIS_SHORT\"
[13559]189    set_namelist namelist_cfg nn_it000 $(( ${ITEND} / 2 + 1 ))
190    set_namelist namelist_cfg nn_itend ${ITEND}
191    set_namelist namelist_cfg nn_stock $(( ${ITEND} / 2 ))
[4147]192    set_namelist namelist_cfg ln_rstart .true.
193    set_namelist namelist_cfg nn_rstctl 2
[7646]194    set_namelist namelist_cfg ln_linssh .true.
[9525]195    set_namelist namelist_cfg jpni 2
196    set_namelist namelist_cfg jpnj 4
[10573]197    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
198    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
[7744]199    set_namelist namelist_top_cfg ln_rsttr .true.
200    set_namelist namelist_top_cfg nn_rsttr 2
[13559]201    set_namelist namelist_cfg cn_ocerst_in \"GYREPIS_LONG_${ITRST}_restart\"
202    set_namelist namelist_top_cfg cn_trcrst_in \"GYREPIS_LONG_${ITRST}_restart_trc\"
[14981]203    set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
204    set_namelist_opt namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
205    set_namelist_opt namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
206    set_namelist_opt namelist_cfg ln_tile ${USING_TILING} .true. .false.
207    set_xio_using_server iodef.xml ${USING_MPMD}
[3537]208    for (( i=1; i<=$NPROC; i++)) ; do
209        L_NPROC=$(( $i - 1 ))
210        L_NPROC=`printf "%04d\n" ${L_NPROC}`
[13559]211        ln -sf ../LONG/GYREPIS_LONG_${ITRST}_restart_${L_NPROC}.nc .
212        ln -sf ../LONG/GYREPIS_LONG_${ITRST}_restart_trc_${L_NPROC}.nc .
[3537]213    done
[3520]214    cd ${SETTE_DIR}
[10755]215    . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[3520]216    cd ${SETTE_DIR}
[3532]217    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
[3520]218
[13568]219fi
220
221if [ ${config} == "GYRE_PISCES" ] && [ ${DO_REPRO} == "1" ] ;  then
[9518]222## Reproducibility tests for GYRE_PISCES
[9525]223    export TEST_NAME="REPRO_2_4"
[9658]224    cd ${MAIN_DIR}
[3520]225    cd ${SETTE_DIR}
[4252]226    . ./prepare_exe_dir.sh
[10755]227    set_valid_dir
[10698]228    clean_valid_dir
[3520]229    JOB_FILE=${EXE_DIR}/run_job.sh
[9525]230    NPROC=8
[4245]231    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
[3520]232    cd ${EXE_DIR}
[7715]233    set_namelist namelist_cfg cn_exp \"GYREPIS_48\"
[4147]234    set_namelist namelist_cfg nn_it000 1
[13559]235    set_namelist namelist_cfg nn_itend ${ITEND}
[7646]236    set_namelist namelist_cfg ln_linssh .true.
[9525]237    set_namelist namelist_cfg jpni 2
238    set_namelist namelist_cfg jpnj 4
[10573]239    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
240    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
[14981]241    set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
242    set_namelist_opt namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
243    set_namelist_opt namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
244    set_namelist_opt namelist_cfg ln_tile ${USING_TILING} .true. .false.
245    set_xio_using_server iodef.xml ${USING_MPMD}
[3520]246    cd ${SETTE_DIR}
[10755]247    . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[3520]248    cd ${SETTE_DIR}
249    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
250
251    cd ${SETTE_DIR}
[9525]252    export TEST_NAME="REPRO_4_2"
[4252]253    . ./prepare_exe_dir.sh
[10755]254    set_valid_dir
[10698]255    clean_valid_dir
[3680]256    JOB_FILE=${EXE_DIR}/run_job.sh
[9525]257    NPROC=8
[4245]258    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
[3520]259    cd ${EXE_DIR}
[7715]260    set_namelist namelist_cfg cn_exp \"GYREPIS_84\"
[4147]261    set_namelist namelist_cfg nn_it000 1
[13559]262    set_namelist namelist_cfg nn_itend ${ITEND}
[7646]263    set_namelist namelist_cfg ln_linssh .true.
[9525]264    set_namelist namelist_cfg jpni 4
265    set_namelist namelist_cfg jpnj 2
[10573]266    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
267    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
[14981]268    set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
269    set_namelist_opt namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
270    set_namelist_opt namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
271    set_namelist_opt namelist_cfg ln_tile ${USING_TILING} .true. .false.
272    set_xio_using_server iodef.xml ${USING_MPMD}
[3520]273    cd ${SETTE_DIR}
[10755]274    . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[3520]275    cd ${SETTE_DIR}
276    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
[3532]277
[3520]278fi
279
[9518]280# -----------------
[9663]281# ORCA2_ICE_PISCES
[9518]282# -----------------
[14981]283if [ ${config} == "ORCA2_ICE_PISCES" ] ;  then
284    SETTE_CONFIG="ORCA2_ICE_PISCES"${SETTE_STG}
[13559]285    if [ $( echo ${CMP_NAM} | grep -ic debug ) -eq 1 ]
286    then
287   ITEND=16   # 1 day
288    else
289   ITEND=992  # 62 days
290    fi
291    ITRST=$( printf "%08d" $(( ${ITEND} / 2 )) )
[9658]292    cd ${MAIN_DIR}
[12569]293    #
294    # syncronisation if target directory/file exist (not done by makenemo)
[14981]295    sync_config  ORCA2_ICE_PISCES ${SETTE_CONFIG} 'cfgs'
296    clean_config ORCA2_ICE_PISCES ${SETTE_CONFIG} 'cfgs'
[12569]297    #
[14981]298    . ./makenemo -m ${CMP_NAM} -n ${SETTE_CONFIG} -r ORCA2_ICE_PISCES -j ${CMPL_CORES} add_key "${ADD_KEYS}" del_key "${DEL_KEYS}"
299fi
300if [ ${config} == "ORCA2_ICE_PISCES" ] && [ ${DO_RESTART} == "1" ] ;  then
301## Restartability tests for ORCA2_ICE_PISCES
302    export TEST_NAME="LONG"
[7646]303    cd ${SETTE_DIR}
304    . ./prepare_exe_dir.sh
[10755]305    set_valid_dir
[10698]306    clean_valid_dir
[7646]307    JOB_FILE=${EXE_DIR}/run_job.sh
308    NPROC=32
309    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
310    cd ${EXE_DIR}
311    set_namelist namelist_cfg cn_exp \"O2L3P_LONG\"
312    set_namelist namelist_cfg nn_it000 1
[13559]313    set_namelist namelist_cfg nn_itend ${ITEND}
314    set_namelist namelist_cfg nn_stock $(( ${ITEND} / 2 ))
[7646]315    set_namelist namelist_cfg jpni 4
316    set_namelist namelist_cfg jpnj 8
[10573]317    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
318    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
[9933]319    set_namelist namelist_cfg ln_use_calving .true.
[14244]320    set_namelist namelist_cfg ln_wave .true.
[13948]321    set_namelist namelist_cfg ln_cdgw .false.
[14244]322    set_namelist namelist_cfg ln_sdw  .true.
323    set_namelist namelist_cfg ln_stcor .true.
[9904]324    #
[14981]325    set_namelist_opt namelist_cfg ln_icebergs ${USING_ICEBERGS} .true. .false.
326    set_namelist_opt namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
327    set_namelist_opt namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
[15159]328    set_namelist_opt namelist_cfg ln_nnogather ${USING_NOGATHER} .true. .false.
[14981]329    set_namelist_opt namelist_cfg ln_tile ${USING_TILING} .true. .false.
[10687]330    # for debugging purposes set_namelist namelist_cfg rn_test_box -180.0, 180.0, -90.0, -55.0
[9904]331    #
[9019]332    set_namelist namelist_ice_cfg ln_icediachk .true.
[4147]333    set_namelist namelist_top_cfg ln_trcdta .false.
[12428]334    set_namelist namelist_top_cfg ln_trcbc  .false.
335    # put ln_ironsed, ln_hydrofe to false
[3520]336    # if not you need input files, and for tests is not necessary
[4147]337    set_namelist namelist_pisces_cfg ln_varpar .false.
338    set_namelist namelist_pisces_cfg ln_ironsed .false.
[7646]339    set_namelist namelist_pisces_cfg ln_ironice .false.
[4147]340    set_namelist namelist_pisces_cfg ln_hydrofe .false.
[9203]341    # put ln_pisdmp to false : no restoring to global mean value
342    set_namelist namelist_pisces_cfg ln_pisdmp .false.
[14981]343    set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
344    set_xio_using_server iodef.xml ${USING_MPMD}
[3520]345    cd ${SETTE_DIR}
[10755]346    . ./prepare_job.sh input_ORCA2_ICE_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[3532]347   
348    cd ${SETTE_DIR}
[3520]349    export TEST_NAME="SHORT"
[4252]350    . ./prepare_exe_dir.sh
[10755]351    set_valid_dir
[10698]352    clean_valid_dir
[3520]353    cd ${EXE_DIR}
[7646]354    set_namelist namelist_cfg cn_exp \"O2L3P_SHORT\"
[13559]355    set_namelist namelist_cfg nn_it000 $(( ${ITEND} / 2 + 1 ))
356    set_namelist namelist_cfg nn_itend ${ITEND}
357    set_namelist namelist_cfg nn_stock $(( ${ITEND} / 2 ))
[4147]358    set_namelist namelist_cfg ln_rstart .true.
359    set_namelist namelist_cfg nn_rstctl 2
[7646]360    set_namelist namelist_cfg jpni 4
361    set_namelist namelist_cfg jpnj 8
[10573]362    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
363    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
[9920]364    set_namelist namelist_cfg nn_test_icebergs -1
[14244]365    set_namelist namelist_cfg ln_wave .true.
[13948]366    set_namelist namelist_cfg ln_cdgw .false.
[14244]367    set_namelist namelist_cfg ln_sdw  .true.
368    set_namelist namelist_cfg ln_stcor .true.
[9904]369    #
[14981]370    set_namelist_opt namelist_cfg ln_icebergs ${USING_ICEBERGS} .true. .false.
371    set_namelist_opt namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
372    set_namelist_opt namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
[15159]373    set_namelist_opt namelist_cfg ln_nnogather ${USING_NOGATHER} .true. .false.
[14981]374    set_namelist_opt namelist_cfg ln_tile ${USING_TILING} .true. .false.
[10732]375    # for debugging purposes set_namelist namelist_cfg rn_test_box -180.0, 180.0, -90.0, -55.0
[9904]376    #
[9933]377    set_namelist namelist_ice_cfg ln_icediachk .true.
[4147]378    set_namelist namelist_top_cfg ln_rsttr .true.
379    set_namelist namelist_top_cfg nn_rsttr 2
[13559]380    set_namelist namelist_cfg cn_ocerst_in \"O2L3P_LONG_${ITRST}_restart\"
381    set_namelist namelist_cfg cn_icbrst_in \"O2L3P_LONG_${ITRST}_restart_icb\"
382    set_namelist namelist_top_cfg cn_trcrst_in \"O2L3P_LONG_${ITRST}_restart_trc\"
383    set_namelist namelist_ice_cfg cn_icerst_in \"O2L3P_LONG_${ITRST}_restart_ice\"
[12428]384    set_namelist namelist_top_cfg ln_trcbc  .false.
385    # put ln_ironsed, ln_hydrofe to false
[3520]386    # if not you need input files, and for tests is not necessary
[4147]387    set_namelist namelist_pisces_cfg ln_varpar .false.
388    set_namelist namelist_pisces_cfg ln_ironsed .false.
[7646]389    set_namelist namelist_pisces_cfg ln_ironice .false.
[4147]390    set_namelist namelist_pisces_cfg ln_hydrofe .false.
[3680]391    # put ln_pisdmp to false : no restoring to global mean value
[4147]392    set_namelist namelist_pisces_cfg ln_pisdmp .false.
[3537]393    for (( i=1; i<=$NPROC; i++)) ; do
394        L_NPROC=$(( $i - 1 ))
395        L_NPROC=`printf "%04d\n" ${L_NPROC}`
[13559]396        ln -sf ../LONG/O2L3P_LONG_${ITRST}_restart_${L_NPROC}.nc .
397        ln -sf ../LONG/O2L3P_LONG_${ITRST}_restart_trc_${L_NPROC}.nc .
398        ln -sf ../LONG/O2L3P_LONG_${ITRST}_restart_ice_${L_NPROC}.nc .
[9904]399        if [ ${USING_ICEBERGS} == "yes" ]
400            then
[13559]401             ln -sf ../LONG/O2L3P_LONG_${ITRST}_restart_icb_${L_NPROC}.nc O2L3P_LONG_${ITRST}_restart_icb_${L_NPROC}.nc
[9904]402        fi
[3537]403    done
[14981]404    set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
405    set_xio_using_server iodef.xml ${USING_MPMD}
[3520]406    cd ${SETTE_DIR}
[10755]407    . ./prepare_job.sh input_ORCA2_ICE_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[3520]408    cd ${SETTE_DIR}
[3532]409    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
[3520]410
[13568]411fi
412
413if [ ${config} == "ORCA2_ICE_PISCES" ] && [ ${DO_REPRO} == "1" ] ;  then
[9663]414## Reproducibility tests for ORCA2_ICE_PISCES
[7646]415    export TEST_NAME="REPRO_4_8"
[9658]416    cd ${MAIN_DIR}
[3520]417    cd ${SETTE_DIR}
[4252]418    . ./prepare_exe_dir.sh
[10755]419    set_valid_dir
[10698]420    clean_valid_dir
[3520]421    JOB_FILE=${EXE_DIR}/run_job.sh
[7646]422    NPROC=32
[4245]423    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
[3520]424    cd ${EXE_DIR}
[9019]425    set_namelist namelist_cfg cn_exp \"O2L3P_48\"
[4147]426    set_namelist namelist_cfg nn_it000 1
[13559]427    set_namelist namelist_cfg nn_itend ${ITEND}
[4147]428    set_namelist namelist_cfg jpni 4
[7646]429    set_namelist namelist_cfg jpnj 8
[10573]430    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
431    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
[14244]432    set_namelist namelist_cfg ln_wave .true.
[13948]433    set_namelist namelist_cfg ln_cdgw .false.
[14244]434    set_namelist namelist_cfg ln_sdw  .true.
435    set_namelist namelist_cfg ln_stcor .true.
[10189]436
[14981]437    set_namelist_opt namelist_cfg ln_icebergs ${USING_ICEBERGS} .true. .false.
438    set_namelist_opt namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
439    set_namelist_opt namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
[15159]440    set_namelist_opt namelist_cfg ln_nnogather ${USING_NOGATHER} .true. .false.
[14981]441    set_namelist_opt namelist_cfg ln_tile ${USING_TILING} .true. .false.
[10687]442    # for debugging purposes set_namelist namelist_cfg rn_test_box -180.0, 180.0, -90.0, -55.0
443
[4147]444    set_namelist namelist_top_cfg ln_trcdta .false.
[12428]445    set_namelist namelist_top_cfg ln_trcbc  .false.
446    # put ln_ironsed, ln_hydrofe to false
[3520]447    # if not you need input files, and for tests is not necessary
[4147]448    set_namelist namelist_pisces_cfg ln_varpar .false.
449    set_namelist namelist_pisces_cfg ln_ironsed .false.
[7646]450    set_namelist namelist_pisces_cfg ln_ironice .false.
[4147]451    set_namelist namelist_pisces_cfg ln_hydrofe .false.
[3680]452    # put ln_pisdmp to false : no restoring to global mean value
[4147]453    set_namelist namelist_pisces_cfg ln_pisdmp .false.
[14981]454    set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
455    set_xio_using_server iodef.xml ${USING_MPMD}
[3520]456    cd ${SETTE_DIR}
[10755]457    . ./prepare_job.sh input_ORCA2_ICE_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[3520]458    cd ${SETTE_DIR}
[3532]459    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
[3520]460
461    cd ${SETTE_DIR}
[7646]462    export TEST_NAME="REPRO_8_4"
[4252]463    . ./prepare_exe_dir.sh
[10755]464    set_valid_dir
[10698]465    clean_valid_dir
[3680]466    JOB_FILE=${EXE_DIR}/run_job.sh
[7646]467    NPROC=32
[4245]468    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
[3520]469    cd ${EXE_DIR}
[9019]470    set_namelist namelist_cfg cn_exp \"O2L3P_84\"
[4147]471    set_namelist namelist_cfg nn_it000 1
[13559]472    set_namelist namelist_cfg nn_itend ${ITEND}
[7646]473    set_namelist namelist_cfg jpni 8
474    set_namelist namelist_cfg jpnj 4
[10573]475    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
476    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
[14244]477    set_namelist namelist_cfg ln_wave .true.
[13948]478    set_namelist namelist_cfg ln_cdgw .false.
[14244]479    set_namelist namelist_cfg ln_sdw  .true.
480    set_namelist namelist_cfg ln_stcor .true.
[10687]481
[14981]482    set_namelist_opt namelist_cfg ln_icebergs ${USING_ICEBERGS} .true. .false.
483    set_namelist_opt namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
484    set_namelist_opt namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
[15159]485    set_namelist_opt namelist_cfg ln_nnogather ${USING_NOGATHER} .true. .false.
[14981]486    set_namelist_opt namelist_cfg ln_tile ${USING_TILING} .true. .false.
[10687]487    # for debugging purposes set_namelist namelist_cfg rn_test_box -180.0, 180.0, -90.0, -55.0
488
[4147]489    set_namelist namelist_top_cfg ln_trcdta .false.
[12428]490    set_namelist namelist_top_cfg ln_trcbc  .false.
491    # put ln_ironsed, ln_hydrofe to false
[3520]492    # if not you need input files, and for tests is not necessary
[4147]493    set_namelist namelist_pisces_cfg ln_varpar .false.
494    set_namelist namelist_pisces_cfg ln_ironsed .false.
[7646]495    set_namelist namelist_pisces_cfg ln_ironice .false.
[4147]496    set_namelist namelist_pisces_cfg ln_hydrofe .false.
[3680]497    # put ln_pisdmp to false : no restoring to global mean value
[4147]498    set_namelist namelist_pisces_cfg ln_pisdmp .false.
[14981]499    set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
500    set_xio_using_server iodef.xml ${USING_MPMD}
[3520]501    cd ${SETTE_DIR}
[10755]502    . ./prepare_job.sh input_ORCA2_ICE_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[3520]503    cd ${SETTE_DIR}
504    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
505fi
506
[9518]507# ----------------
508# ORCA2_OFF_PISCES
509# ----------------
[14981]510if [ ${config} == "ORCA2_OFF_PISCES" ] ;  then
511    SETTE_CONFIG="ORCA2_OFF_PISCES"${SETTE_STG}
[13559]512    if [ $( echo ${CMP_NAM} | grep -ic debug ) -eq 1 ]
513    then
514   ITEND=16   # 4 days
515    else
516   ITEND=380  # 95 days
517    fi
518    ITRST=$( printf "%08d" $(( ${ITEND} / 2 )) )
[9658]519    cd ${MAIN_DIR}
[12569]520    #
521    # syncronisation if target directory/file exist (not done by makenemo)
[14981]522    sync_config  ${SETTE_CONFIG} ORCA2_OFF_PISCES_ST 'cfgs'
523    clean_config ${SETTE_CONFIG} ORCA2_OFF_PISCES_ST 'cfgs'
[12569]524    #
[14981]525    # ORCA2_OFF_PISCES uses linssh so remove key_qco if added by default
526    . ./makenemo -m ${CMP_NAM} -n ${SETTE_CONFIG} -r ORCA2_OFF_PISCES -j ${CMPL_CORES} add_key "${ADD_KEYS/key_qco/}" del_key "${DEL_KEYS}"
527fi
528if [ ${config} == "ORCA2_OFF_PISCES" ] && [ ${DO_RESTART} == "1" ] ;  then
529## Restartability tests for ORCA2_OFF_PISCES
530    export TEST_NAME="LONG"
[3520]531    cd ${SETTE_DIR}
[4252]532    . ./prepare_exe_dir.sh
[10755]533    set_valid_dir
[10698]534    clean_valid_dir
[3520]535    JOB_FILE=${EXE_DIR}/run_job.sh
[7646]536    NPROC=32
[4245]537    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
[3520]538    cd ${EXE_DIR}
[4147]539    set_namelist namelist_cfg cn_exp \"OFFP_LONG\"
540    set_namelist namelist_cfg nn_it000 1
[13559]541    set_namelist namelist_cfg nn_itend ${ITEND}
542    set_namelist namelist_cfg nn_stock $(( ${ITEND} / 2 ))
[7646]543    set_namelist namelist_cfg jpni 4
544    set_namelist namelist_cfg jpnj 8
[10573]545    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
546    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
[9904]547    set_namelist namelist_cfg ln_qsr_rgb .true.
[4147]548    set_namelist namelist_top_cfg ln_trcdta .false.
[12428]549    set_namelist namelist_top_cfg ln_trcbc  .false.
550    # put ln_ironsed, ln_hydrofe to false
[3520]551    # if not you need input files, and for tests is not necessary
[4147]552    set_namelist namelist_pisces_cfg ln_varpar .false.
553    set_namelist namelist_pisces_cfg ln_ironsed .false.
[7646]554    set_namelist namelist_pisces_cfg ln_ironice .false.
[4147]555    set_namelist namelist_pisces_cfg ln_hydrofe .false.
[3680]556    # put ln_pisdmp to false : no restoring to global mean value
[4147]557    set_namelist namelist_pisces_cfg ln_pisdmp .false.
[14981]558    set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
559    set_namelist_opt namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
560    set_namelist_opt namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
561    set_xio_using_server iodef.xml ${USING_MPMD}
[3520]562    cd ${SETTE_DIR}
[10755]563    . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[3520]564   
565    cd ${SETTE_DIR}
566    export TEST_NAME="SHORT"
[4252]567    . ./prepare_exe_dir.sh
[10755]568    set_valid_dir
[10698]569    clean_valid_dir
[3520]570    cd ${EXE_DIR}
[4147]571    set_namelist namelist_cfg cn_exp \"OFFP_SHORT\"
[13559]572    set_namelist namelist_cfg nn_it000 $(( ${ITEND} / 2 + 1 ))
573    set_namelist namelist_cfg nn_itend ${ITEND}
574    set_namelist namelist_cfg nn_stock $(( ${ITEND} / 2 ))
[7646]575    set_namelist namelist_cfg jpni 4
576    set_namelist namelist_cfg jpnj 8
[10573]577    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
578    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
[9904]579    set_namelist namelist_cfg ln_qsr_rgb .true.
[4147]580    set_namelist namelist_top_cfg ln_rsttr .true.
581    set_namelist namelist_top_cfg nn_rsttr 2
[13559]582    set_namelist namelist_top_cfg cn_trcrst_in \"OFFP_LONG_${ITRST}_restart_trc\"
[3537]583    for (( i=1; i<=$NPROC; i++)) ; do
584        L_NPROC=$(( $i - 1 ))
585        L_NPROC=`printf "%04d\n" ${L_NPROC}`
[13559]586        ln -sf ../LONG/OFFP_LONG_${ITRST}_restart_trc_${L_NPROC}.nc .
[3537]587    done
[12428]588    set_namelist namelist_top_cfg ln_trcbc  .false.
589    # put ln_ironsed, ln_hydrofe to false
[3520]590    # if not you need input files, and for tests is not necessary
[4147]591    set_namelist namelist_pisces_cfg ln_varpar .false.
592    set_namelist namelist_pisces_cfg ln_ironsed .false.
[7646]593    set_namelist namelist_pisces_cfg ln_ironice .false.
[4147]594    set_namelist namelist_pisces_cfg ln_hydrofe .false.
[3680]595    # put ln_pisdmp to false : no restoring to global mean value
[4147]596    set_namelist namelist_pisces_cfg ln_pisdmp .false.
[14981]597    set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
598    set_namelist_opt namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
599    set_namelist_opt namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
600    set_xio_using_server iodef.xml ${USING_MPMD}
[3520]601    cd ${SETTE_DIR}
[10755]602    . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME}  ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[3520]603    cd ${SETTE_DIR}
604    . ./fcm_job.sh $NPROC  ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
605
[13568]606fi
607
608if [ ${config} == "ORCA2_OFF_PISCES" ] && [ ${DO_REPRO} == "1" ] ;  then
[9518]609## Reproducibility tests for ORCA2_OFF_PISCES
[7646]610    export TEST_NAME="REPRO_4_8"
[9658]611    cd ${MAIN_DIR}
[3520]612    cd ${SETTE_DIR}
[4252]613    . ./prepare_exe_dir.sh
[10755]614    set_valid_dir
[10698]615    clean_valid_dir
[3520]616    JOB_FILE=${EXE_DIR}/run_job.sh
[7646]617    NPROC=32
[4245]618    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
[3520]619    cd ${EXE_DIR}
[9019]620    set_namelist namelist_cfg cn_exp \"OFFP_48\"
[4147]621    set_namelist namelist_cfg nn_it000 1
[13559]622    set_namelist namelist_cfg nn_itend ${ITEND}
[4147]623    set_namelist namelist_cfg jpni 4
[7646]624    set_namelist namelist_cfg jpnj 8
[10573]625    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
626    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
[9904]627    set_namelist namelist_cfg ln_qsr_rgb .true.
[4147]628    set_namelist namelist_top_cfg ln_trcdta .false.
[12428]629    set_namelist namelist_top_cfg ln_trcbc  .false.
630    # put ln_ironsed, ln_hydrofe to false
[3520]631    # if not you need input files, and for tests is not necessary
[4147]632    set_namelist namelist_pisces_cfg ln_varpar .false.
633    set_namelist namelist_pisces_cfg ln_ironsed .false.
[7646]634    set_namelist namelist_pisces_cfg ln_ironice .false.
[4147]635    set_namelist namelist_pisces_cfg ln_hydrofe .false.
[3680]636    # put ln_pisdmp to false : no restoring to global mean value
[4147]637    set_namelist namelist_pisces_cfg ln_pisdmp .false.
[14981]638    set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
639    set_namelist_opt namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
640    set_namelist_opt namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
641    set_xio_using_server iodef.xml ${USING_MPMD}
[3520]642    cd ${SETTE_DIR}
[10755]643    . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[3520]644    cd ${SETTE_DIR}
[3532]645    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
[3520]646
647    cd ${SETTE_DIR}
[7646]648    export TEST_NAME="REPRO_8_4"
[4252]649    . ./prepare_exe_dir.sh
[10755]650    set_valid_dir
[10698]651    clean_valid_dir
[3680]652    JOB_FILE=${EXE_DIR}/run_job.sh
[7646]653    NPROC=32
[4245]654    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
[3520]655    cd ${EXE_DIR}
[9019]656    set_namelist namelist_cfg cn_exp \"OFFP_84\"
[4147]657    set_namelist namelist_cfg nn_it000 1
[13559]658    set_namelist namelist_cfg nn_itend ${ITEND}
[7646]659    set_namelist namelist_cfg jpni 8
660    set_namelist namelist_cfg jpnj 4
[10573]661    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
662    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
[9904]663    set_namelist namelist_cfg ln_qsr_rgb .true.
[4147]664    set_namelist namelist_top_cfg ln_trcdta .false.
[12428]665    set_namelist namelist_top_cfg ln_trcbc  .false.
666    # put ln_ironsed, ln_hydrofe to false
[3520]667    # if not you need input files, and for tests is not necessary
[4147]668    set_namelist namelist_pisces_cfg ln_varpar .false.
669    set_namelist namelist_pisces_cfg ln_ironsed .false.
[7646]670    set_namelist namelist_pisces_cfg ln_ironice .false.
[4147]671    set_namelist namelist_pisces_cfg ln_hydrofe .false.
[3680]672    # put ln_pisdmp to false : no restoring to global mean value
[4147]673    set_namelist namelist_pisces_cfg ln_pisdmp .false.
[14981]674    set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
675    set_namelist_opt namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
676    set_namelist_opt namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
677    set_xio_using_server iodef.xml ${USING_MPMD}
[3520]678    cd ${SETTE_DIR}
[10755]679    . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[3520]680    cd ${SETTE_DIR}
681    . ./fcm_job.sh $NPROC  ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
682fi
683
[9518]684# -----
685# AMM12
686# -----
[14981]687if [ ${config} == "AMM12" ] ;  then
688    SETTE_CONFIG="AMM12"${SETTE_STG}
[13559]689    if [ $( echo ${CMP_NAM} | grep -ic debug ) -eq 1 ]
690    then
691   ITEND=12   # 3 h
692    else
693   ITEND=576  # 4 days
694    fi
695    ITRST=$( printf "%08d" $(( ${ITEND} / 2 )) )
[9658]696    cd ${MAIN_DIR}
[12569]697    #
698    # syncronisation if target directory/file exist (not done by makenemo)
[14981]699    sync_config  AMM12 ${SETTE_CONFIG} 'cfgs'
700    clean_config AMM12 ${SETTE_CONFIG} 'cfgs'
[12569]701    #
[14981]702    . ./makenemo -m ${CMP_NAM} -n ${SETTE_CONFIG} -r AMM12 -j ${CMPL_CORES} add_key "${ADD_KEYS}" del_key "${DEL_KEYS}"
703fi
704if [ ${config} == "AMM12" ] && [ ${DO_RESTART} == "1" ] ;  then
705    ## Restartability tests for AMM12
706    export TEST_NAME="LONG"
[3520]707    cd ${SETTE_DIR}
[4252]708    . ./prepare_exe_dir.sh
[10755]709    set_valid_dir
[10698]710    clean_valid_dir
[3520]711    JOB_FILE=${EXE_DIR}/run_job.sh
712    NPROC=32
[4245]713    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
[3520]714    cd ${EXE_DIR}
[9019]715    set_namelist namelist_cfg cn_exp \"AMM12_LONG\"
[4147]716    set_namelist namelist_cfg nn_it000 1
[13559]717    set_namelist namelist_cfg nn_itend ${ITEND}
718    set_namelist namelist_cfg nn_stock $(( ${ITEND} / 2 ))
[7646]719    set_namelist namelist_cfg jpni 4
720    set_namelist namelist_cfg jpnj 8
[10573]721    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
[14981]722    set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
723    set_namelist_opt namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
724    set_namelist_opt namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
725    set_namelist_opt namelist_cfg ln_tile ${USING_TILING} .true. .false.
726    set_xio_using_server iodef.xml ${USING_MPMD}
[3520]727    cd ${SETTE_DIR}
[10755]728    . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[3520]729
730    cd ${SETTE_DIR}
[3532]731    export TEST_NAME="SHORT"
[4379]732    . ./prepare_exe_dir.sh
[10755]733    set_valid_dir
[10698]734    clean_valid_dir
[3520]735    cd ${EXE_DIR}
[9019]736    set_namelist namelist_cfg cn_exp \"AMM12_SHORT\"
[13559]737    set_namelist namelist_cfg nn_it000 $(( ${ITEND} / 2 + 1 ))
738    set_namelist namelist_cfg nn_itend ${ITEND}
739    set_namelist namelist_cfg nn_stock $(( ${ITEND} / 2 ))
[7646]740    set_namelist namelist_cfg jpni 4
741    set_namelist namelist_cfg jpnj 8
[10573]742    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
[4147]743    set_namelist namelist_cfg ln_rstart .true.
744    set_namelist namelist_cfg nn_rstctl 2
[13559]745    set_namelist namelist_cfg cn_ocerst_in \"AMM12_LONG_${ITRST}_restart\"
[4252]746    set_namelist namelist_cfg nn_date0 20120102
[3537]747    for (( i=1; i<=$NPROC; i++)) ; do
748        L_NPROC=$(( $i - 1 ))
749        L_NPROC=`printf "%04d\n" ${L_NPROC}`
[13559]750        ln -sf ../LONG/AMM12_LONG_${ITRST}_restart_${L_NPROC}.nc .
[3537]751    done
[14981]752    set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
753    set_namelist_opt namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
754    set_namelist_opt namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
755    set_namelist_opt namelist_cfg ln_tile ${USING_TILING} .true. .false.
756    set_xio_using_server iodef.xml ${USING_MPMD}
[3520]757    cd ${SETTE_DIR}
[10755]758    . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[3520]759    cd ${SETTE_DIR}
[3532]760    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
[3520]761
[13568]762fi
763
764if [ ${config} == "AMM12" ] && [ ${DO_REPRO} == "1" ] ;  then
[3680]765## Reproducibility tests for AMM12
766    export TEST_NAME="REPRO_8_4"
[9658]767    cd ${MAIN_DIR}
[3520]768    cd ${SETTE_DIR}
[4252]769    . ./prepare_exe_dir.sh
[10755]770    set_valid_dir
[10698]771    clean_valid_dir
[3520]772    JOB_FILE=${EXE_DIR}/run_job.sh
773    NPROC=32
[4245]774    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
[3520]775    cd ${EXE_DIR}
[9019]776    set_namelist namelist_cfg cn_exp \"AMM12_84\"
[4147]777    set_namelist namelist_cfg nn_it000 1
[13559]778    set_namelist namelist_cfg nn_itend ${ITEND}
[4147]779    set_namelist namelist_cfg jpni 8
780    set_namelist namelist_cfg jpnj 4
[10573]781    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
[14981]782    set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
783    set_namelist_opt namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
784    set_namelist_opt namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
785    set_namelist_opt namelist_cfg ln_tile ${USING_TILING} .true. .false.
786    set_xio_using_server iodef.xml ${USING_MPMD}
[3520]787    cd ${SETTE_DIR}
[10755]788    . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[3520]789    cd ${SETTE_DIR}
790    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
791
792    cd ${SETTE_DIR}
[3680]793    export TEST_NAME="REPRO_4_8"
[4252]794    . ./prepare_exe_dir.sh
[10755]795    set_valid_dir
[10698]796    clean_valid_dir
[5478]797    JOB_FILE=${EXE_DIR}/run_job.sh
798    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
[3520]799    cd ${EXE_DIR}
[9019]800    set_namelist namelist_cfg cn_exp \"AMM12_48\"
[4147]801    set_namelist namelist_cfg nn_it000 1
[13559]802    set_namelist namelist_cfg nn_itend ${ITEND}
[4147]803    set_namelist namelist_cfg jpni 4
804    set_namelist namelist_cfg jpnj 8
[10573]805    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
[14981]806    set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
807    set_namelist_opt namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
808    set_namelist_opt namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
809    set_namelist_opt namelist_cfg ln_tile ${USING_TILING} .true. .false.
810    set_xio_using_server iodef.xml ${USING_MPMD}
[3520]811    cd ${SETTE_DIR}
[10755]812    . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[3520]813    cd ${SETTE_DIR}
[3532]814    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
[3520]815fi
816
817
[9518]818# ---------
[14981]819# ORCA2_SAS_ICE
[9518]820# ---------
[14981]821if [ ${config} == "SAS" ] ;  then
822    SETTE_CONFIG="ORCA2_SAS_ICE"${SETTE_STG}
[13559]823    if [ $( echo ${CMP_NAM} | grep -ic debug ) -eq 1 ]
824    then
825   ITEND=16   # 1 day
826    else
827   ITEND=256  # 16 days
828    fi
829    ITRST=$( printf "%08d" $(( ${ITEND} / 2 )) )
[9658]830    cd ${MAIN_DIR}
[12569]831    #
832    # syncronisation if target directory/file exist (not done by makenemo)
[14981]833    sync_config  ORCA2_SAS_ICE ${SETTE_CONFIG} 'cfgs'
834    clean_config ORCA2_SAS_ICE ${SETTE_CONFIG} 'cfgs'
[12569]835    #
[14981]836    # ORCA2_SAS_ICE uses linssh so remove key_qco if added by default
837    . ./makenemo -m ${CMP_NAM} -n ${SETTE_CONFIG} -r ORCA2_SAS_ICE -j ${CMPL_CORES} add_key "${ADD_KEYS/key_qco/}" del_key "${DEL_KEYS}"
838fi
839if [ ${config} == "SAS" ] && [ ${DO_RESTART} == "1" ] ;  then
840## Restartability tests
841    export TEST_NAME="LONG"
[4147]842    cd ${SETTE_DIR}
[4252]843    . ./prepare_exe_dir.sh
[10755]844    set_valid_dir
[10698]845    clean_valid_dir
[4147]846    JOB_FILE=${EXE_DIR}/run_job.sh
847    NPROC=32
[7646]848    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
[4147]849    cd ${EXE_DIR}
850    set_namelist namelist_cfg cn_exp \"SAS\"
851    set_namelist namelist_cfg nn_it000 1
[13559]852    set_namelist namelist_cfg nn_itend ${ITEND}
853    set_namelist namelist_cfg nn_stock $(( ${ITEND} / 2 ))
[7646]854    set_namelist namelist_cfg jpni 4
855    set_namelist namelist_cfg jpnj 8
[10573]856    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
[9019]857    set_namelist namelist_ice_cfg ln_icediachk .true.
[14981]858    set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
859    set_namelist_opt namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
860    set_namelist_opt namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
861    set_namelist_opt namelist_cfg ln_tile ${USING_TILING} .true. .false.
862    set_xio_using_server iodef.xml ${USING_MPMD}
[4147]863    cd ${SETTE_DIR}
[10755]864    . ./prepare_job.sh input_SAS.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[4147]865
866    cd ${SETTE_DIR}
867    export TEST_NAME="SHORT"
[4252]868    . ./prepare_exe_dir.sh
[10755]869    set_valid_dir
[10698]870    clean_valid_dir
[4147]871    cd ${EXE_DIR}
872    set_namelist namelist_cfg cn_exp \"SAS\"
[13559]873    set_namelist namelist_cfg nn_it000 $(( ${ITEND} / 2 + 1 ))
874    set_namelist namelist_cfg nn_itend ${ITEND}
875    set_namelist namelist_cfg nn_stock $(( ${ITEND} / 2 ))
[7646]876    set_namelist namelist_cfg jpni 4
877    set_namelist namelist_cfg jpnj 8
[10573]878    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
[7646]879    set_namelist namelist_cfg ln_rstart .true.
[4147]880    set_namelist namelist_cfg nn_rstctl 2
[9019]881    set_namelist namelist_cfg nn_date0 010109
[13559]882    set_namelist namelist_cfg cn_ocerst_in \"SAS_${ITRST}_restart\"
883    set_namelist namelist_ice_cfg cn_icerst_in \"SAS_${ITRST}_restart_ice\"
[14981]884    set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
885    set_namelist_opt namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
886    set_namelist_opt namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
887    set_namelist_opt namelist_cfg ln_tile ${USING_TILING} .true. .false.
888    set_xio_using_server iodef.xml ${USING_MPMD}
[7646]889    for (( i=1; i<=$NPROC; i++)) ; do
890        L_NPROC=$(( $i - 1 ))
891        L_NPROC=`printf "%04d\n" ${L_NPROC}`
[13559]892        ln -sf ../LONG/SAS_${ITRST}_restart_${L_NPROC}.nc .
893        ln -sf ../LONG/SAS_${ITRST}_restart_ice_${L_NPROC}.nc .
[7646]894    done
[4147]895    cd ${SETTE_DIR}
[10755]896    . ./prepare_job.sh input_SAS.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[4147]897    cd ${SETTE_DIR}
898    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
899
[13568]900fi
901
902if [ ${config} == "SAS" ] && [ ${DO_REPRO} == "1" ] ;  then
[9518]903## Reproducibility tests
[13559]904    if [ $( echo ${CMP_NAM} | grep -ic debug ) -eq 1 ]
905    then
906   ITEND=16  # 1 day
907    else
908   ITEND=80  # 5 days
909    fi
[9518]910    export TEST_NAME="REPRO_4_8"
[9658]911    cd ${MAIN_DIR}
[4990]912    cd ${SETTE_DIR}
913    . ./prepare_exe_dir.sh
[10755]914    set_valid_dir
[10698]915    clean_valid_dir
[4990]916    JOB_FILE=${EXE_DIR}/run_job.sh
[9518]917    NPROC=32
[4990]918    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
919    cd ${EXE_DIR}
[9518]920    set_namelist namelist_cfg cn_exp \"SAS_48\"
[4990]921    set_namelist namelist_cfg nn_it000 1
[13559]922    set_namelist namelist_cfg nn_itend ${ITEND}
[9518]923    set_namelist namelist_cfg jpni 4
924    set_namelist namelist_cfg jpnj 8
[10573]925    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
[14981]926    set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
927    set_namelist_opt namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
928    set_namelist_opt namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
929    set_namelist_opt namelist_cfg ln_tile ${USING_TILING} .true. .false.
930    set_xio_using_server iodef.xml ${USING_MPMD}
[4990]931    cd ${SETTE_DIR}
[10755]932    . ./prepare_job.sh input_SAS.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[4990]933    cd ${SETTE_DIR}
934    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
[9019]935
[4990]936    cd ${SETTE_DIR}
[7646]937    export TEST_NAME="REPRO_8_4"
[4990]938    . ./prepare_exe_dir.sh
[10755]939    set_valid_dir
[10698]940    clean_valid_dir
[4990]941    JOB_FILE=${EXE_DIR}/run_job.sh
[7646]942    NPROC=32
[4990]943    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
944    cd ${EXE_DIR}
[9518]945    set_namelist namelist_cfg cn_exp \"SAS_84\"
[4990]946    set_namelist namelist_cfg nn_it000 1
[13559]947    set_namelist namelist_cfg nn_itend ${ITEND}
[7646]948    set_namelist namelist_cfg jpni 8
949    set_namelist namelist_cfg jpnj 4
[10573]950    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
[14981]951    set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
952    set_namelist_opt namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
953    set_namelist_opt namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
954    set_namelist_opt namelist_cfg ln_tile ${USING_TILING} .true. .false.
955    set_xio_using_server iodef.xml ${USING_MPMD}
[4990]956    cd ${SETTE_DIR}
[10755]957    . ./prepare_job.sh input_SAS.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[4990]958    cd ${SETTE_DIR}
959    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
960
961fi
962
[9518]963
964# --------------
[9663]965# ORCA2_ICE_OBS
[9518]966# --------------
[4990]967## Test assimilation interface code, OBS and ASM for reproducibility
968## Restartability not tested (ASM code not restartable while increments are being applied)
[14981]969if [ ${config} == "ORCA2_ICE_OBS" ] ;  then
970    SETTE_CONFIG="ORCA2_ICE_OBS"${SETTE_STG}
[9518]971## Reproducibility tests
[13559]972    if [ $( echo ${CMP_NAM} | grep -ic debug ) -eq 1 ]
973    then
974   ITEND=16  # 1 day
975    else
976   ITEND=80  # 5 days
977    fi
[9658]978    cd ${MAIN_DIR}
[12569]979    #
980    # syncronisation if target directory/file exist (not done by makenemo)
[14981]981    sync_config  ORCA2_ICE_PISCES ${SETTE_CONFIG} 'cfgs'
982    clean_config ORCA2_ICE_PISCES ${SETTE_CONFIG} 'cfgs'
[12569]983    #
[14981]984    . ./makenemo -m ${CMP_NAM} -n ${SETTE_CONFIG} -r ORCA2_ICE_PISCES -d "OCE ICE"  -j ${CMPL_CORES} add_key "key_asminc ${ADD_KEYS}" del_key "key_top ${DEL_KEYS}"
985fi
986if [ ${config} == "ORCA2_ICE_OBS" ] && [ ${DO_RESTART} == "1" ] ;  then
987## Reproducibility tests
988    export TEST_NAME="REPRO_4_8"
[4990]989    cd ${SETTE_DIR}
990    . ./prepare_exe_dir.sh
[10755]991    set_valid_dir
[10698]992    clean_valid_dir
[4990]993    JOB_FILE=${EXE_DIR}/run_job.sh
[7646]994    NPROC=32
[4990]995    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
996    cd ${EXE_DIR}
[9019]997    set_namelist namelist_cfg cn_exp \"O2L3OBS_48\"
[4990]998    set_namelist namelist_cfg nn_it000 1
[13559]999    set_namelist namelist_cfg nn_itend ${ITEND}
[7646]1000    set_namelist namelist_cfg ln_read_cfg .true.
[4990]1001    set_namelist namelist_cfg jpni 4
[7646]1002    set_namelist namelist_cfg jpnj 8
[10573]1003    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
1004    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
[6140]1005    set_namelist namelist_cfg ln_diaobs .true.
[4990]1006    set_namelist namelist_cfg ln_t3d .true.
1007    set_namelist namelist_cfg ln_s3d .true.
1008    set_namelist namelist_cfg ln_sst .true.
1009    set_namelist namelist_cfg ln_sla .true.
[6140]1010    set_namelist namelist_cfg ln_sic .true.
1011    set_namelist namelist_cfg ln_vel3d .true.
[4990]1012    set_namelist namelist_cfg ln_bkgwri .true.
1013    set_namelist namelist_cfg ln_trainc .true.
1014    set_namelist namelist_cfg ln_dyninc .true.
1015    set_namelist namelist_cfg ln_sshinc .true.
1016    set_namelist namelist_cfg ln_asmiau .true.
[9663]1017    #remove all useless options for pisces (due to ORCA2_ICE_PISCES reference configuration)
[7722]1018    set_namelist namelist_top_cfg ln_trcdta .false.
[12428]1019    set_namelist namelist_top_cfg ln_trcbc  .false.
[7722]1020    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
1021    # if not you need input files, and for tests is not necessary
1022    set_namelist namelist_pisces_cfg ln_varpar .false.
1023    set_namelist namelist_pisces_cfg ln_ironsed .false.
1024    set_namelist namelist_pisces_cfg ln_ironice .false.
1025    set_namelist namelist_pisces_cfg ln_hydrofe .false.
[14981]1026    set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
1027    set_namelist_opt namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
1028    set_namelist_opt namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
[15159]1029    set_namelist_opt namelist_cfg ln_nnogather ${USING_NOGATHER} .true. .false.
[14981]1030    set_namelist_opt namelist_cfg ln_tile ${USING_TILING} .true. .false.
1031    set_xio_using_server iodef.xml ${USING_MPMD}
[4990]1032    cd ${SETTE_DIR}
[10755]1033    . ./prepare_job.sh input_ORCA2_ICE_OBS.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[4990]1034    cd ${SETTE_DIR}
1035    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1036
1037   cd ${SETTE_DIR}
[7646]1038    export TEST_NAME="REPRO_8_4"
[4990]1039    . ./prepare_exe_dir.sh
[10755]1040    set_valid_dir
[10698]1041    clean_valid_dir
[4990]1042    JOB_FILE=${EXE_DIR}/run_job.sh
[7646]1043    NPROC=32
[4990]1044    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1045    cd ${EXE_DIR}
[9019]1046    set_namelist namelist_cfg cn_exp \"O2L3OBS_84\"
[4990]1047    set_namelist namelist_cfg nn_it000 1
[13559]1048    set_namelist namelist_cfg nn_itend ${ITEND}
[7646]1049    set_namelist namelist_cfg ln_read_cfg .true.
1050    set_namelist namelist_cfg jpni 8
1051    set_namelist namelist_cfg jpnj 4
[10573]1052    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
1053    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
[6140]1054    set_namelist namelist_cfg ln_diaobs .true.
[4990]1055    set_namelist namelist_cfg ln_t3d .true.
1056    set_namelist namelist_cfg ln_s3d .true.
1057    set_namelist namelist_cfg ln_sst .true.
1058    set_namelist namelist_cfg ln_sla .true.
[6140]1059    set_namelist namelist_cfg ln_sic .true.
1060    set_namelist namelist_cfg ln_vel3d .true.
[4990]1061    set_namelist namelist_cfg ln_bkgwri .true.
1062    set_namelist namelist_cfg ln_trainc .true.
1063    set_namelist namelist_cfg ln_dyninc .true.
1064    set_namelist namelist_cfg ln_sshinc .true.
1065    set_namelist namelist_cfg ln_asmiau .true.
[9663]1066    #remove all useless options for pisces (due to ORCA2_ICE_PISCES reference configuration)
[7722]1067    set_namelist namelist_top_cfg ln_trcdta .false.
[12428]1068    set_namelist namelist_top_cfg ln_trcbc  .false.
[7722]1069    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
1070    # if not you need input files, and for tests is not necessary
1071    set_namelist namelist_pisces_cfg ln_varpar .false.
1072    set_namelist namelist_pisces_cfg ln_ironsed .false.
1073    set_namelist namelist_pisces_cfg ln_ironice .false.
1074    set_namelist namelist_pisces_cfg ln_hydrofe .false.
[14981]1075    set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
1076    set_namelist_opt namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
1077    set_namelist_opt namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
[15159]1078    set_namelist_opt namelist_cfg ln_nnogather ${USING_NOGATHER} .true. .false.
[14981]1079    set_namelist_opt namelist_cfg ln_tile ${USING_TILING} .true. .false.
1080    set_xio_using_server iodef.xml ${USING_MPMD}
[4990]1081    cd ${SETTE_DIR}
[10755]1082    . ./prepare_job.sh input_ORCA2_ICE_OBS.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[4990]1083    cd ${SETTE_DIR}
1084    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1085fi
[5589]1086
[9483]1087# ------------
[9663]1088# AGRIF ICE
[9483]1089# -----------
[14981]1090if [ ${config} == "AGRIF" ] ;  then
1091    SETTE_CONFIG="AGRIF_DEMO"${SETTE_STG}
[13559]1092    if [ $( echo ${CMP_NAM} | grep -ic debug ) -eq 1 ]
1093    then
1094   ITEND=4   # 6h
1095    else
1096   ITEND=20  # 1d and 6h
1097    fi
1098    ITRST=$(   printf "%08d" $(( ${ITEND} / 2 )) )
1099    ITRST_1=$( printf "%08d" $(( ${ITEND} / 2 )) )
1100    ITRST_2=$( printf "%08d" $(( ${ITEND} * 4 / 2 )) )
1101    ITRST_3=$( printf "%08d" $(( ${ITEND} * 4 * 3 / 2 )) )
[9658]1102    cd ${MAIN_DIR}
[12569]1103    #
1104    # syncronisation if target directory/file exist (not done by makenemo)
[14981]1105    sync_config  AGRIF_DEMO ${SETTE_CONFIG} 'cfgs'
1106    clean_config AGRIF_DEMO ${SETTE_CONFIG} 'cfgs'
[12569]1107    #
[14981]1108    # AGRIF_DEMO does not yet support nn_hls=2 => key_loop_fusion can not be used
[15030]1109#    . ./makenemo -m ${CMP_NAM} -n ${SETTE_CONFIG} -r AGRIF_DEMO -j ${CMPL_CORES} add_key "${ADD_KEYS/key_loop_fusion}" del_key "${DEL_KEYS}"
1110    . ./makenemo -m ${CMP_NAM} -n ${SETTE_CONFIG} -r AGRIF_DEMO -j ${CMPL_CORES} add_key "${ADD_KEYS}" del_key "${DEL_KEYS}"
[14981]1111fi
1112if [ ${config} == "AGRIF" ] && [ ${DO_RESTART} == "1" ] ;  then
1113## Restartability tests
1114    export TEST_NAME="LONG"
[9483]1115    cd ${SETTE_DIR}
1116    . ./prepare_exe_dir.sh
[10755]1117    set_valid_dir
[10698]1118    clean_valid_dir
[9483]1119    JOB_FILE=${EXE_DIR}/run_job.sh
[9776]1120    NPROC=16
[9483]1121    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1122    cd ${EXE_DIR}
1123    set_namelist namelist_cfg cn_exp \"AGRIF_LONG\"
1124    set_namelist namelist_cfg nn_it000 1
[13559]1125    set_namelist namelist_cfg nn_itend ${ITEND}
1126    set_namelist namelist_cfg nn_stock $(( ${ITEND} / 2 ))
[10573]1127    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
[15030]1128    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
[14981]1129    #set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
[9483]1130    set_namelist 1_namelist_cfg cn_exp \"AGRIF_LONG\"
1131    set_namelist 1_namelist_cfg nn_it000 1
[13559]1132    set_namelist 1_namelist_cfg nn_itend ${ITEND}
1133    set_namelist 1_namelist_cfg nn_stock $(( ${ITEND} / 2 ))
[10573]1134    set_namelist 1_namelist_cfg sn_cfctl%l_runstat .true.
[9483]1135    set_namelist 2_namelist_cfg cn_exp \"AGRIF_LONG\"
1136    set_namelist 2_namelist_cfg nn_it000 1
[13559]1137    set_namelist 2_namelist_cfg nn_itend $(( ${ITEND} * 4 ))
1138    set_namelist 2_namelist_cfg nn_stock $(( ${ITEND} * 4 / 2 ))
[10573]1139    set_namelist 2_namelist_cfg sn_cfctl%l_runstat .true.
[9776]1140    set_namelist 3_namelist_cfg cn_exp \"AGRIF_LONG\"
1141    set_namelist 3_namelist_cfg nn_it000 1
[13559]1142    set_namelist 3_namelist_cfg nn_itend $(( ${ITEND} * 4 * 3 ))
1143    set_namelist 3_namelist_cfg nn_stock $(( ${ITEND} * 4 * 3 / 2 ))
[10573]1144    set_namelist 3_namelist_cfg sn_cfctl%l_runstat .true.
[9507]1145
[15030]1146    set_namelist_opt namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
1147    set_namelist_opt namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
1148    set_namelist_opt namelist_cfg ln_tile ${USING_TILING} .true. .false.
1149    set_namelist_opt 1_namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
1150    set_namelist_opt 1_namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
1151    set_namelist_opt 1_namelist_cfg ln_tile ${USING_TILING} .true. .false.
1152    set_namelist_opt 2_namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
1153    set_namelist_opt 2_namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
1154    set_namelist_opt 2_namelist_cfg ln_tile ${USING_TILING} .true. .false.
1155    set_namelist_opt 3_namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
1156    set_namelist_opt 3_namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
1157    set_namelist_opt 3_namelist_cfg ln_tile ${USING_TILING} .true. .false.
1158
[14981]1159    set_xio_using_server iodef.xml ${USING_MPMD}
[9483]1160    cd ${SETTE_DIR}
[10755]1161    . ./prepare_job.sh input_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[9483]1162   
1163    cd ${SETTE_DIR}
1164    export TEST_NAME="SHORT"
1165    . ./prepare_exe_dir.sh
[10755]1166    set_valid_dir
[10698]1167    clean_valid_dir
[9483]1168    cd ${EXE_DIR}
1169    set_namelist namelist_cfg cn_exp \"AGRIF_SHORT\"
[13559]1170    set_namelist namelist_cfg nn_it000 $(( ${ITEND} / 2 + 1 ))
1171    set_namelist namelist_cfg nn_itend ${ITEND}
1172    set_namelist namelist_cfg nn_stock $(( ${ITEND} / 2 ))
[10573]1173    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
[15030]1174    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
[9483]1175    set_namelist namelist_cfg ln_rstart .true.
1176    set_namelist namelist_cfg nn_rstctl 2
[15030]1177    set_namelist namelist_top_cfg ln_rsttr .true.
1178    set_namelist namelist_top_cfg nn_rsttr 2
[14981]1179    #set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
[9483]1180    set_namelist 1_namelist_cfg cn_exp \"AGRIF_SHORT\"
[13559]1181    set_namelist 1_namelist_cfg nn_it000 $(( ${ITEND} / 2 + 1 ))
1182    set_namelist 1_namelist_cfg nn_itend ${ITEND}
1183    set_namelist 1_namelist_cfg nn_stock $(( ${ITEND} / 2 ))
[10573]1184    set_namelist 1_namelist_cfg sn_cfctl%l_runstat .true.
[9483]1185    set_namelist 1_namelist_cfg ln_rstart .true.
1186    set_namelist 1_namelist_cfg nn_rstctl 2
[15030]1187    set_namelist 1_namelist_top_cfg ln_rsttr .true.
1188    set_namelist 1_namelist_cfg ln_init_chfrpar .false.
1189    set_namelist 1_namelist_top_cfg nn_rsttr 2
[9483]1190    set_namelist 2_namelist_cfg cn_exp \"AGRIF_SHORT\"
[13559]1191    set_namelist 2_namelist_cfg nn_it000 $(( ${ITEND} * 4 / 2 + 1 ))
1192    set_namelist 2_namelist_cfg nn_itend $(( ${ITEND} * 4 ))
1193    set_namelist 2_namelist_cfg nn_stock $(( ${ITEND} * 4 / 2 ))
[10573]1194    set_namelist 2_namelist_cfg sn_cfctl%l_runstat .true.
[9483]1195    set_namelist 2_namelist_cfg ln_rstart .true.
1196    set_namelist 2_namelist_cfg nn_rstctl 2
[15030]1197    set_namelist 2_namelist_cfg ln_init_chfrpar .false.
1198    set_namelist 2_namelist_top_cfg ln_rsttr .true.
1199    set_namelist 2_namelist_top_cfg nn_rsttr 2
[9776]1200    set_namelist 3_namelist_cfg cn_exp \"AGRIF_SHORT\"
[13559]1201    set_namelist 3_namelist_cfg nn_it000 $(( ${ITEND} * 4 * 3 / 2 + 1 ))
1202    set_namelist 3_namelist_cfg nn_itend $(( ${ITEND} * 4 * 3 ))
1203    set_namelist 3_namelist_cfg nn_stock $(( ${ITEND} * 4 * 3 / 2 ))
[10573]1204    set_namelist 3_namelist_cfg sn_cfctl%l_runstat .true.
[9776]1205    set_namelist 3_namelist_cfg ln_rstart .true.
1206    set_namelist 3_namelist_cfg nn_rstctl 2
[15030]1207    set_namelist 3_namelist_cfg ln_init_chfrpar .false.
1208    set_namelist 3_namelist_top_cfg ln_rsttr .true.
1209    set_namelist 3_namelist_top_cfg nn_rsttr 2
[13559]1210    set_namelist namelist_cfg cn_ocerst_in \"AGRIF_LONG_${ITRST}_restart\"
1211    set_namelist namelist_ice_cfg cn_icerst_in \"AGRIF_LONG_${ITRST}_restart_ice\"
[15030]1212    set_namelist namelist_top_cfg cn_trcrst_in \"AGRIF_LONG_${ITRST}_restart_trc\"
[13559]1213    set_namelist 1_namelist_cfg cn_ocerst_in \"AGRIF_LONG_${ITRST_1}_restart\"
1214    set_namelist 1_namelist_ice_cfg cn_icerst_in \"AGRIF_LONG_${ITRST_1}_restart_ice\"
[15030]1215    set_namelist 1_namelist_top_cfg cn_trcrst_in \"AGRIF_LONG_${ITRST_1}_restart_trc\"
[13559]1216    set_namelist 2_namelist_cfg cn_ocerst_in \"AGRIF_LONG_${ITRST_2}_restart\"
1217    set_namelist 2_namelist_ice_cfg cn_icerst_in \"AGRIF_LONG_${ITRST_2}_restart_ice\"
[15030]1218    set_namelist 2_namelist_top_cfg cn_trcrst_in \"AGRIF_LONG_${ITRST_2}_restart_trc\"
[13559]1219    set_namelist 3_namelist_cfg cn_ocerst_in \"AGRIF_LONG_${ITRST_3}_restart\"
1220    set_namelist 3_namelist_ice_cfg cn_icerst_in \"AGRIF_LONG_${ITRST_3}_restart_ice\"
[15030]1221    set_namelist 3_namelist_top_cfg cn_trcrst_in \"AGRIF_LONG_${ITRST_3}_restart_trc\"
1222#
1223    set_namelist_opt namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
1224    set_namelist_opt namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
1225    set_namelist_opt namelist_cfg ln_tile ${USING_TILING} .true. .false.
1226    set_namelist_opt 1_namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
1227    set_namelist_opt 1_namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
1228    set_namelist_opt 1_namelist_cfg ln_tile ${USING_TILING} .true. .false.
1229    set_namelist_opt 2_namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
1230    set_namelist_opt 2_namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
1231    set_namelist_opt 2_namelist_cfg ln_tile ${USING_TILING} .true. .false.
1232    set_namelist_opt 3_namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
1233    set_namelist_opt 3_namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
1234    set_namelist_opt 3_namelist_cfg ln_tile ${USING_TILING} .true. .false.
[9483]1235
1236    for (( i=1; i<=$NPROC; i++)) ; do
1237        L_NPROC=$(( $i - 1 ))
1238        L_NPROC=`printf "%04d\n" ${L_NPROC}`
[13559]1239        ln -sf ../LONG/AGRIF_LONG_${ITRST}_restart_${L_NPROC}.nc .
1240        ln -sf ../LONG/AGRIF_LONG_${ITRST}_restart_ice_${L_NPROC}.nc .
[15030]1241        ln -sf ../LONG/AGRIF_LONG_${ITRST}_restart_trc_${L_NPROC}.nc .
[13559]1242        ln -sf ../LONG/1_AGRIF_LONG_${ITRST_1}_restart_${L_NPROC}.nc .
1243        ln -sf ../LONG/1_AGRIF_LONG_${ITRST_1}_restart_ice_${L_NPROC}.nc .
[15030]1244        ln -sf ../LONG/1_AGRIF_LONG_${ITRST_1}_restart_trc_${L_NPROC}.nc .
[13559]1245        ln -sf ../LONG/2_AGRIF_LONG_${ITRST_2}_restart_${L_NPROC}.nc .
1246        ln -sf ../LONG/2_AGRIF_LONG_${ITRST_2}_restart_ice_${L_NPROC}.nc .
[15030]1247        ln -sf ../LONG/2_AGRIF_LONG_${ITRST_2}_restart_trc_${L_NPROC}.nc .
[13559]1248        ln -sf ../LONG/3_AGRIF_LONG_${ITRST_3}_restart_${L_NPROC}.nc .
1249        ln -sf ../LONG/3_AGRIF_LONG_${ITRST_3}_restart_ice_${L_NPROC}.nc .
[15030]1250        ln -sf ../LONG/3_AGRIF_LONG_${ITRST_3}_restart_trc_${L_NPROC}.nc .
[9483]1251    done
[14981]1252    set_xio_using_server iodef.xml ${USING_MPMD}
[9483]1253    cd ${SETTE_DIR}
[10755]1254    . ./prepare_job.sh input_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[9483]1255    cd ${SETTE_DIR}
1256    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1257
[13568]1258fi
1259
1260if [ ${config} == "AGRIF" ] && [ ${DO_REPRO} == "1" ] ;  then
[9518]1261## Reproducibility tests
[11800]1262    export TEST_NAME="REPRO_2_8"
[9658]1263    cd ${MAIN_DIR}
[9483]1264    cd ${SETTE_DIR}
1265    . ./prepare_exe_dir.sh
[10755]1266    set_valid_dir
[10698]1267    clean_valid_dir
[9483]1268    JOB_FILE=${EXE_DIR}/run_job.sh
[11800]1269    NPROC=16
[9483]1270    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1271    cd ${EXE_DIR}
[11800]1272    set_namelist namelist_cfg cn_exp \"AGRIF_28\"
[9483]1273    set_namelist namelist_cfg nn_it000 1
[13559]1274    set_namelist namelist_cfg nn_itend ${ITEND}
[11800]1275    set_namelist namelist_cfg jpni 2
[9483]1276    set_namelist namelist_cfg jpnj 8
[10573]1277    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
[15030]1278    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
1279    set_namelist_opt namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
1280    set_namelist_opt namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
1281    set_namelist_opt namelist_cfg ln_tile ${USING_TILING} .true. .false.
[14981]1282    #set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
[11800]1283    set_namelist 1_namelist_cfg cn_exp \"AGRIF_28\"
[9483]1284    set_namelist 1_namelist_cfg nn_it000 1
[13559]1285    set_namelist 1_namelist_cfg nn_itend ${ITEND}
[11800]1286    set_namelist 1_namelist_cfg jpni 2
[9483]1287    set_namelist 1_namelist_cfg jpnj 8
[10573]1288    set_namelist 1_namelist_cfg sn_cfctl%l_runstat .true.
[15030]1289    set_namelist_opt 1_namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
1290    set_namelist_opt 1_namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
1291    set_namelist_opt 1_namelist_cfg ln_tile ${USING_TILING} .true. .false.
[11800]1292    set_namelist 2_namelist_cfg cn_exp \"AGRIF_28\"
[9483]1293    set_namelist 2_namelist_cfg nn_it000 1
[13559]1294    set_namelist 2_namelist_cfg nn_itend $(( ${ITEND} * 4 ))
[11800]1295    set_namelist 2_namelist_cfg jpni 2
[9483]1296    set_namelist 2_namelist_cfg jpnj 8
[10573]1297    set_namelist 2_namelist_cfg sn_cfctl%l_runstat .true.
[15030]1298    set_namelist_opt 2_namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
1299    set_namelist_opt 2_namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
1300    set_namelist_opt 2_namelist_cfg ln_tile ${USING_TILING} .true. .false.
[11800]1301    set_namelist 3_namelist_cfg cn_exp \"AGRIF_28\"
[9776]1302    set_namelist 3_namelist_cfg nn_it000 1
[13559]1303    set_namelist 3_namelist_cfg nn_itend $(( ${ITEND} * 4 * 3 ))
[11800]1304    set_namelist 3_namelist_cfg jpni 2
[9776]1305    set_namelist 3_namelist_cfg jpnj 8
[10573]1306    set_namelist 3_namelist_cfg sn_cfctl%l_runstat .true.
[15030]1307    set_namelist_opt 3_namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
1308    set_namelist_opt 3_namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
1309    set_namelist_opt 3_namelist_cfg ln_tile ${USING_TILING} .true. .false.
[9483]1310
[14981]1311    set_xio_using_server iodef.xml ${USING_MPMD}
[9483]1312    cd ${SETTE_DIR}
[10755]1313    . ./prepare_job.sh input_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[9483]1314    cd ${SETTE_DIR}
1315    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1316
1317    cd ${SETTE_DIR}
[11800]1318    export TEST_NAME="REPRO_4_4"
[9483]1319    . ./prepare_exe_dir.sh
[10755]1320    set_valid_dir
[10698]1321    clean_valid_dir
[9483]1322    JOB_FILE=${EXE_DIR}/run_job.sh
[11800]1323    NPROC=16
[9483]1324    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1325    cd ${EXE_DIR}
[11800]1326    set_namelist namelist_cfg cn_exp \"AGRIF_44\"
[9483]1327    set_namelist namelist_cfg nn_it000 1
[13559]1328    set_namelist namelist_cfg nn_itend ${ITEND}
[11800]1329    set_namelist namelist_cfg jpni 4
[9483]1330    set_namelist namelist_cfg jpnj 4
[10573]1331    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
[15030]1332    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
1333    set_namelist_opt namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
1334    set_namelist_opt namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
1335    set_namelist_opt namelist_cfg ln_tile ${USING_TILING} .true. .false.
[14981]1336    #set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
1337    set_xio_using_server iodef.xml ${USING_MPMD}
[11800]1338    set_namelist 1_namelist_cfg cn_exp \"AGRIF_44\"
[9483]1339    set_namelist 1_namelist_cfg nn_it000 1
[13559]1340    set_namelist 1_namelist_cfg nn_itend ${ITEND}
[11800]1341    set_namelist 1_namelist_cfg jpni 4
[9483]1342    set_namelist 1_namelist_cfg jpnj 4
[10573]1343    set_namelist 1_namelist_cfg sn_cfctl%l_runstat .true.
[15030]1344    set_namelist_opt 1_namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
1345    set_namelist_opt 1_namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
1346    set_namelist_opt 1_namelist_cfg ln_tile ${USING_TILING} .true. .false.
[11800]1347    set_namelist 2_namelist_cfg cn_exp \"AGRIF_44\"
[9483]1348    set_namelist 2_namelist_cfg nn_it000 1
[13559]1349    set_namelist 2_namelist_cfg nn_itend $(( ${ITEND} * 4 ))
[11800]1350    set_namelist 2_namelist_cfg jpni 4
[9483]1351    set_namelist 2_namelist_cfg jpnj 4
[10573]1352    set_namelist 2_namelist_cfg sn_cfctl%l_runstat .true.
[15030]1353    set_namelist_opt 2_namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
1354    set_namelist_opt 2_namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
1355    set_namelist_opt 2_namelist_cfg ln_tile ${USING_TILING} .true. .false.
[12428]1356    set_namelist 3_namelist_cfg cn_exp \"AGRIF_44\"
[9776]1357    set_namelist 3_namelist_cfg nn_it000 1
[13559]1358    set_namelist 3_namelist_cfg nn_itend $(( ${ITEND} * 4 * 3 ))
[11800]1359    set_namelist 3_namelist_cfg jpni 4
[9776]1360    set_namelist 3_namelist_cfg jpnj 4
[10573]1361    set_namelist 3_namelist_cfg sn_cfctl%l_runstat .true.
[15030]1362    set_namelist_opt 3_namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
1363    set_namelist_opt 3_namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
1364    set_namelist_opt 3_namelist_cfg ln_tile ${USING_TILING} .true. .false.
[9483]1365
1366    cd ${SETTE_DIR}
[10755]1367    . ./prepare_job.sh input_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[9483]1368    cd ${SETTE_DIR}
1369    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1370
[13568]1371fi
1372
1373if [ ${config} == "AGRIF" ] && [ ${DO_CORRUPT} == "1" ] ;  then
[9507]1374## test code corruption with AGRIF (phase 1) ==> Compile with key_agrif but run with no zoom
[13559]1375    if [ $( echo ${CMP_NAM} | grep -ic debug ) -eq 1 ]
1376    then
1377   ITEND=16   # 1d
1378    else
1379   ITEND=150  # 5d and 9h
1380    fi
[9507]1381    export TEST_NAME="ORCA2"
[9658]1382    cd ${MAIN_DIR}
[9483]1383    cd ${SETTE_DIR}
1384    . ./prepare_exe_dir.sh
[10755]1385    set_valid_dir
[10698]1386    clean_valid_dir
[9483]1387    JOB_FILE=${EXE_DIR}/run_job.sh
1388    NPROC=32
1389    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1390    cd ${EXE_DIR}
[9507]1391    set_namelist namelist_cfg cn_exp \"ORCA2\"
[9483]1392    set_namelist namelist_cfg nn_it000 1
[13559]1393    set_namelist namelist_cfg nn_itend ${ITEND}
[10573]1394    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
[15030]1395    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
[14981]1396    #set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
[15030]1397    set_namelist_opt namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
1398    set_namelist_opt namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
1399    set_namelist_opt namelist_cfg ln_tile ${USING_TILING} .true. .false.
[9507]1400
[9483]1401#   Set the number of fine grids to zero:   
1402    sed -i "1s/.*/0/" ${EXE_DIR}/AGRIF_FixedGrids.in
1403
[14981]1404    set_xio_using_server iodef.xml ${USING_MPMD}
[9483]1405    cd ${SETTE_DIR}
[10755]1406    . ./prepare_job.sh input_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[9483]1407    cd ${SETTE_DIR}
1408    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1409
1410fi
1411
[9525]1412
[9776]1413## test code corruption with AGRIF (phase 2) ==> Compile without key_agrif (to be compared with AGRIF_DEMO_ST/ORCA2)
[13568]1414if [ ${config} == "AGRIF" ] && [ ${DO_CORRUPT} == "1" ] ;  then
[14981]1415    SETTE_CONFIG="AGRIF_DEMO_NOAGRIF"${SETTE_STG}
[9507]1416    export TEST_NAME="ORCA2"
[9658]1417    cd ${MAIN_DIR}
[12569]1418    #
1419    # syncronisation if target directory/file exist (not done by makenemo)
[14981]1420    sync_config  AGRIF_DEMO ${SETTE_CONFIG} 'cfgs'
1421    clean_config AGRIF_DEMO ${SETTE_CONFIG} 'cfgs'
[12569]1422    #
[14981]1423    # AGRIF_DEMO does not yet support nn_hls=2 => key_loop_fusion can not be used
1424    . ./makenemo -m ${CMP_NAM} -n ${SETTE_CONFIG} -r AGRIF_DEMO -j ${CMPL_CORES} add_key "${ADD_KEYS/key_loop_fusion}" del_key "key_agrif ${DEL_KEYS}"
[9483]1425    cd ${SETTE_DIR}
1426    . ./prepare_exe_dir.sh
[10755]1427    set_valid_dir
[10698]1428    clean_valid_dir
[9483]1429    JOB_FILE=${EXE_DIR}/run_job.sh
1430    NPROC=32
1431    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1432    cd ${EXE_DIR}
[9507]1433    set_namelist namelist_cfg cn_exp \"ORCA2\"
[9483]1434    set_namelist namelist_cfg nn_it000 1
[13559]1435    set_namelist namelist_cfg nn_itend ${ITEND}
[10573]1436    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
[15030]1437    set_namelist namelist_cfg sn_cfctl%l_trcstat .true.
[14981]1438    #set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
[15030]1439    set_namelist_opt namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
1440    set_namelist_opt namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
1441    set_namelist_opt namelist_cfg ln_tile ${USING_TILING} .true. .false.
[9483]1442#
[14981]1443    set_xio_using_server iodef.xml ${USING_MPMD}
[9483]1444    cd ${SETTE_DIR}
[10755]1445    . ./prepare_job.sh input_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[9483]1446    cd ${SETTE_DIR}
1447    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1448
1449fi
1450
[9553]1451# -------
[13382]1452# WED025
[9553]1453# -------
[14981]1454if [ ${config} == "WED025" ] ;  then
1455    SETTE_CONFIG="WED025"${SETTE_STG}
[13559]1456    if [ $( echo ${CMP_NAM} | grep -ic debug ) -eq 1 ]
1457    then
1458   ITEND=12   # 4h
1459    else
1460   ITEND=720  # 10 days
1461    fi
1462    ITRST=$( printf "%08d" $(( ${ITEND} / 2 )) )
[9658]1463    cd ${MAIN_DIR}
[12569]1464    #
1465    # syncronisation if target directory/file exist (not done by makenemo)
[14981]1466    sync_config  WED025 ${SETTE_CONFIG} 'cfgs'
1467    clean_config WED025 ${SETTE_CONFIG} 'cfgs'
[12569]1468    #
[14981]1469    # WED025 uses ln_hpg_isf so remove key_qco if added by default
1470    . ./makenemo -m ${CMP_NAM} -n ${SETTE_CONFIG} -r WED025 -j ${CMPL_CORES} add_key "${ADD_KEYS/key_qco/}" del_key "${DEL_KEYS}"
1471fi
1472if [ ${config} == "WED025" ] && [ ${DO_RESTART} == "1" ] ;  then
1473## Restartability tests
1474    export TEST_NAME="LONG"
[9553]1475    cd ${SETTE_DIR}
1476    . ./prepare_exe_dir.sh
[10755]1477    set_valid_dir
[10698]1478    clean_valid_dir
[9553]1479    JOB_FILE=${EXE_DIR}/run_job.sh
1480    NPROC=32
1481    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1482    cd ${EXE_DIR}
[13382]1483    set_namelist namelist_cfg cn_exp \"WED025_LONG\"
[9553]1484    set_namelist namelist_cfg nn_it000 1
[13559]1485    set_namelist namelist_cfg nn_itend ${ITEND}
1486    set_namelist namelist_cfg nn_stock $(( ${ITEND} / 2 ))
[13382]1487    set_namelist namelist_cfg nn_date0 20000115
[9553]1488    set_namelist namelist_cfg jpni 4
1489    set_namelist namelist_cfg jpnj 8
[10573]1490    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
[9744]1491    #set_namelist namelist_ice_cfg ln_icediachk .true.
[14981]1492    set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
1493    set_namelist_opt namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
1494    set_namelist_opt namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
1495    set_namelist_opt namelist_cfg ln_tile ${USING_TILING} .true. .false.
1496    set_xio_using_server iodef.xml ${USING_MPMD}
[9553]1497    cd ${SETTE_DIR}
[13382]1498    . ./prepare_job.sh input_WED025.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[9553]1499   
1500    cd ${SETTE_DIR}
1501    export TEST_NAME="SHORT"
1502    . ./prepare_exe_dir.sh
[10755]1503    set_valid_dir
[10698]1504    clean_valid_dir
[9553]1505    cd ${EXE_DIR}
[13382]1506    set_namelist namelist_cfg cn_exp \"WED025_SHORT\"
[13559]1507    set_namelist namelist_cfg nn_it000 $(( ${ITEND} / 2 + 1 ))
1508    set_namelist namelist_cfg nn_itend ${ITEND}
1509    set_namelist namelist_cfg nn_stock $(( ${ITEND} / 2 ))
[9553]1510    set_namelist namelist_cfg ln_rstart .true.
1511    set_namelist namelist_cfg nn_rstctl 2
1512    set_namelist namelist_cfg jpni 4
1513    set_namelist namelist_cfg jpnj 8
[10573]1514    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
[13559]1515    set_namelist namelist_cfg cn_ocerst_in \"WED025_LONG_${ITRST}_restart\"
1516    set_namelist namelist_ice_cfg cn_icerst_in \"WED025_LONG_${ITRST}_restart_ice\"
[9553]1517    for (( i=1; i<=$NPROC; i++)) ; do
1518        L_NPROC=$(( $i - 1 ))
1519        L_NPROC=`printf "%04d\n" ${L_NPROC}`
[13559]1520        ln -sf ../LONG/WED025_LONG_${ITRST}_restart_${L_NPROC}.nc .
1521        ln -sf ../LONG/WED025_LONG_${ITRST}_restart_ice_${L_NPROC}.nc .
[9553]1522    done
[14981]1523    set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
1524    set_namelist_opt namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
1525    set_namelist_opt namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
1526    set_namelist_opt namelist_cfg ln_tile ${USING_TILING} .true. .false.
1527    set_xio_using_server iodef.xml ${USING_MPMD}
[9553]1528    cd ${SETTE_DIR}
[13382]1529    . ./prepare_job.sh input_WED025.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[9553]1530    cd ${SETTE_DIR}
1531    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1532
[13568]1533fi
1534
1535if [ ${config} == "WED025" ] && [ ${DO_REPRO} == "1" ] ;  then
[9553]1536## Reproducibility tests
[13382]1537    export TEST_NAME="REPRO_5_6"
[9658]1538    cd ${MAIN_DIR}
[9553]1539    cd ${SETTE_DIR}
1540    . ./prepare_exe_dir.sh
[10755]1541    set_valid_dir
[10698]1542    clean_valid_dir
[9553]1543    JOB_FILE=${EXE_DIR}/run_job.sh
1544    NPROC=32
1545    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1546    cd ${EXE_DIR}
[13382]1547    set_namelist namelist_cfg cn_exp \"WED025_56\"
[9553]1548    set_namelist namelist_cfg nn_it000 1
[13559]1549    set_namelist namelist_cfg nn_itend ${ITEND}
[13382]1550    set_namelist namelist_cfg nn_date0 20000115
1551    set_namelist namelist_cfg jpni 6
1552    set_namelist namelist_cfg jpnj 7
[10573]1553    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
[14981]1554    set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
1555    set_namelist_opt namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
1556    set_namelist_opt namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
1557    set_namelist_opt namelist_cfg ln_tile ${USING_TILING} .true. .false.
1558    set_xio_using_server iodef.xml ${USING_MPMD}
[9553]1559    cd ${SETTE_DIR}
[13382]1560    . ./prepare_job.sh input_WED025.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[9553]1561    cd ${SETTE_DIR}
1562    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1563
1564    cd ${SETTE_DIR}
1565    export TEST_NAME="REPRO_8_4"
1566    . ./prepare_exe_dir.sh
[10755]1567    set_valid_dir
[10698]1568    clean_valid_dir
[9553]1569    JOB_FILE=${EXE_DIR}/run_job.sh
1570    NPROC=32
1571    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi
1572    cd ${EXE_DIR}
[13382]1573    set_namelist namelist_cfg cn_exp \"WED025_84\"
[9553]1574    set_namelist namelist_cfg nn_it000 1
[13559]1575    set_namelist namelist_cfg nn_itend ${ITEND}
[13382]1576    set_namelist namelist_cfg nn_date0 20000115
[9553]1577    set_namelist namelist_cfg jpni 8
1578    set_namelist namelist_cfg jpnj 4
[10573]1579    set_namelist namelist_cfg sn_cfctl%l_runstat .true.
[14981]1580    set_namelist_opt namelist_cfg ln_timing ${USING_TIMING} .true. .false.
1581    set_namelist_opt namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
1582    set_namelist_opt namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
1583    set_namelist_opt namelist_cfg ln_tile ${USING_TILING} .true. .false.
1584    set_xio_using_server iodef.xml ${USING_MPMD}
[9553]1585    cd ${SETTE_DIR}
[13382]1586    . ./prepare_job.sh input_WED025.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} ${NEMO_VALID}
[9553]1587    cd ${SETTE_DIR}
1588    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
1589fi
1590
1591
[3520]1592done
[13568]1593#
1594# Return to SETTE_DIR (last fcm_job.sh will have moved to EXE_DIR)
1595cd ${SETTE_DIR}
Note: See TracBrowser for help on using the repository browser.