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.sh in branches/2013/dev_r4028_CNRS_LIM3/NEMOGCM/SETTE – NEMO

source: branches/2013/dev_r4028_CNRS_LIM3/NEMOGCM/SETTE/sette.sh @ 8809

Last change on this file since 8809 was 4332, checked in by clem, 10 years ago

update LIM3 to fix remaining bugs. Now working in global and regional config.

  • Property svn:executable set to *
File size: 25.2 KB
RevLine 
[3520]1#!/bin/bash
[3708]2############################################################
[3520]3# Author : Simona Flavoni for NEMO
4# Contact : sflod@locean-ipsl.upmc.fr
5#
6# sette.sh   : principal script of SET TEsts for NEMO (SETTE)
7# ----------------------------------------------------------------------
8# NEMO/SETTE , NEMO Consortium (2010)
9# Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
10# ----------------------------------------------------------------------
11#
12#############################################################
[3532]13#set -x
[3520]14set -o posix
15#set -u
16#set -e
17#+
18#
19# ================
20# sette.sh
21# ================
22#
23# ----------------------------------------------
24# Set of tests for NEMO
25# ----------------------------------------------
26#
27# SYNOPSIS
28# ========
29#
30# ::
31#
32#  $ ./sette.sh
33#
34# DESCRIPTION
35# ===========
36#
37# Variables to be checked by user:
38#
39# COMPILER : name of compiler as defined in NEMOGCM/ARCH directory
40#
41# BATCH_COMMAND :  name of the command for batch submission
42#
[3680]43# INTERACT_FLAG :  flag to run in interactive mode "yes"
44#                       to run in batch mode "no"
[3520]45#
[3680]46# MPIRUN_FLAG   :  flag to run in parallel (MPI) "yes"
47#                       to run in sequential mode (NB_PROC = 1) "no"
[3520]48#
49# Principal script is sette.sh, that calls
50#
51#  makenemo
52#
53#   creates the exectuable in ${CONFIG_NAME}/BLD/bin/nemo.exe  (and its link opa in ${CONFIG_NAME}/EXP00)
54#
55#  param.cfg : sets and loads following directories:
56#
57#   FORCING_DIR : is the directory for forcing files (tarfile)
58#
59#   INPUT_DIR : is the directory for input files storing
60#
61#   TMPDIR : is the temporary directory (if needed)
62#
63#   NEMO_VALIDATION_DIR : is the validation directory
64#
65#   (NOTE: this file is the same for all configrations to be tested with sette)
66#
67#
68#  all_functions.sh : loads functions used by sette (note: new functions can be added here)
69#
70#   set_namelist : function declared in all_functions that set namelist parameters for tests
71#
72#   post_test_tidyup : creates validation storage directory and copy needed output files (solver.stat and ocean.output) in it after execution of test.
73#
74#   Tree of VALIDATION is:
75#
76#   NEMO_VALIDATION_DIR/WCONFIG_NAME/WCOMPILER_NAME/TEST_NAME/REVISION_NUMBER(or DATE)
77#
78#
79#  prepare_exe_dir.sh : defines and creates directory where the test is executed
80#
81#       execution directory takes name of TEST_NAME defined in every test in sette.sh
82#
83#       ( each test in executed in its own directory )
84#
85#
[3680]86#  prepare_job.sh
87#
88#  to generate the script run_job.sh
89#
[3520]90#  fcm_job.sh
91#
[3680]92#   run in batch (INTERACT_FLAG="no") or interactive (INTERACT_FLAG="yes") see sette.sh and BATCH_TEMPLATE directory
[3520]93#
94#   (note this job needs to have an input_CONFIG.cfg in which can be found input tar file)
95#
96#  NOTE: if job is not launched for some problems you have executable ready in ${EXE_DIR} directory
97#
98#  NOTE: the changed namelists are leaved in ${EXE_DIR} directory whereas original namelist remains in ${NEW_CONF}/EXP00
99#
100#  in ${SETTE_DIR} is created output.sette with the echo of executed commands
101#
102#  if sette.sh is stopped in output.sette there is written the last command executed by sette.sh
103#
104#  if you run: ./sette.sh 2>&1 | tee out.sette
105#
106#  in ${SETTE_DIR} out.sette is redirected standard error & standard output
107#
108#
109# EXAMPLES
110# ========
111#
112# ::
113#
114#  $ ./sette.sh
115#
116#
117# TODO
118# ====
119#
120# option debug
121#
122# EVOLUTIONS
123# ==========
124#
[3680]125# $Id$
[3520]126#
127#   * creation
128#
129#-
130#
131#-
132# Compiler among those in NEMOGCM/ARCH
[4332]133COMPILER=x3750_ADA
[3667]134export BATCH_COMMAND_PAR="llsubmit"
[3520]135export BATCH_COMMAND_SEQ=$BATCH_COMMAND_PAR
136export INTERACT_FLAG="no"
137export MPIRUN_FLAG="yes"
[3700]138# IF YOU DON'T WANT TO USE XIOS : (this is a list of keys to be delete)
139export KEY_XIOS="key_iomput"
140# IF YOU WANT TO USE XIOS :
141#export KEY_XIOS=""
[3520]142
[3680]143
[3520]144# Directory to run the tests
145SETTE_DIR=$(cd $(dirname "$0"); pwd)
146MAIN_DIR=${SETTE_DIR%/SETTE}
147CONFIG_DIR=${MAIN_DIR}/CONFIG
148TOOLS_DIR=${MAIN_DIR}/TOOLS
149COMPIL_DIR=${TOOLS_DIR}/COMPILE
150
151CMP_NAM=${1:-$COMPILER}
152# Copy job_batch_COMPILER file for specific compiler into job_batch_template
153cd ${SETTE_DIR}
154cp BATCH_TEMPLATE/batch-${COMPILER} job_batch_template || exit
155
[3667]156for config in 1 2 3 4 5 6 7 8 9
[3520]157do
158
[3680]159# TESTS FOR GYRE CONFIGURATION
[3520]160if [ ${config} -eq 1 ] ;  then
[3680]161    ## Restartability tests for GYRE
[3520]162    export TEST_NAME="LONG"
163    cd ${SETTE_DIR}
[3700]164    . ../CONFIG/makenemo -m ${CMP_NAM} -n GYRE_LONG -r GYRE -j 8 add_key "key_mpp_mpi" del_key ${KEY_XIOS}
[3520]165    cd ${SETTE_DIR}
166    . param.cfg
167    . all_functions.sh
168    . prepare_exe_dir.sh
169    JOB_FILE=${EXE_DIR}/run_job.sh
[3532]170    NPROC=4
[3520]171    \rm ${JOB_FILE}
172    cd ${EXE_DIR}
[3680]173    set_namelist namelist cn_exp \"GYRE_LONG\"
[3520]174    set_namelist namelist nn_it000 1
175    set_namelist namelist nn_itend 120
176    set_namelist namelist nn_stock 60
177    set_namelist namelist ln_clobber .true.
178    set_namelist namelist nn_solv 2
[3532]179    set_namelist namelist jpni 2
180    set_namelist namelist jpnj 2
181    set_namelist namelist jpnij 4
[3520]182    cd ${SETTE_DIR}
[3532]183    . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
[3520]184
185    cd ${SETTE_DIR}
186    export TEST_NAME="SHORT"
187    . prepare_exe_dir.sh
188    cd ${EXE_DIR}
[3680]189    set_namelist namelist cn_exp \"GYRE_SHORT\"
[3520]190    set_namelist namelist nn_it000 61
191    set_namelist namelist nn_itend 120
192    set_namelist namelist nn_stock 60
193    set_namelist namelist ln_rstart .true.
194    set_namelist namelist nn_rstctl 2
195    set_namelist namelist ln_clobber .true.
196    set_namelist namelist nn_solv 2
[3532]197    set_namelist namelist jpni 2
198    set_namelist namelist jpnj 2
199    set_namelist namelist jpnij 4
[3680]200    set_namelist namelist cn_ocerst_in \"GYRE_LONG_00000060_restart\"
[3537]201    for (( i=1; i<=$NPROC; i++)) ; do
202        L_NPROC=$(( $i - 1 ))
203        L_NPROC=`printf "%04d\n" ${L_NPROC}`
[3680]204        ln -sf ../LONG/GYRE_LONG_00000060_restart_${L_NPROC}.nc .
[3537]205    done
[3520]206    cd ${SETTE_DIR}
[3532]207    . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
[3520]208    cd ${SETTE_DIR}
[3532]209    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
[3520]210fi
211
212if [ ${config} -eq 2 ] ;  then
[3680]213    ## Reproducibility tests for GYRE
[3520]214    export TEST_NAME="REPRO_1_4"
215    cd ${SETTE_DIR}
[3700]216    . ../CONFIG/makenemo -m ${CMP_NAM} -n GYRE_4 -r GYRE -j 8 add_key "key_mpp_mpi key_mpp_rep" del_key ${KEY_XIOS}
[3520]217    cd ${SETTE_DIR}
218    . param.cfg
219    . all_functions.sh
220    . prepare_exe_dir.sh
221    JOB_FILE=${EXE_DIR}/run_job.sh
222    NPROC=4
[3532]223    \rm ${JOB_FILE}
[3520]224    cd ${EXE_DIR}
[3680]225    set_namelist namelist cn_exp \"GYRE_14\"
[3520]226    set_namelist namelist nn_it000 1
227    set_namelist namelist nn_itend 60
228    set_namelist namelist nn_fwb 0
229    set_namelist namelist nn_bench 0
230    set_namelist namelist ln_ctl .false.
231    set_namelist namelist ln_clobber .true.
232    set_namelist namelist nn_solv 2
233    set_namelist namelist jpni 1
234    set_namelist namelist jpnj 4
235    set_namelist namelist jpnij 4
236    cd ${SETTE_DIR}
237    . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
238    cd ${SETTE_DIR}
239    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
240
241    cd ${SETTE_DIR}
242    export TEST_NAME="REPRO_2_2"
243    . prepare_exe_dir.sh
[3680]244    JOB_FILE=${EXE_DIR}/run_job.sh
245    NPROC=4
246    \rm $JOB_FILE
[3520]247    cd ${EXE_DIR}
[3680]248    set_namelist namelist cn_exp \"GYRE_22\"
[3520]249    set_namelist namelist nn_it000 1
250    set_namelist namelist nn_itend 60
251    set_namelist namelist nn_fwb 0
252    set_namelist namelist ln_ctl .false.
253    set_namelist namelist ln_clobber .true.
254    set_namelist namelist nn_solv 2
255    set_namelist namelist jpni 2
256    set_namelist namelist jpnj 2
257    set_namelist namelist jpnij 4
258    cd ${SETTE_DIR}
259    . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
260    cd ${SETTE_DIR}
261    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
[3532]262
[3520]263fi
264
265# TESTS FOR ORCA2_LIM_PISCES CONFIGURATION
266if [ ${config} -eq 3 ] ;  then
267    ## Restartability tests for ORCA2_LIM_PISCES
268    export TEST_NAME="LONG"
269    cd ${SETTE_DIR}
[3700]270    . ../CONFIG/makenemo -m ${CMP_NAM} -n ORCA2LIMPIS_LONG -r ORCA2_LIM_PISCES -j 8 add_key "key_mpp_mpi" del_key ${KEY_XIOS}
[3520]271    cd ${SETTE_DIR}
272    . param.cfg
273    . all_functions.sh
274    . prepare_exe_dir.sh
275    JOB_FILE=${EXE_DIR}/run_job.sh
[3532]276    NPROC=4
277    \rm ${JOB_FILE}
[3520]278    cd ${EXE_DIR}
279    set_namelist namelist cn_exp \"O2LP_LONG\"
280    set_namelist namelist nn_it000 1
281    set_namelist namelist nn_itend 150
282    set_namelist namelist nn_stock 75
283    set_namelist namelist ln_clobber .true.
[3532]284    set_namelist namelist jpni 2
285    set_namelist namelist jpnj 2
286    set_namelist namelist jpnij 4
[3520]287    set_namelist namelist nn_solv 2
288    set_namelist namelist_top ln_trcdta .false.
289    set_namelist namelist_top ln_diatrc .false.
290    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
291    # if not you need input files, and for tests is not necessary
[3680]292    set_namelist namelist_pisces ln_presatm .false.
293    set_namelist namelist_pisces ln_varpar .false.
294    set_namelist namelist_pisces ln_dust .false.
295    set_namelist namelist_pisces ln_solub .false.
[3520]296    set_namelist namelist_pisces ln_river .false.
297    set_namelist namelist_pisces ln_ndepo .false.
[3680]298    set_namelist namelist_pisces ln_ironsed .false.
299    set_namelist namelist_pisces ln_hydrofe .false.
[3520]300    cd ${SETTE_DIR}
[3532]301    . ./prepare_job.sh input_ORCA2_LIM_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
302   
303    cd ${SETTE_DIR}
[3520]304    export TEST_NAME="SHORT"
305    . prepare_exe_dir.sh
306    cd ${EXE_DIR}
307    set_namelist namelist cn_exp \"O2LP_SHORT\"
308    set_namelist namelist nn_it000 76
309    set_namelist namelist nn_itend 150
310    set_namelist namelist nn_stock 75
311    set_namelist namelist ln_rstart .true.
312    set_namelist namelist nn_rstctl 2
313    set_namelist namelist ln_clobber .true.
[3532]314    set_namelist namelist jpni 2
315    set_namelist namelist jpnj 2
316    set_namelist namelist jpnij 4
[3520]317    set_namelist namelist nn_solv 2
[3680]318    set_namelist namelist_top ln_diatrc .false.
319    set_namelist namelist_top ln_rsttr .true.
320    set_namelist namelist_top nn_rsttr 2
[3520]321    set_namelist namelist cn_ocerst_in \"O2LP_LONG_00000075_restart\"
322    set_namelist namelist_ice cn_icerst_in \"O2LP_LONG_00000075_restart_ice\"
[3537]323    set_namelist namelist_top cn_trcrst_in \"O2LP_LONG_00000075_restart_trc\"
[3520]324    # put ln_ironsed, ln_river, ln_ndepo, ln_dust
325    # if not you need input files, and for tests is not necessary
[3680]326    set_namelist namelist_pisces ln_presatm .false.
327    set_namelist namelist_pisces ln_varpar .false.
328    set_namelist namelist_pisces ln_dust .false.
329    set_namelist namelist_pisces ln_solub .false.
[3520]330    set_namelist namelist_pisces ln_river .false.
331    set_namelist namelist_pisces ln_ndepo .false.
[3680]332    set_namelist namelist_pisces ln_ironsed .false.
333    set_namelist namelist_pisces ln_hydrofe .false.
334    # put ln_pisdmp to false : no restoring to global mean value
335    set_namelist namelist_pisces ln_pisdmp .false.
[3537]336    for (( i=1; i<=$NPROC; i++)) ; do
337        L_NPROC=$(( $i - 1 ))
338        L_NPROC=`printf "%04d\n" ${L_NPROC}`
[3555]339        ln -sf ../LONG/O2LP_LONG_00000075_restart_${L_NPROC}.nc .
340        ln -sf ../LONG/O2LP_LONG_00000075_restart_trc_${L_NPROC}.nc .
341        ln -sf ../LONG/O2LP_LONG_00000075_restart_ice_${L_NPROC}.nc .
[3537]342    done
[3520]343    cd ${SETTE_DIR}
[3532]344    . ./prepare_job.sh input_ORCA2_LIM_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
[3520]345    cd ${SETTE_DIR}
[3532]346    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
[3520]347fi
348
349if [ ${config} -eq 4 ] ;  then
[3680]350    ## Reproducibility tests for ORCA2_LIM_PISCES
[3520]351    export TEST_NAME="REPRO_4_4"
352    cd ${SETTE_DIR}
[3700]353    . ../CONFIG/makenemo -m ${CMP_NAM} -n ORCA2LIMPIS_16 -r ORCA2_LIM_PISCES -j 8 add_key "key_mpp_mpi key_mpp_rep" del_key ${KEY_XIOS}
[3520]354    cd ${SETTE_DIR}
355    . param.cfg
356    . all_functions.sh
357    . prepare_exe_dir.sh
358    JOB_FILE=${EXE_DIR}/run_job.sh
359    NPROC=16
360    \rm $JOB_FILE
361    cd ${EXE_DIR}
362    set_namelist namelist nn_it000 1
363    set_namelist namelist nn_itend 75
364    set_namelist namelist nn_fwb 0
[3532]365    set_namelist namelist ln_ctl .false.
[3520]366    set_namelist namelist ln_clobber .true.
367    set_namelist namelist jpni 4
368    set_namelist namelist jpnj 4
369    set_namelist namelist jpnij 16
370    set_namelist namelist nn_solv 2
371    set_namelist namelist_top ln_trcdta .false.
372    set_namelist namelist_top ln_diatrc .false.
373    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
374    # if not you need input files, and for tests is not necessary
[3680]375    set_namelist namelist_pisces ln_presatm .false.
376    set_namelist namelist_pisces ln_varpar .false.
377    set_namelist namelist_pisces ln_dust .false.
378    set_namelist namelist_pisces ln_solub .false.
[3520]379    set_namelist namelist_pisces ln_river .false.
380    set_namelist namelist_pisces ln_ndepo .false.
[3680]381    set_namelist namelist_pisces ln_ironsed .false.
382    set_namelist namelist_pisces ln_hydrofe .false.
383    # put ln_pisdmp to false : no restoring to global mean value
384    set_namelist namelist_pisces ln_pisdmp .false.
[3520]385    cd ${SETTE_DIR}
386    . ./prepare_job.sh input_ORCA2_LIM_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
387    cd ${SETTE_DIR}
[3532]388    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
[3520]389
390    cd ${SETTE_DIR}
391    export TEST_NAME="REPRO_2_8"
392    . prepare_exe_dir.sh
[3680]393    JOB_FILE=${EXE_DIR}/run_job.sh
394    NPROC=16
395    \rm $JOB_FILE
[3520]396    cd ${EXE_DIR}
397    set_namelist namelist nn_it000 1
398    set_namelist namelist nn_itend 75
399    set_namelist namelist nn_fwb 0
400    set_namelist namelist ln_clobber .true.
401    set_namelist namelist jpni 2
402    set_namelist namelist jpnj 8
403    set_namelist namelist jpnij 16
404    set_namelist namelist nn_solv 2
405    set_namelist namelist_top ln_trcdta .false.
406    set_namelist namelist_top ln_diatrc .false.
407    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
408    # if not you need input files, and for tests is not necessary
[3680]409    set_namelist namelist_pisces ln_presatm .false.
410    set_namelist namelist_pisces ln_varpar .false.
411    set_namelist namelist_pisces ln_dust .false.
412    set_namelist namelist_pisces ln_solub .false.
[3520]413    set_namelist namelist_pisces ln_river .false.
414    set_namelist namelist_pisces ln_ndepo .false.
[3680]415    set_namelist namelist_pisces ln_ironsed .false.
416    set_namelist namelist_pisces ln_hydrofe .false.
417    # put ln_pisdmp to false : no restoring to global mean value
418    set_namelist namelist_pisces ln_pisdmp .false.
[3520]419    cd ${SETTE_DIR}
420    . ./prepare_job.sh input_ORCA2_LIM_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
421    cd ${SETTE_DIR}
422    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
423fi
424
425# TESTS FOR ORCA2_OFF_PISCES CONFIGURATION
426if [ ${config} -eq 5 ] ;  then
427    ## Restartability tests for ORCA2_OFF_PISCES
428    export TEST_NAME="LONG"
429    cd ${SETTE_DIR}
[3700]430    . ../CONFIG/makenemo -m ${CMP_NAM} -n ORCA2OFFPIS_LONG -r ORCA2_OFF_PISCES -j 8 add_key "key_mpp_mpi key_mpp_rep" del_key ${KEY_XIOS}
[3520]431    cd ${SETTE_DIR}
432    . param.cfg
433    . all_functions.sh
434    . prepare_exe_dir.sh
435    JOB_FILE=${EXE_DIR}/run_job.sh
[3532]436    NPROC=4
[3520]437    \rm $JOB_FILE
438    cd ${EXE_DIR}
439    set_namelist namelist cn_exp \"OFFP_LONG\"
440    set_namelist namelist nn_it000 1
441    set_namelist namelist nn_itend 40
442    set_namelist namelist nn_stock 20
443    set_namelist namelist ln_clobber .true.
[3532]444    set_namelist namelist jpni 2
445    set_namelist namelist jpnj 2
446    set_namelist namelist jpnij 4
[3520]447    set_namelist namelist_top ln_trcdta .false.
448    set_namelist namelist_top ln_diatrc .false.
449    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
450    # if not you need input files, and for tests is not necessary
[3680]451    set_namelist namelist_pisces ln_presatm .false.
452    set_namelist namelist_pisces ln_varpar .false.
453    set_namelist namelist_pisces ln_dust .false.
454    set_namelist namelist_pisces ln_solub .false.
[3520]455    set_namelist namelist_pisces ln_river .false.
456    set_namelist namelist_pisces ln_ndepo .false.
[3680]457    set_namelist namelist_pisces ln_ironsed .false.
458    set_namelist namelist_pisces ln_hydrofe .false.
459    # put ln_pisdmp to false : no restoring to global mean value
460    set_namelist namelist_pisces ln_pisdmp .false.
[3520]461    cd ${SETTE_DIR}
462    . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
463   
464    cd ${SETTE_DIR}
465    export TEST_NAME="SHORT"
466    . prepare_exe_dir.sh
467    cd ${EXE_DIR}
468    set_namelist namelist cn_exp \"OFFP_SHORT\"
469    set_namelist namelist nn_it000 21
470    set_namelist namelist nn_itend 40
471    set_namelist namelist nn_stock 20
472    set_namelist namelist ln_clobber .true.
[3532]473    set_namelist namelist jpni 2
474    set_namelist namelist jpnj 2
475    set_namelist namelist jpnij 4
[3520]476    set_namelist namelist_top ln_diatrc .false.
477    set_namelist namelist_top ln_rsttr .true.
478    set_namelist namelist_top nn_rsttr 2
479    set_namelist namelist_top cn_trcrst_in \"OFFP_LONG_00000020_restart_trc\"
[3537]480    for (( i=1; i<=$NPROC; i++)) ; do
481        L_NPROC=$(( $i - 1 ))
482        L_NPROC=`printf "%04d\n" ${L_NPROC}`
[3555]483        ln -sf ../LONG/OFFP_LONG_00000020_restart_trc_${L_NPROC}.nc .
[3537]484    done
[3520]485    # put ln_ironsed, ln_river, ln_ndepo, ln_dust
486    # if not you need input files, and for tests is not necessary
[3680]487    set_namelist namelist_pisces ln_presatm .false.
488    set_namelist namelist_pisces ln_varpar .false.
489    set_namelist namelist_pisces ln_dust .false.
490    set_namelist namelist_pisces ln_solub .false.
[3520]491    set_namelist namelist_pisces ln_river .false.
492    set_namelist namelist_pisces ln_ndepo .false.
[3680]493    set_namelist namelist_pisces ln_ironsed .false.
494    set_namelist namelist_pisces ln_hydrofe .false.
495    # put ln_pisdmp to false : no restoring to global mean value
496    set_namelist namelist_pisces ln_pisdmp .false.
[3520]497    cd ${SETTE_DIR}
498    . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME}  ${MPIRUN_FLAG} ${JOB_FILE}
499    cd ${SETTE_DIR}
500    . ./fcm_job.sh $NPROC  ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
501fi
502
503if [ ${config} -eq 6 ] ;  then
[3680]504    ## Reproducibility tests for ORCA2_OFF_PISCES
[3520]505    export TEST_NAME="REPRO_4_4"
506    cd ${SETTE_DIR}
[3700]507    . ../CONFIG/makenemo -m ${CMP_NAM} -n ORCA2OFFPIS_16 -r ORCA2_OFF_PISCES -j 8 add_key "key_mpp_mpi key_mpp_rep" del_key ${KEY_XIOS}
[3520]508    cd ${SETTE_DIR}
509    . param.cfg
510    . all_functions.sh
511    . prepare_exe_dir.sh
512    JOB_FILE=${EXE_DIR}/run_job.sh
513    NPROC=16
514    \rm $JOB_FILE
515    cd ${EXE_DIR}
516    set_namelist namelist nn_it000 1
517    set_namelist namelist nn_itend 40
[3532]518    set_namelist namelist ln_ctl .false.
[3520]519    set_namelist namelist ln_clobber .true.
520    set_namelist namelist jpni 4
521    set_namelist namelist jpnj 4
522    set_namelist namelist jpnij 16
523    set_namelist namelist_top ln_trcdta .false.
524    set_namelist namelist_top ln_diatrc .false.
525    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
526    # if not you need input files, and for tests is not necessary
[3680]527    set_namelist namelist_pisces ln_presatm .false.
528    set_namelist namelist_pisces ln_varpar .false.
529    set_namelist namelist_pisces ln_dust .false.
530    set_namelist namelist_pisces ln_solub .false.
[3520]531    set_namelist namelist_pisces ln_river .false.
532    set_namelist namelist_pisces ln_ndepo .false.
[3680]533    set_namelist namelist_pisces ln_ironsed .false.
534    set_namelist namelist_pisces ln_hydrofe .false.
535    # put ln_pisdmp to false : no restoring to global mean value
536    set_namelist namelist_pisces ln_pisdmp .false.
[3520]537    cd ${SETTE_DIR}
538    . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
539    cd ${SETTE_DIR}
[3532]540    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
[3520]541
542    cd ${SETTE_DIR}
543    export TEST_NAME="REPRO_2_8"
544    . prepare_exe_dir.sh
[3680]545    JOB_FILE=${EXE_DIR}/run_job.sh
546    NPROC=16
547    \rm $JOB_FILE
[3520]548    cd ${EXE_DIR}
549    set_namelist namelist nn_it000 1
550    set_namelist namelist nn_itend 40
[3532]551    set_namelist namelist ln_ctl .false.
[3520]552    set_namelist namelist ln_clobber .true.
553    set_namelist namelist jpni 2
554    set_namelist namelist jpnj 8
555    set_namelist namelist jpnij 16
556    set_namelist namelist_top ln_trcdta .false.
557    set_namelist namelist_top ln_diatrc .false.
558    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
559    # if not you need input files, and for tests is not necessary
[3680]560    set_namelist namelist_pisces ln_presatm .false.
561    set_namelist namelist_pisces ln_varpar .false.
562    set_namelist namelist_pisces ln_dust .false.
563    set_namelist namelist_pisces ln_solub .false.
[3520]564    set_namelist namelist_pisces ln_river .false.
565    set_namelist namelist_pisces ln_ndepo .false.
[3680]566    set_namelist namelist_pisces ln_ironsed .false.
567    set_namelist namelist_pisces ln_hydrofe .false.
568    # put ln_pisdmp to false : no restoring to global mean value
569    set_namelist namelist_pisces ln_pisdmp .false.
[3520]570    cd ${SETTE_DIR}
571    . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
572    cd ${SETTE_DIR}
573    . ./fcm_job.sh $NPROC  ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
574fi
575
[3680]576# TESTS FOR AMM12 CONFIGURATION
[3520]577if [ ${config} -eq 7 ] ;  then
[3532]578    ## Restartability tests for AMM12
579    export TEST_NAME="LONG"
[3520]580    cd ${SETTE_DIR}
[3700]581    . ../CONFIG/makenemo -m ${CMP_NAM} -n AMM12_LONG -r AMM12 -j 8 add_key "key_tide" del_key ${KEY_XIOS}
[3520]582    cd ${SETTE_DIR}
583    . param.cfg
584    . all_functions.sh
585    . prepare_exe_dir.sh
586    JOB_FILE=${EXE_DIR}/run_job.sh
587    NPROC=32
588    \rm $JOB_FILE
589    cd ${EXE_DIR}
590    set_namelist namelist nn_it000 1
[3532]591    set_namelist namelist nn_itend 12
592    set_namelist namelist nn_stock 6
[3520]593    set_namelist namelist nn_fwb 0
594    set_namelist namelist ln_ctl .false.
595    set_namelist namelist ln_clobber .true.
596    set_namelist namelist nn_dyn2d 2
597    set_namelist namelist nn_tra_dta 0
[3708]598    set_namelist namelist cn_ocerst_in \"amm12.restart_20070101\"
[3520]599    set_namelist namelist jpni 8
600    set_namelist namelist jpnj 4
601    set_namelist namelist jpnij 32
602    cd ${SETTE_DIR}
603    . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
604
605    cd ${SETTE_DIR}
[3532]606    export TEST_NAME="SHORT"
[3520]607    . prepare_exe_dir.sh
608    cd ${EXE_DIR}
[3532]609    set_namelist namelist nn_it000 7
610    set_namelist namelist nn_itend 12
[3520]611    set_namelist namelist nn_fwb 0
612    set_namelist namelist ln_ctl .false.
[3532]613    set_namelist namelist ln_clobber .true.
[3520]614    set_namelist namelist nn_dyn2d 2
615    set_namelist namelist nn_tra_dta 0
[3532]616    set_namelist namelist jpni 8
617    set_namelist namelist jpnj 4
[3520]618    set_namelist namelist jpnij 32
[3532]619    set_namelist namelist ln_rstart .true.
620    set_namelist namelist nn_rstctl 2
621    set_namelist namelist cn_ocerst_in \"AMM12_00000006_restart\"
[3537]622    for (( i=1; i<=$NPROC; i++)) ; do
623        L_NPROC=$(( $i - 1 ))
624        L_NPROC=`printf "%04d\n" ${L_NPROC}`
[3555]625        ln -sf ../LONG/AMM12_00000006_restart_${L_NPROC}.nc .
[3537]626    done
[3520]627    cd ${SETTE_DIR}
628    . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
629    cd ${SETTE_DIR}
[3532]630    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
[3520]631fi
632
633if [ ${config} -eq 8 ] ;  then
[3680]634## Reproducibility tests for AMM12
635    export TEST_NAME="REPRO_8_4"
[3520]636    cd ${SETTE_DIR}
[3700]637    . ../CONFIG/makenemo -m ${CMP_NAM} -n AMM12_32 -r AMM12 -j 8 add_key "key_mpp_rep key_tide" del_key ${KEY_XIOS}
[3520]638    cd ${SETTE_DIR}
639    . param.cfg
640    . all_functions.sh
641    . prepare_exe_dir.sh
642    JOB_FILE=${EXE_DIR}/run_job.sh
643    NPROC=32
[3532]644    \rm ${JOB_FILE}
[3520]645    cd ${EXE_DIR}
646    set_namelist namelist nn_it000 1
[3532]647    set_namelist namelist nn_itend 576
[3520]648    set_namelist namelist nn_fwb 0
649    set_namelist namelist ln_ctl .false.
650    set_namelist namelist ln_clobber .true.
651    set_namelist namelist nn_dyn2d 2
652    set_namelist namelist nn_tra_dta 0
[3708]653    set_namelist namelist cn_ocerst_in \"amm12.restart_20070101\"
[3520]654    set_namelist namelist jpni 8
655    set_namelist namelist jpnj 4
656    set_namelist namelist jpnij 32
657    cd ${SETTE_DIR}
658    . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
659    cd ${SETTE_DIR}
660    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
661
662    cd ${SETTE_DIR}
[3680]663    export TEST_NAME="REPRO_4_8"
[3520]664    . prepare_exe_dir.sh
665    cd ${EXE_DIR}
[3532]666    set_namelist namelist nn_it000 1
667    set_namelist namelist nn_itend 576
[3520]668    set_namelist namelist nn_fwb 0
669    set_namelist namelist ln_ctl .false.
670    set_namelist namelist nn_dyn2d 2
671    set_namelist namelist nn_tra_dta 0
[3532]672    set_namelist namelist ln_clobber .true.
[3708]673    set_namelist namelist cn_ocerst_in \"amm12.restart_20070101\"
[3532]674    set_namelist namelist jpni 4
675    set_namelist namelist jpnj 8
[3520]676    set_namelist namelist jpnij 32
677    cd ${SETTE_DIR}
678    . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
679    cd ${SETTE_DIR}
[3532]680    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
[3520]681fi
682
683# TEST FOR ORCA2_LIM_AGRIF : simple test of running AGRIF (no restartability neither reproducibility tests)
684if [ ${config} -eq 9 ] ;  then
685    ## ORCA2_LIM with Agulhas AGRIF zoom in MPI
686    export TEST_NAME="SHORT"
687    cd ${SETTE_DIR}
[3700]688    . ../CONFIG/makenemo -m ${CMP_NAM} -n ORCA2AGUL_1_2 -r ORCA2_LIM -j 8 add_key "key_mpp_mpi key_mpp_rep key_agrif" del_key "key_zdftmx" del_key ${KEY_XIOS}
[3520]689    cd ${SETTE_DIR}
690    . param.cfg
691    . all_functions.sh
692    . prepare_exe_dir.sh
693    JOB_FILE=${EXE_DIR}/run_job.sh
694    NPROC=2
[3532]695    \rm ${JOB_FILE}
[3520]696    cd ${EXE_DIR}
697    set_namelist namelist nn_it000 1
698    set_namelist namelist nn_itend 75
699    set_namelist namelist ln_ctl .false.
700    set_namelist namelist ln_clobber .true.
701    set_namelist namelist jpni 1
702    set_namelist namelist jpnj 2
703    set_namelist namelist jpnij 2
704    set_namelist 1_namelist nn_it000 1
705    set_namelist 1_namelist nn_itend 150
706    set_namelist 1_namelist ln_ctl .false.
707    set_namelist 1_namelist ln_clobber .true.
708    cd ${SETTE_DIR}
709    . ./prepare_job.sh input_ORCA2_LIM_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
710    cd ${SETTE_DIR}
[3532]711    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
[3520]712fi
713
714done
Note: See TracBrowser for help on using the repository browser.