source: trunk/NEMOGCM/SETTE/sette.sh @ 3521

Last change on this file since 3521 was 3521, checked in by flavoni, 8 years ago

correct minor bug, see ticket: #941

  • Property svn:executable set to *
File size: 22.2 KB
Line 
1#!/bin/bash
2#############################################################
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#############################################################
13set -vx
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#
43# MPI_INTERACT : 
44#
45#         for MPP tests, "no" for batch execution, "yes" for interactive execution
46#
47#         NOTE: for run with 1 process tests are run always in MPI_INTERACT="yes"
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#
86#  prepare_job.sh
87#
88#  to generate the script run_job.sh
89#
90#  fcm_job.sh
91#
92#   runs job in interactive or batch mode : all jobs using 1 process are run interactive, and all MPP jobs are
93#
94#   run in batch (MPI_INTERACT="no") or interactive (MPI_INTERACT="yes") see sette.sh and BATCH_TEMPLATE directory
95#
96#   (note this job needs to have an input_CONFIG.cfg in which can be found input tar file)
97#
98#  NOTE: if job is not launched for some problems you have executable ready in ${EXE_DIR} directory
99#
100#  NOTE: the changed namelists are leaved in ${EXE_DIR} directory whereas original namelist remains in ${NEW_CONF}/EXP00
101#
102#  in ${SETTE_DIR} is created output.sette with the echo of executed commands
103#
104#  if sette.sh is stopped in output.sette there is written the last command executed by sette.sh
105#
106#  if you run: ./sette.sh 2>&1 | tee out.sette
107#
108#  in ${SETTE_DIR} out.sette is redirected standard error & standard output
109#
110#
111# EXAMPLES
112# ========
113#
114# ::
115#
116#  $ ./sette.sh
117#
118#
119# TODO
120# ====
121#
122# option debug
123#
124# EVOLUTIONS
125# ==========
126#
127# $Id: $
128#
129#   * creation
130#
131#-
132#
133#-
134# Compiler among those in NEMOGCM/ARCH
135COMPILER=PW6_VARGAS
136export BATCH_COMMAND_PAR="llsubmit"
137export BATCH_COMMAND_SEQ=$BATCH_COMMAND_PAR
138export INTERACT_FLAG="no"
139export MPIRUN_FLAG="yes"
140
141# Directory to run the tests
142SETTE_DIR=$(cd $(dirname "$0"); pwd)
143MAIN_DIR=${SETTE_DIR%/SETTE}
144CONFIG_DIR=${MAIN_DIR}/CONFIG
145TOOLS_DIR=${MAIN_DIR}/TOOLS
146COMPIL_DIR=${TOOLS_DIR}/COMPILE
147
148CMP_NAM=${1:-$COMPILER}
149# Copy job_batch_COMPILER file for specific compiler into job_batch_template
150cd ${SETTE_DIR}
151cp BATCH_TEMPLATE/batch-${COMPILER} job_batch_template || exit
152
153for config in 1 2 3 4 5 6 7 8 9
154do
155
156# TESTS FOR GYRE_LOBSTER CONFIGURATION
157if [ ${config} -eq 1 ] ;  then
158    ## Restartability tests for GYRE_LOBSTER
159    export TEST_NAME="LONG"
160    cd ${SETTE_DIR}
161    . ../CONFIG/makenemo -m ${CMP_NAM} -n GYRELOB_LONG -r GYRE_LOBSTER -j 8 
162    cd ${SETTE_DIR}
163    . param.cfg
164    . all_functions.sh
165    . prepare_exe_dir.sh
166    JOB_FILE=${EXE_DIR}/run_job.sh
167    NPROC=1
168    \rm ${JOB_FILE}
169    cd ${EXE_DIR}
170    set_namelist namelist cn_exp \"GYRELOB_LONG\"
171    set_namelist namelist nn_it000 1
172    set_namelist namelist nn_itend 120
173    set_namelist namelist nn_stock 60
174    set_namelist namelist ln_clobber .true.
175    set_namelist namelist nn_solv 2
176    set_namelist namelist_top ln_diatrc .false.
177    cd ${SETTE_DIR}
178    . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} no ${JOB_FILE}
179    cd ${SETTE_DIR}
180    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} no
181
182    cd ${SETTE_DIR}
183    export TEST_NAME="SHORT"
184    . prepare_exe_dir.sh
185    cd ${EXE_DIR}
186    set_namelist namelist cn_exp \"GYRELOB_SHORT\"
187    set_namelist namelist nn_it000 61
188    set_namelist namelist nn_itend 120
189    set_namelist namelist nn_stock 60
190    set_namelist namelist ln_rstart .true.
191    set_namelist namelist nn_rstctl 2
192    set_namelist namelist ln_clobber .true.
193    set_namelist namelist nn_solv 2
194    ln -s -f ..\/LONG\/GYRELOB_LONG_00000060_restart.nc
195    ln -s -f ..\/LONG\/GYRELOB_LONG_00000060_restart_trc.nc
196    set_namelist namelist cn_ocerst_in \"GYRELOB_LONG_00000060_restart\"
197    set_namelist namelist_top ln_diatrc .false.
198    set_namelist namelist_top ln_rsttr .true.
199    set_namelist namelist_top nn_rsttr 2
200    set_namelist namelist_top cn_trcrst_in \"GYRELOB_LONG_00000060_restart_trc\"
201    cd ${SETTE_DIR}
202    . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} no ${JOB_FILE}
203    cd ${SETTE_DIR}
204    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} no
205fi
206
207if [ ${config} -eq 2 ] ;  then
208    ## Reproducibility tests for GYRE_LOBSTER
209    export TEST_NAME="REPRO_1_4"
210    cd ${SETTE_DIR}
211    . ../CONFIG/makenemo -m ${CMP_NAM} -n GYRELOB_4 -r GYRE_LOBSTER -j 8 add_key "key_mpp_rep key_mpp_mpi"
212    cd ${SETTE_DIR}
213    . param.cfg
214    . all_functions.sh
215    . prepare_exe_dir.sh
216    JOB_FILE=${EXE_DIR}/run_job.sh
217    NPROC=4
218    \rm $JOB_FILE
219    cd ${EXE_DIR}
220    set_namelist namelist cn_exp \"GYRELOB_14\"
221    set_namelist namelist nn_it000 1
222    set_namelist namelist nn_itend 60
223    set_namelist namelist nn_fwb 0
224    set_namelist namelist nn_bench 0
225    set_namelist namelist ln_ctl .false.
226    set_namelist namelist ln_clobber .true.
227    set_namelist namelist nn_solv 2
228    set_namelist namelist_top ln_diatrc .false.
229    set_namelist namelist_top ln_trcdta .false.
230    set_namelist namelist jpni 1
231    set_namelist namelist jpnj 4
232    set_namelist namelist jpnij 4
233    cd ${SETTE_DIR}
234    . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
235    cd ${SETTE_DIR}
236    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
237
238    cd ${SETTE_DIR}
239    export TEST_NAME="REPRO_2_2"
240    . prepare_exe_dir.sh
241    JOB_FILE=${EXE_DIR}/run_job.sh
242    NPROC=4
243    \rm $JOB_FILE
244    cd ${EXE_DIR}
245    set_namelist namelist cn_exp \"GYRELOB_22\"
246    set_namelist namelist nn_it000 1
247    set_namelist namelist nn_itend 60
248    set_namelist namelist nn_fwb 0
249    set_namelist namelist ln_ctl .false.
250    set_namelist namelist ln_clobber .true.
251    set_namelist namelist nn_solv 2
252    set_namelist namelist_top ln_diatrc .false.
253    set_namelist namelist_top ln_trcdta .false.
254    set_namelist namelist jpni 2
255    set_namelist namelist jpnj 2
256    set_namelist namelist jpnij 4
257    cd ${SETTE_DIR}
258    . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
259    cd ${SETTE_DIR}
260    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
261fi
262
263# TESTS FOR ORCA2_LIM_PISCES CONFIGURATION
264if [ ${config} -eq 3 ] ;  then
265    ## Restartability tests for ORCA2_LIM_PISCES
266    export TEST_NAME="LONG"
267    cd ${SETTE_DIR}
268    . ../CONFIG/makenemo -m ${CMP_NAM} -n ORCA2LIMPIS_LONG -r ORCA2_LIM_PISCES -j 8
269    cd ${SETTE_DIR}
270    . param.cfg
271    . all_functions.sh
272    . prepare_exe_dir.sh
273    JOB_FILE=${EXE_DIR}/run_job.sh
274    NPROC=1
275    \rm $JOB_FILE
276    cd ${EXE_DIR}
277    set_namelist namelist cn_exp \"O2LP_LONG\"
278    set_namelist namelist nn_it000 1
279    set_namelist namelist nn_itend 150
280    set_namelist namelist nn_stock 75
281    set_namelist namelist ln_clobber .true.
282    set_namelist namelist nn_solv 2
283    set_namelist namelist_top ln_trcdta .false.
284    set_namelist namelist_top ln_diatrc .false.
285    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
286    # if not you need input files, and for tests is not necessary
287    set_namelist namelist_pisces ln_ironsed .false.
288    set_namelist namelist_pisces ln_river .false.
289    set_namelist namelist_pisces ln_ndepo .false.
290    set_namelist namelist_pisces ln_dust .false.
291    set_namelist namelist_pisces ln_presatm .false.
292    cd ${SETTE_DIR}
293    . ./prepare_job.sh input_ORCA2_LIM_PISCES.cfg $NPROC ${TEST_NAME} no ${JOB_FILE}
294    cd ${SETTE_DIR}
295    . ./fcm_job.sh $NPROC  ${JOB_FILE} ${INTERACT_FLAG} no
296#
297    export TEST_NAME="SHORT"
298    cd ${SETTE_DIR}
299    . prepare_exe_dir.sh
300    cd ${EXE_DIR}
301    set_namelist namelist cn_exp \"O2LP_SHORT\"
302    set_namelist namelist nn_it000 76
303    set_namelist namelist nn_itend 150
304    set_namelist namelist nn_stock 75
305    set_namelist namelist ln_rstart .true.
306    set_namelist namelist nn_rstctl 2
307    set_namelist namelist ln_clobber .true.
308    set_namelist namelist nn_solv 2
309    ln -s -f ../LONG/O2LP_LONG_00000075_restart.nc
310    ln -s -f ../LONG/O2LP_LONG_00000075_restart_ice.nc
311    ln -s -f ../LONG/O2LP_LONG_00000075_restart_trc.nc
312    set_namelist namelist cn_ocerst_in \"O2LP_LONG_00000075_restart\"
313    set_namelist namelist_ice cn_icerst_in \"O2LP_LONG_00000075_restart_ice\"
314    set_namelist namelist_top ln_diatrc .false.
315    set_namelist namelist_top ln_rsttr .true.
316    set_namelist namelist_top nn_rsttr 2
317    set_namelist namelist_top cn_trcrst_in \"O2LP_LONG_00000075_restart_trc\"
318    # put ln_ironsed, ln_river, ln_ndepo, ln_dust
319    # if not you need input files, and for tests is not necessary
320    set_namelist namelist_pisces ln_ironsed .false.
321    set_namelist namelist_pisces ln_river .false.
322    set_namelist namelist_pisces ln_ndepo .false.
323    set_namelist namelist_pisces ln_dust .false.
324    set_namelist namelist_pisces ln_presatm .false.
325    cd ${SETTE_DIR}
326    . ./prepare_job.sh input_ORCA2_LIM_PISCES.cfg $NPROC ${TEST_NAME} no ${JOB_FILE}
327    cd ${SETTE_DIR}
328    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} no
329fi
330
331if [ ${config} -eq 4 ] ;  then
332    ## Reproducibility tests for ORCA2_LIM_PISCES
333    export TEST_NAME="REPRO_4_4"
334    cd ${SETTE_DIR}
335    . ../CONFIG/makenemo -m ${CMP_NAM} -n ORCA2LIMPIS_16 -r ORCA2_LIM_PISCES -j 8 add_key "key_mpp_rep key_mpp_mpi"
336    cd ${SETTE_DIR}
337    . param.cfg
338    . all_functions.sh
339    . prepare_exe_dir.sh
340    JOB_FILE=${EXE_DIR}/run_job.sh
341    NPROC=16
342    \rm $JOB_FILE
343    cd ${EXE_DIR}
344    set_namelist namelist nn_it000 1
345    set_namelist namelist nn_itend 75
346    set_namelist namelist nn_fwb 0
347    set_namelist namelist ln_clobber .true.
348    set_namelist namelist jpni 4
349    set_namelist namelist jpnj 4
350    set_namelist namelist jpnij 16
351    set_namelist namelist nn_solv 2
352    set_namelist namelist_top ln_trcdta .false.
353    set_namelist namelist_top ln_diatrc .false.
354    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
355    # if not you need input files, and for tests is not necessary
356    set_namelist namelist_pisces ln_ironsed .false.
357    set_namelist namelist_pisces ln_river .false.
358    set_namelist namelist_pisces ln_ndepo .false.
359    set_namelist namelist_pisces ln_dust .false.
360    set_namelist namelist_pisces ln_presatm .false.
361    cd ${SETTE_DIR}
362    . ./prepare_job.sh input_ORCA2_LIM_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
363    cd ${SETTE_DIR}
364    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} 
365
366    cd ${SETTE_DIR}
367    export TEST_NAME="REPRO_2_8"
368    . prepare_exe_dir.sh
369    JOB_FILE=${EXE_DIR}/run_job.sh
370    NPROC=16
371    \rm $JOB_FILE
372    cd ${EXE_DIR}
373    set_namelist namelist nn_it000 1
374    set_namelist namelist nn_itend 75
375    set_namelist namelist nn_fwb 0
376    set_namelist namelist ln_clobber .true.
377    set_namelist namelist jpni 2
378    set_namelist namelist jpnj 8
379    set_namelist namelist jpnij 16
380    set_namelist namelist nn_solv 2
381    set_namelist namelist_top ln_trcdta .false.
382    set_namelist namelist_top ln_diatrc .false.
383    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
384    # if not you need input files, and for tests is not necessary
385    set_namelist namelist_pisces ln_ironsed .false.
386    set_namelist namelist_pisces ln_river .false.
387    set_namelist namelist_pisces ln_ndepo .false.
388    set_namelist namelist_pisces ln_dust .false.
389    set_namelist namelist_pisces ln_presatm .false.
390    cd ${SETTE_DIR}
391    . ./prepare_job.sh input_ORCA2_LIM_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
392    cd ${SETTE_DIR}
393    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
394fi
395
396# TESTS FOR ORCA2_OFF_PISCES CONFIGURATION
397if [ ${config} -eq 5 ] ;  then
398    ## Restartability tests for ORCA2_OFF_PISCES
399    export TEST_NAME="LONG"
400    cd ${SETTE_DIR}
401    . ../CONFIG/makenemo -m ${CMP_NAM} -n ORCA2OFFPIS_LONG -r ORCA2_OFF_PISCES -j 8
402    cd ${SETTE_DIR}
403    . param.cfg
404    . all_functions.sh
405    . prepare_exe_dir.sh
406    JOB_FILE=${EXE_DIR}/run_job.sh
407    NPROC=1
408    \rm $JOB_FILE
409    cd ${EXE_DIR}
410    set_namelist namelist cn_exp \"OFFP_LONG\"
411    set_namelist namelist nn_it000 1
412    set_namelist namelist nn_itend 40
413    set_namelist namelist nn_stock 20
414    set_namelist namelist ln_clobber .true.
415    set_namelist namelist_top ln_trcdta .false.
416    set_namelist namelist_top ln_diatrc .false.
417    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
418    # if not you need input files, and for tests is not necessary
419    set_namelist namelist_pisces ln_ironsed .false.
420    set_namelist namelist_pisces ln_river .false.
421    set_namelist namelist_pisces ln_ndepo .false.
422    set_namelist namelist_pisces ln_dust .false.
423    set_namelist namelist_pisces ln_presatm .false.
424    cd ${SETTE_DIR}
425    . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
426   
427    cd ${SETTE_DIR}
428    export TEST_NAME="SHORT"
429    . prepare_exe_dir.sh
430    cd ${EXE_DIR}
431    set_namelist namelist cn_exp \"OFFP_SHORT\"
432    set_namelist namelist nn_it000 21
433    set_namelist namelist nn_itend 40
434    set_namelist namelist nn_stock 20
435    set_namelist namelist ln_clobber .true.
436    ln -s ../LONG/OFFP_LONG_00000020_restart_trc.nc .
437    set_namelist namelist_top ln_diatrc .false.
438    set_namelist namelist_top ln_rsttr .true.
439    set_namelist namelist_top nn_rsttr 2
440    set_namelist namelist_top cn_trcrst_in \"OFFP_LONG_00000020_restart_trc\"
441    # put ln_ironsed, ln_river, ln_ndepo, ln_dust
442    # if not you need input files, and for tests is not necessary
443    set_namelist namelist_pisces ln_ironsed .false.
444    set_namelist namelist_pisces ln_river .false.
445    set_namelist namelist_pisces ln_ndepo .false.
446    set_namelist namelist_pisces ln_dust .false.
447    set_namelist namelist_pisces ln_presatm .false.
448    cd ${SETTE_DIR}
449    . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME}  ${MPIRUN_FLAG} ${JOB_FILE}
450    cd ${SETTE_DIR}
451    . ./fcm_job.sh $NPROC  ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
452fi
453
454if [ ${config} -eq 6 ] ;  then
455    ## Reproducibility tests for ORCA2_OFF_PISCES
456    export TEST_NAME="REPRO_4_4"
457    cd ${SETTE_DIR}
458    . ../CONFIG/makenemo -m ${CMP_NAM} -n ORCA2OFFPIS_16 -r ORCA2_OFF_PISCES -j 8 add_key "key_mpp_rep key_mpp_mpi"
459    cd ${SETTE_DIR}
460    . param.cfg
461    . all_functions.sh
462    . prepare_exe_dir.sh
463    JOB_FILE=${EXE_DIR}/run_job.sh
464    NPROC=16
465    \rm $JOB_FILE
466    cd ${EXE_DIR}
467    set_namelist namelist nn_it000 1
468    set_namelist namelist nn_itend 40
469    set_namelist namelist ln_clobber .true.
470    set_namelist namelist jpni 4
471    set_namelist namelist jpnj 4
472    set_namelist namelist jpnij 16
473    set_namelist namelist_top ln_trcdta .false.
474    set_namelist namelist_top ln_diatrc .false.
475    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
476    # if not you need input files, and for tests is not necessary
477    set_namelist namelist_pisces ln_ironsed .false.
478    set_namelist namelist_pisces ln_river .false.
479    set_namelist namelist_pisces ln_ndepo .false.
480    set_namelist namelist_pisces ln_dust .false.
481    set_namelist namelist_pisces ln_presatm .false.
482    cd ${SETTE_DIR}
483    . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
484    cd ${SETTE_DIR}
485    . ./fcm_job.sh $NPROC  ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
486
487    cd ${SETTE_DIR}
488    export TEST_NAME="REPRO_2_8"
489    . prepare_exe_dir.sh
490    JOB_FILE=${EXE_DIR}/run_job.sh
491    NPROC=16
492    \rm $JOB_FILE
493    cd ${EXE_DIR}
494    set_namelist namelist nn_it000 1
495    set_namelist namelist nn_itend 40
496    set_namelist namelist ln_clobber .true.
497    set_namelist namelist jpni 2
498    set_namelist namelist jpnj 8
499    set_namelist namelist jpnij 16
500    set_namelist namelist_top ln_trcdta .false.
501    set_namelist namelist_top ln_diatrc .false.
502    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
503    # if not you need input files, and for tests is not necessary
504    set_namelist namelist_pisces ln_ironsed .false.
505    set_namelist namelist_pisces ln_river .false.
506    set_namelist namelist_pisces ln_ndepo .false.
507    set_namelist namelist_pisces ln_dust .false.
508    set_namelist namelist_pisces ln_presatm .false.
509    cd ${SETTE_DIR}
510    . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
511    cd ${SETTE_DIR}
512    . ./fcm_job.sh $NPROC  ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
513fi
514
515# TESTS FOR AMM12 CONFIGURATION
516if [ ${config} -eq 7 ] ;  then
517    ## Reproducibility tests for AMM12
518    export TEST_NAME="REPRO_8_4"
519    cd ${SETTE_DIR}
520    . ../CONFIG/makenemo -m ${CMP_NAM} -n AMM12_32 -r AMM12 -j 8 add_key "key_mpp_rep"
521    cd ${SETTE_DIR}
522    . param.cfg
523    . all_functions.sh
524    . prepare_exe_dir.sh
525    JOB_FILE=${EXE_DIR}/run_job.sh
526    NPROC=32
527    \rm $JOB_FILE
528    cd ${EXE_DIR}
529    set_namelist namelist nn_it000 1
530    set_namelist namelist nn_itend 576
531    set_namelist namelist nn_fwb 0
532    set_namelist namelist ln_ctl .false.
533    set_namelist namelist ln_clobber .true.
534    set_namelist namelist nn_dyn2d 2
535    set_namelist namelist nn_tra_dta 0
536    set_namelist namelist jpni 8
537    set_namelist namelist jpnj 4
538    set_namelist namelist jpnij 32
539    cd ${SETTE_DIR}
540    . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
541    cd ${SETTE_DIR}
542    . ./fcm_job.sh $NPROC  ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
543
544    cd ${SETTE_DIR}
545    export TEST_NAME="REPRO_4_8"
546    . prepare_exe_dir.sh
547    JOB_FILE=${EXE_DIR}/run_job.sh
548    NPROC=32
549    \rm $JOB_FILE
550    cd ${EXE_DIR}
551    set_namelist namelist nn_it000 1
552    set_namelist namelist nn_itend 576
553    set_namelist namelist nn_fwb 0
554    set_namelist namelist ln_ctl .false.
555    set_namelist namelist nn_dyn2d 2
556    set_namelist namelist nn_tra_dta 0
557    set_namelist namelist ln_clobber .true.
558    set_namelist namelist jpni 4
559    set_namelist namelist jpnj 8
560    set_namelist namelist jpnij 32
561    cd ${SETTE_DIR}
562    . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
563    cd ${SETTE_DIR}
564    . ./fcm_job.sh $NPROC  ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
565fi
566
567if [ ${config} -eq 8 ] ;  then
568    ## Restartability tests for AMM12
569    export TEST_NAME="LONG"
570    cd ${SETTE_DIR}
571    . ../CONFIG/makenemo -m ${CMP_NAM} -n AMM12_LONG -r AMM12 -j 8 add_key "key_mpp_rep"
572    cd ${SETTE_DIR}
573    . param.cfg
574    . all_functions.sh
575    . prepare_exe_dir.sh
576    JOB_FILE=${EXE_DIR}/run_job.sh
577    NPROC=32
578    \rm $JOB_FILE
579    cd ${EXE_DIR}
580    set_namelist namelist nn_it000 1
581    set_namelist namelist nn_itend 12
582    set_namelist namelist nn_stock 6
583    set_namelist namelist nn_fwb 0
584    set_namelist namelist ln_ctl .false.
585    set_namelist namelist ln_clobber .true.
586    set_namelist namelist nn_dyn2d 2
587    set_namelist namelist nn_tra_dta 0
588    set_namelist namelist jpni 8
589    set_namelist namelist jpnj 4
590    set_namelist namelist jpnij 32
591    cd ${SETTE_DIR}
592    . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
593    cd ${SETTE_DIR}
594    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
595
596    cd ${SETTE_DIR}
597    export TEST_NAME="SHORT"
598    . prepare_exe_dir.sh
599    cd ${EXE_DIR}
600    set_namelist namelist nn_it000 7
601    set_namelist namelist nn_itend 12
602    set_namelist namelist nn_fwb 0
603    set_namelist namelist ln_ctl .false.
604    set_namelist namelist ln_clobber .true.
605    set_namelist namelist nn_dyn2d 2
606    set_namelist namelist nn_tra_dta 0
607    set_namelist namelist jpni 8
608    set_namelist namelist jpnj 4
609    set_namelist namelist jpnij 32
610    set_namelist namelist ln_rstart .true.
611    set_namelist namelist nn_rstctl 2
612    set_namelist namelist cn_ocerst_in \"../LONG/AMM12_00000006_restart\"
613    cd ${SETTE_DIR}
614    . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
615    cd ${SETTE_DIR}
616    . ./fcm_job.sh $NPROC  ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
617fi
618
619# TEST FOR ORCA2_LIM_AGRIF : simple test of running AGRIF (no restartability neither reproducibility tests)
620if [ ${config} -eq 9 ] ;  then
621    ## ORCA2_LIM with Agulhas AGRIF zoom in MPI
622    export TEST_NAME="SHORT"
623    cd ${SETTE_DIR}
624    . ../CONFIG/makenemo -m ${CMP_NAM} -n ORCA2AGUL_1_2 -r ORCA2_LIM -j 8 add_key "key_mpp_rep key_mpp_mpi key_agrif" del_key "key_zdftmx"
625    cd ${SETTE_DIR}
626    . param.cfg
627    . all_functions.sh
628    . prepare_exe_dir.sh
629    JOB_FILE=${EXE_DIR}/run_job.sh
630    NPROC=2
631    \rm $JOB_FILE
632    cd ${EXE_DIR}
633    set_namelist namelist nn_it000 1
634    set_namelist namelist nn_itend 75
635    set_namelist namelist ln_ctl .false.
636    set_namelist namelist ln_clobber .true.
637    set_namelist namelist jpni 1
638    set_namelist namelist jpnj 2
639    set_namelist namelist jpnij 2
640    set_namelist 1_namelist nn_it000 1
641    set_namelist 1_namelist nn_itend 150
642    set_namelist 1_namelist ln_ctl .false.
643    set_namelist 1_namelist ln_clobber .true.
644    cd ${SETTE_DIR}
645    . ./prepare_job.sh input_ORCA2_LIM_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
646    cd ${SETTE_DIR}
647    . ./fcm_job.sh $NPROC  ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
648fi
649
650done
Note: See TracBrowser for help on using the repository browser.