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_r3853_CNRS9_ConfSetting/NEMOGCM/SETTE – NEMO

source: branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/SETTE/sette.sh @ 4044

Last change on this file since 4044 was 4044, checked in by clevy, 11 years ago

Configuration setting/add SETTE compatibility, see ticket:#1074

  • Property svn:executable set to *
File size: 29.5 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#############################################################
13#set -x
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# INTERACT_FLAG :  flag to run in interactive mode "yes"
44#                       to run in batch mode "no"
45#
46# MPIRUN_FLAG   :  flag to run in parallel (MPI) "yes"
47#                       to run in sequential mode (NB_PROC = 1) "no"
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#   run in batch (INTERACT_FLAG="no") or interactive (INTERACT_FLAG="yes") see sette.sh and BATCH_TEMPLATE directory
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#
125# $Id$
126#
127#   * creation
128#
129#-
130#
131#-
132# Compiler among those in NEMOGCM/ARCH
133COMPILER=macport_osx
134export BATCH_COMMAND_PAR="llsubmit"
135export BATCH_COMMAND_SEQ=$BATCH_COMMAND_PAR
136export INTERACT_FLAG="yes"
137export MPIRUN_FLAG="yes"
138# IF YOU DON'T WANT TO USE XIOS : (this is a list of keys to be delete)
139#export KEY_XIOS="key_iomput"
140# IF YOU WANT TO USE XIOS :
141export KEY_XIOS=""
142
143
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
156for config in 1 2 3 4 5 6 7 8 9 10 11
157
158do
159
160# TESTS FOR GYRE CONFIGURATION
161if [ ${config} -eq 1 ] ;  then
162    ## Restartability tests for GYRE
163    export TEST_NAME="LONG"
164    cd ${CONFIG_DIR}
165    . ./makenemo -m ${CMP_NAM} -n GYRE_LONG -r GYRE -j 8 add_key "key_mpp_mpi" del_key ${KEY_XIOS}
166    cd ${SETTE_DIR}
167    . param.cfg
168    . all_functions.sh
169    . prepare_exe_dir.sh
170    JOB_FILE=${EXE_DIR}/run_job.sh
171    NPROC=4
172    \rm ${JOB_FILE}
173    cd ${EXE_DIR} 
174    set_namelist namelist_cfg cn_exp \"GYRE_LONG\"
175    set_namelist namelist_cfg nn_it000 1
176    set_namelist namelist_cfg nn_itend 120
177    set_namelist namelist_cfg nn_stock 60
178    set_namelist namelist_cfg ln_clobber .true.
179    set_namelist namelist_cfg nn_solv 2
180    set_namelist namelist_cfg jpni 2
181    set_namelist namelist_cfg jpnj 2
182    set_namelist namelist_cfg jpnij 4
183    cd ${SETTE_DIR} 
184    . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
185
186    cd ${SETTE_DIR}
187    export TEST_NAME="SHORT"
188    . prepare_exe_dir.sh
189    cd ${EXE_DIR}
190    set_namelist namelist_cfg cn_exp \"GYRE_SHORT\"
191    set_namelist namelist_cfg nn_it000 61
192    set_namelist namelist_cfg nn_itend 120
193    set_namelist namelist_cfg nn_stock 60
194    set_namelist namelist_cfg ln_rstart .true.
195    set_namelist namelist_cfg nn_rstctl 2
196    set_namelist namelist_cfg ln_clobber .true.
197    set_namelist namelist_cfg nn_solv 2
198    set_namelist namelist_cfg jpni 2
199    set_namelist namelist_cfg jpnj 2
200    set_namelist namelist_cfg jpnij 4
201    set_namelist namelist_cfg cn_ocerst_in \"GYRE_LONG_00000060_restart\"
202    for (( i=1; i<=$NPROC; i++)) ; do
203        L_NPROC=$(( $i - 1 ))
204        L_NPROC=`printf "%04d\n" ${L_NPROC}`
205        ln -sf ../LONG/GYRE_LONG_00000060_restart_${L_NPROC}.nc .
206    done
207    cd ${SETTE_DIR}
208    . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
209    cd ${SETTE_DIR}
210    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
211fi
212
213if [ ${config} -eq 2 ] ;  then
214    ## Reproducibility tests for GYRE
215    export TEST_NAME="REPRO_1_4"
216    cd ${CONFIG_DIR}
217    . ./makenemo -m ${CMP_NAM} -n GYRE_4 -r GYRE -j 8 add_key "key_mpp_mpi key_mpp_rep" del_key ${KEY_XIOS}
218    cd ${SETTE_DIR}
219    . param.cfg
220    . all_functions.sh
221    . prepare_exe_dir.sh
222    JOB_FILE=${EXE_DIR}/run_job.sh
223    NPROC=4
224    \rm ${JOB_FILE}
225    cd ${EXE_DIR}
226    set_namelist namelist_cfg cn_exp \"GYRE_14\"
227    set_namelist namelist_cfg nn_it000 1
228    set_namelist namelist_cfg nn_itend 60
229    set_namelist namelist_cfg nn_fwb 0
230    set_namelist namelist_cfg nn_bench 0
231    set_namelist namelist_cfg ln_ctl .false.
232    set_namelist namelist_cfg ln_clobber .true.
233    set_namelist namelist_cfg nn_solv 2
234    set_namelist namelist_cfg jpni 1
235    set_namelist namelist_cfg jpnj 4
236    set_namelist namelist_cfg jpnij 4
237    cd ${SETTE_DIR}
238    . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
239    cd ${SETTE_DIR}
240    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
241
242    cd ${SETTE_DIR}
243    export TEST_NAME="REPRO_2_2"
244    . prepare_exe_dir.sh
245    JOB_FILE=${EXE_DIR}/run_job.sh
246    NPROC=4
247    \rm $JOB_FILE
248    cd ${EXE_DIR}
249    set_namelist namelist_cfg cn_exp \"GYRE_22\"
250    set_namelist namelist_cfg nn_it000 1
251    set_namelist namelist_cfg nn_itend 60
252    set_namelist namelist_cfg nn_fwb 0
253    set_namelist namelist_cfg ln_ctl .false.
254    set_namelist namelist_cfg ln_clobber .true.
255    set_namelist namelist_cfg nn_solv 2
256    set_namelist namelist_cfg jpni 2
257    set_namelist namelist_cfg jpnj 2
258    set_namelist namelist_cfg jpnij 4
259    cd ${SETTE_DIR}
260    . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
261    cd ${SETTE_DIR}
262    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
263
264fi
265
266# TESTS FOR ORCA2_LIM_PISCES CONFIGURATION
267if [ ${config} -eq 3 ] ;  then
268    ## Restartability tests for ORCA2_LIM_PISCES
269    export TEST_NAME="LONG"
270    cd ${CONFIG_DIR}
271    . ./makenemo -m ${CMP_NAM} -n ORCA2LIMPIS_LONG -r ORCA2_LIM_PISCES -j 8 add_key "key_mpp_mpi" del_key ${KEY_XIOS}
272    cd ${SETTE_DIR}
273    . param.cfg
274    . all_functions.sh
275    . prepare_exe_dir.sh
276    JOB_FILE=${EXE_DIR}/run_job.sh
277    NPROC=4
278    \rm ${JOB_FILE}
279    cd ${EXE_DIR}
280    set_namelist namelist_cfg cn_exp \"O2LP_LONG\"
281    set_namelist namelist_cfg nn_it000 1
282    set_namelist namelist_cfg nn_itend 150
283    set_namelist namelist_cfg nn_stock 75
284    set_namelist namelist_cfg ln_clobber .true.
285    set_namelist namelist_cfg jpni 2
286    set_namelist namelist_cfg jpnj 2
287    set_namelist namelist_cfg jpnij 4
288    set_namelist namelist_cfg nn_solv 2
289    set_namelist namelist_top_cfg ln_trcdta .false.
290    set_namelist namelist_top_cfg ln_diatrc .false.
291    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
292    # if not you need input files, and for tests is not necessary
293    set_namelist namelist_pisces_cfg ln_presatm .false.
294    set_namelist namelist_pisces_cfg ln_varpar .false.
295    set_namelist namelist_pisces_cfg ln_dust .false.
296    set_namelist namelist_pisces_cfg ln_solub .false.
297    set_namelist namelist_pisces_cfg ln_river .false.
298    set_namelist namelist_pisces_cfg ln_ndepo .false.
299    set_namelist namelist_pisces_cfg ln_ironsed .false.
300    set_namelist namelist_pisces_cfg ln_hydrofe .false.
301    cd ${SETTE_DIR}
302    . ./prepare_job.sh input_ORCA2_LIM_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
303   
304    cd ${SETTE_DIR}
305    export TEST_NAME="SHORT"
306    . prepare_exe_dir.sh
307    cd ${EXE_DIR}
308    set_namelist namelist_cfg cn_exp \"O2LP_SHORT\"
309    set_namelist namelist_cfg nn_it000 76
310    set_namelist namelist_cfg nn_itend 150
311    set_namelist namelist_cfg nn_stock 75
312    set_namelist namelist_cfg ln_rstart .true.
313    set_namelist namelist_cfg nn_rstctl 2
314    set_namelist namelist_cfg ln_clobber .true.
315    set_namelist namelist_cfg jpni 2
316    set_namelist namelist_cfg jpnj 2
317    set_namelist namelist_cfg jpnij 4
318    set_namelist namelist_cfg nn_solv 2
319    set_namelist namelist_top_cfg ln_diatrc .false.
320    set_namelist namelist_top_cfg ln_rsttr .true.
321    set_namelist namelist_top_cfg nn_rsttr 2
322    set_namelist namelist_cfg cn_ocerst_in \"O2LP_LONG_00000075_restart\"
323    set_namelist namelist_ice_cfg cn_icerst_in \"O2LP_LONG_00000075_restart_ice\"
324    set_namelist namelist_top_cfg cn_trcrst_in \"O2LP_LONG_00000075_restart_trc\"
325    # put ln_ironsed, ln_river, ln_ndepo, ln_dust
326    # if not you need input files, and for tests is not necessary
327    set_namelist namelist_pisces_cfg ln_presatm .false.
328    set_namelist namelist_pisces_cfg ln_varpar .false.
329    set_namelist namelist_pisces_cfg ln_dust .false.
330    set_namelist namelist_pisces_cfg ln_solub .false.
331    set_namelist namelist_pisces_cfg ln_river .false.
332    set_namelist namelist_pisces_cfg ln_ndepo .false.
333    set_namelist namelist_pisces_cfg ln_ironsed .false.
334    set_namelist namelist_pisces_cfg ln_hydrofe .false.
335    # put ln_pisdmp to false : no restoring to global mean value
336    set_namelist namelist_pisces_cfg ln_pisdmp .false.
337    for (( i=1; i<=$NPROC; i++)) ; do
338        L_NPROC=$(( $i - 1 ))
339        L_NPROC=`printf "%04d\n" ${L_NPROC}`
340        ln -sf ../LONG/O2LP_LONG_00000075_restart_${L_NPROC}.nc .
341        ln -sf ../LONG/O2LP_LONG_00000075_restart_trc_${L_NPROC}.nc .
342        ln -sf ../LONG/O2LP_LONG_00000075_restart_ice_${L_NPROC}.nc .
343    done
344    cd ${SETTE_DIR}
345    . ./prepare_job.sh input_ORCA2_LIM_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
346    cd ${SETTE_DIR}
347    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
348fi
349
350if [ ${config} -eq 4 ] ;  then
351    ## Reproducibility tests for ORCA2_LIM_PISCES
352    export TEST_NAME="REPRO_4_4"
353    cd ${CONFIG_DIR}
354    . ./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}
355    cd ${SETTE_DIR}
356    . param.cfg
357    . all_functions.sh
358    . prepare_exe_dir.sh
359    JOB_FILE=${EXE_DIR}/run_job.sh
360    NPROC=16
361    \rm $JOB_FILE
362    cd ${EXE_DIR}
363    set_namelist namelist_cfg nn_it000 1
364    set_namelist namelist_cfg nn_itend 75
365    set_namelist namelist_cfg nn_fwb 0
366    set_namelist namelist_cfg ln_ctl .false.
367    set_namelist namelist_cfg ln_clobber .true.
368    set_namelist namelist_cfg jpni 4
369    set_namelist namelist_cfg jpnj 4
370    set_namelist namelist_cfg jpnij 16
371    set_namelist namelist_cfg nn_solv 2
372    set_namelist namelist_top_cfg ln_trcdta .false.
373    set_namelist namelist_top_cfg ln_diatrc .false.
374    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
375    # if not you need input files, and for tests is not necessary
376    set_namelist namelist_pisces_cfg ln_presatm .false.
377    set_namelist namelist_pisces_cfg ln_varpar .false.
378    set_namelist namelist_pisces_cfg ln_dust .false.
379    set_namelist namelist_pisces_cfg ln_solub .false.
380    set_namelist namelist_pisces_cfg ln_river .false.
381    set_namelist namelist_pisces_cfg ln_ndepo .false.
382    set_namelist namelist_pisces_cfg ln_ironsed .false.
383    set_namelist namelist_pisces_cfg ln_hydrofe .false.
384    # put ln_pisdmp to false : no restoring to global mean value
385    set_namelist namelist_pisces_cfg ln_pisdmp .false.
386    cd ${SETTE_DIR}
387    . ./prepare_job.sh input_ORCA2_LIM_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
388    cd ${SETTE_DIR}
389    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
390
391    cd ${SETTE_DIR}
392    export TEST_NAME="REPRO_2_8"
393    . prepare_exe_dir.sh
394    JOB_FILE=${EXE_DIR}/run_job.sh
395    NPROC=16
396    \rm $JOB_FILE
397    cd ${EXE_DIR}
398    set_namelist namelist_cfg nn_it000 1
399    set_namelist namelist_cfg nn_itend 75
400    set_namelist namelist_cfg nn_fwb 0
401    set_namelist namelist_cfg ln_clobber .true.
402    set_namelist namelist_cfg jpni 2
403    set_namelist namelist_cfg jpnj 8
404    set_namelist namelist_cfg jpnij 16
405    set_namelist namelist_cfg nn_solv 2
406    set_namelist namelist_top_cfg ln_trcdta .false.
407    set_namelist namelist_top_cfg ln_diatrc .false.
408    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
409    # if not you need input files, and for tests is not necessary
410    set_namelist namelist_pisces_cfg ln_presatm .false.
411    set_namelist namelist_pisces_cfg ln_varpar .false.
412    set_namelist namelist_pisces_cfg ln_dust .false.
413    set_namelist namelist_pisces_cfg ln_solub .false.
414    set_namelist namelist_pisces_cfg ln_river .false.
415    set_namelist namelist_pisces_cfg ln_ndepo .false.
416    set_namelist namelist_pisces_cfg ln_ironsed .false.
417    set_namelist namelist_pisces_cfg ln_hydrofe .false.
418    # put ln_pisdmp to false : no restoring to global mean value
419    set_namelist namelist_pisces_cfg ln_pisdmp .false.
420    cd ${SETTE_DIR}
421    . ./prepare_job.sh input_ORCA2_LIM_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
422    cd ${SETTE_DIR}
423    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
424fi
425
426# TESTS FOR ORCA2_OFF_PISCES CONFIGURATION
427if [ ${config} -eq 5 ] ;  then
428    ## Restartability tests for ORCA2_OFF_PISCES
429    export TEST_NAME="LONG"
430    cd ${CONFIG_DIR}
431    . ./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}
432    cd ${SETTE_DIR}
433    . param.cfg
434    . all_functions.sh
435    . prepare_exe_dir.sh
436    JOB_FILE=${EXE_DIR}/run_job.sh
437    NPROC=4
438    \rm $JOB_FILE
439    cd ${EXE_DIR}
440    set_namelist namelist_cfg cn_exp \"OFFP_LONG\"
441    set_namelist namelist_cfg nn_it000 1
442    set_namelist namelist_cfg nn_itend 40
443    set_namelist namelist_cfg nn_stock 20
444    set_namelist namelist_cfg ln_clobber .true.
445    set_namelist namelist_cfg jpni 2
446    set_namelist namelist_cfg jpnj 2
447    set_namelist namelist_cfg jpnij 4
448    set_namelist namelist_top_cfg ln_trcdta .false.
449    set_namelist namelist_top_cfg ln_diatrc .false.
450    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
451    # if not you need input files, and for tests is not necessary
452    set_namelist namelist_pisces_cfg ln_presatm .false.
453    set_namelist namelist_pisces_cfg ln_varpar .false.
454    set_namelist namelist_pisces_cfg ln_dust .false.
455    set_namelist namelist_pisces_cfg ln_solub .false.
456    set_namelist namelist_pisces_cfg ln_river .false.
457    set_namelist namelist_pisces_cfg ln_ndepo .false.
458    set_namelist namelist_pisces_cfg ln_ironsed .false.
459    set_namelist namelist_pisces_cfg ln_hydrofe .false.
460    # put ln_pisdmp to false : no restoring to global mean value
461    set_namelist namelist_pisces_cfg ln_pisdmp .false.
462    cd ${SETTE_DIR}
463    . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
464   
465    cd ${SETTE_DIR}
466    export TEST_NAME="SHORT"
467    . prepare_exe_dir.sh
468    cd ${EXE_DIR}
469    set_namelist namelist_cfg cn_exp \"OFFP_SHORT\"
470    set_namelist namelist_cfg nn_it000 21
471    set_namelist namelist_cfg nn_itend 40
472    set_namelist namelist_cfg nn_stock 20
473    set_namelist namelist_cfg ln_clobber .true.
474    set_namelist namelist_cfg jpni 2
475    set_namelist namelist_cfg jpnj 2
476    set_namelist namelist_cfg jpnij 4
477    set_namelist namelist_top_cfg ln_diatrc .false.
478    set_namelist namelist_top_cfg ln_rsttr .true.
479    set_namelist namelist_top_cfg nn_rsttr 2
480    set_namelist namelist_top_cfg cn_trcrst_in \"OFFP_LONG_00000020_restart_trc\"
481    for (( i=1; i<=$NPROC; i++)) ; do
482        L_NPROC=$(( $i - 1 ))
483        L_NPROC=`printf "%04d\n" ${L_NPROC}`
484        ln -sf ../LONG/OFFP_LONG_00000020_restart_trc_${L_NPROC}.nc .
485    done
486    # put ln_ironsed, ln_river, ln_ndepo, ln_dust
487    # if not you need input files, and for tests is not necessary
488    set_namelist namelist_pisces_cfg ln_presatm .false.
489    set_namelist namelist_pisces_cfg ln_varpar .false.
490    set_namelist namelist_pisces_cfg ln_dust .false.
491    set_namelist namelist_pisces_cfg ln_solub .false.
492    set_namelist namelist_pisces_cfg ln_river .false.
493    set_namelist namelist_pisces_cfg ln_ndepo .false.
494    set_namelist namelist_pisces_cfg ln_ironsed .false.
495    set_namelist namelist_pisces_cfg ln_hydrofe .false.
496    # put ln_pisdmp to false : no restoring to global mean value
497    set_namelist namelist_pisces_cfg ln_pisdmp .false.
498    cd ${SETTE_DIR}
499    . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME}  ${MPIRUN_FLAG} ${JOB_FILE}
500    cd ${SETTE_DIR}
501    . ./fcm_job.sh $NPROC  ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
502fi
503
504if [ ${config} -eq 6 ] ;  then
505    ## Reproducibility tests for ORCA2_OFF_PISCES
506    export TEST_NAME="REPRO_4_4"
507    cd ${CONFIG_DIR}
508    . ./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}
509    cd ${SETTE_DIR}
510    . param.cfg
511    . all_functions.sh
512    . prepare_exe_dir.sh
513    JOB_FILE=${EXE_DIR}/run_job.sh
514    NPROC=16
515    \rm $JOB_FILE
516    cd ${EXE_DIR}
517    set_namelist namelist_cfg nn_it000 1
518    set_namelist namelist_cfg nn_itend 40
519    set_namelist namelist_cfg ln_ctl .false.
520    set_namelist namelist_cfg ln_clobber .true.
521    set_namelist namelist_cfg jpni 4
522    set_namelist namelist_cfg jpnj 4
523    set_namelist namelist_cfg jpnij 16
524    set_namelist namelist_top_cfg ln_trcdta .false.
525    set_namelist namelist_top_cfg ln_diatrc .false.
526    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
527    # if not you need input files, and for tests is not necessary
528    set_namelist namelist_pisces_cfg ln_presatm .false.
529    set_namelist namelist_pisces_cfg ln_varpar .false.
530    set_namelist namelist_pisces_cfg ln_dust .false.
531    set_namelist namelist_pisces_cfg ln_solub .false.
532    set_namelist namelist_pisces_cfg ln_river .false.
533    set_namelist namelist_pisces_cfg ln_ndepo .false.
534    set_namelist namelist_pisces_cfg ln_ironsed .false.
535    set_namelist namelist_pisces_cfg ln_hydrofe .false.
536    # put ln_pisdmp to false : no restoring to global mean value
537    set_namelist namelist_pisces_cfg ln_pisdmp .false.
538    cd ${SETTE_DIR}
539    . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
540    cd ${SETTE_DIR}
541    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
542
543    cd ${SETTE_DIR}
544    export TEST_NAME="REPRO_2_8"
545    . prepare_exe_dir.sh
546    JOB_FILE=${EXE_DIR}/run_job.sh
547    NPROC=16
548    \rm $JOB_FILE
549    cd ${EXE_DIR}
550    set_namelist namelist_cfg nn_it000 1
551    set_namelist namelist_cfg nn_itend 40
552    set_namelist namelist_cfg ln_ctl .false.
553    set_namelist namelist_cfg ln_clobber .true.
554    set_namelist namelist_cfg jpni 2
555    set_namelist namelist_cfg jpnj 8
556    set_namelist namelist_cfg jpnij 16
557    set_namelist namelist_top_cfg ln_trcdta .false.
558    set_namelist namelist_top_cfg ln_diatrc .false.
559    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
560    # if not you need input files, and for tests is not necessary
561    set_namelist namelist_pisces_cfg ln_presatm .false.
562    set_namelist namelist_pisces_cfg ln_varpar .false.
563    set_namelist namelist_pisces_cfg ln_dust .false.
564    set_namelist namelist_pisces_cfg ln_solub .false.
565    set_namelist namelist_pisces_cfg ln_river .false.
566    set_namelist namelist_pisces_cfg ln_ndepo .false.
567    set_namelist namelist_pisces_cfg ln_ironsed .false.
568    set_namelist namelist_pisces_cfg ln_hydrofe .false.
569    # put ln_pisdmp to false : no restoring to global mean value
570    set_namelist namelist_pisces_cfg ln_pisdmp .false.
571    cd ${SETTE_DIR}
572    . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
573    cd ${SETTE_DIR}
574    . ./fcm_job.sh $NPROC  ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
575fi
576
577# TESTS FOR AMM12 CONFIGURATION
578if [ ${config} -eq 7 ] ;  then
579    ## Restartability tests for AMM12
580    export TEST_NAME="LONG"
581    cd ${CONFIG_DIR}
582    . ./makenemo -m ${CMP_NAM} -n AMM12_LONG -r AMM12 -j 8 add_key "key_tide" del_key ${KEY_XIOS}
583    cd ${SETTE_DIR}
584    . param.cfg
585    . all_functions.sh
586    . prepare_exe_dir.sh
587    JOB_FILE=${EXE_DIR}/run_job.sh
588    NPROC=32
589    \rm $JOB_FILE
590    cd ${EXE_DIR}
591    set_namelist namelist_cfg nn_it000 1
592    set_namelist namelist_cfg nn_itend 12
593    set_namelist namelist_cfg nn_stock 6
594    set_namelist namelist_cfg nn_fwb 0
595    set_namelist namelist_cfg ln_ctl .false.
596    set_namelist namelist_cfg ln_clobber .true.
597    set_namelist namelist_cfg nn_dyn2d 2
598    set_namelist namelist_cfg nn_tra_dta 0
599    set_namelist namelist_cfg cn_ocerst_in \"amm12_restart_oce\"
600ln -s restarts/amm12_restart_oce.nc amm12_restart_oce.nc
601    set_namelist namelist_cfg jpni 8
602    set_namelist namelist_cfg jpnj 4
603    set_namelist namelist_cfg jpnij 32
604    cd ${SETTE_DIR}
605    . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
606
607    cd ${SETTE_DIR}
608    export TEST_NAME="SHORT"
609    . prepare_exe_dir.sh
610    cd ${EXE_DIR}
611    set_namelist namelist_cfg nn_it000 7
612    set_namelist namelist_cfg nn_itend 12
613    set_namelist namelist_cfg nn_fwb 0
614    set_namelist namelist_cfg ln_ctl .false.
615    set_namelist namelist_cfg ln_clobber .true.
616    set_namelist namelist_cfg nn_dyn2d 2
617    set_namelist namelist_cfg nn_tra_dta 0
618    set_namelist namelist_cfg jpni 8
619    set_namelist namelist_cfg jpnj 4
620    set_namelist namelist_cfg jpnij 32
621    set_namelist namelist_cfg ln_rstart .true.
622    set_namelist namelist_cfg nn_rstctl 2
623    set_namelist namelist_cfg cn_ocerst_in \"AMM12_00000006_restart_oce_out\"
624    for (( i=1; i<=$NPROC; i++)) ; do
625        L_NPROC=$(( $i - 1 ))
626        L_NPROC=`printf "%04d\n" ${L_NPROC}`
627        ln -sf ../LONG/AMM12_00000006_restart_oce_out_${L_NPROC}.nc .
628    done
629    cd ${SETTE_DIR}
630    . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
631    cd ${SETTE_DIR}
632    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
633fi
634
635if [ ${config} -eq 8 ] ;  then
636## Reproducibility tests for AMM12
637    export TEST_NAME="REPRO_8_4"
638    cd ${CONFIG_DIR}
639    . ./makenemo -m ${CMP_NAM} -n AMM12_32 -r AMM12 -j 8 add_key "key_mpp_rep key_tide" del_key ${KEY_XIOS} 
640    cd ${SETTE_DIR}
641    . param.cfg
642    . all_functions.sh
643    . prepare_exe_dir.sh
644    JOB_FILE=${EXE_DIR}/run_job.sh
645    NPROC=32
646    \rm ${JOB_FILE}
647    cd ${EXE_DIR}
648    set_namelist namelist_cfg nn_it000 1
649    set_namelist namelist_cfg nn_itend 576
650    set_namelist namelist_cfg nn_fwb 0
651    set_namelist namelist_cfg ln_ctl .false.
652    set_namelist namelist_cfg ln_clobber .true.
653    set_namelist namelist_cfg nn_dyn2d 2
654    set_namelist namelist_cfg nn_tra_dta 0
655    set_namelist namelist_cfg cn_ocerst_in \"amm12_restart_oce\"
656    set_namelist namelist_cfg jpni 8
657    set_namelist namelist_cfg jpnj 4
658    set_namelist namelist_cfg jpnij 32
659    cd ${SETTE_DIR}
660    . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
661    cd ${SETTE_DIR}
662    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
663
664    cd ${SETTE_DIR}
665    export TEST_NAME="REPRO_4_8"
666    . prepare_exe_dir.sh
667    cd ${EXE_DIR}
668    set_namelist namelist_cfg nn_it000 1
669    set_namelist namelist_cfg nn_itend 576
670    set_namelist namelist_cfg nn_fwb 0
671    set_namelist namelist_cfg ln_ctl .false.
672    set_namelist namelist_cfg nn_dyn2d 2
673    set_namelist namelist_cfg nn_tra_dta 0
674    set_namelist namelist_cfg ln_clobber .true.
675    set_namelist namelist_cfg cn_ocerst_in \"amm12_restart_oce\"
676    set_namelist namelist_cfg jpni 4
677    set_namelist namelist_cfg jpnj 8
678    set_namelist namelist_cfg jpnij 32
679    cd ${SETTE_DIR}
680    . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
681    cd ${SETTE_DIR}
682    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
683fi
684
685# TEST FOR ORCA2_LIM_AGRIF : simple test of running AGRIF (no restartability neither reproducibility tests)
686if [ ${config} -eq 9 ] ;  then
687    ## ORCA2_LIM with Agulhas AGRIF zoom in MPI
688    export TEST_NAME="SHORT"
689    cd ${CONFIG_DIR}
690    . ./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}
691    cd ${SETTE_DIR}
692    . param.cfg
693    . all_functions.sh
694    . prepare_exe_dir.sh
695    JOB_FILE=${EXE_DIR}/run_job.sh
696    NPROC=2
697    \rm ${JOB_FILE}
698    cd ${EXE_DIR}
699    set_namelist namelist_cfg nn_it000 1
700    set_namelist namelist_cfg nn_itend 75
701    set_namelist namelist_cfg ln_ctl .false.
702    set_namelist namelist_cfg ln_clobber .true.
703    set_namelist namelist_cfg jpni 1
704    set_namelist namelist_cfg jpnj 2
705    set_namelist namelist_cfg jpnij 2
706    set_namelist 1_namelist_cfg nn_it000 1
707    set_namelist 1_namelist_cfg nn_itend 150
708    set_namelist 1_namelist_cfg ln_ctl .false.
709    set_namelist 1_namelist_cfg ln_clobber .true.
710    cd ${SETTE_DIR}
711    . ./prepare_job.sh input_ORCA2_LIM_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
712    cd ${SETTE_DIR}
713    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
714fi
715
716# TESTS FOR ORCA2_SAS_LIM CONFIGURATION
717if [ ${config} -eq 10 ] ;  then
718    ## Restartability tests for SAS
719    export TEST_NAME="LONG"
720    cd ${CONFIG_DIR}
721    . ./makenemo -m ${CMP_NAM} -n SAS_LONG -r ORCA2_SAS_LIM -j 8 add_key " " del_key ${KEY_XIOS}
722    cd ${SETTE_DIR}
723    . param.cfg
724    . all_functions.sh
725    . prepare_exe_dir.sh
726    JOB_FILE=${EXE_DIR}/run_job.sh
727    NPROC=32
728    \rm $JOB_FILE
729    cd ${EXE_DIR}
730    set_namelist namelist_cfg cn_exp \"SAS\"
731    set_namelist namelist_cfg nn_it000 1
732    set_namelist namelist_cfg nn_itend 100
733    set_namelist namelist_cfg nn_stock 50
734    set_namelist namelist_cfg ln_ctl .false.
735    set_namelist namelist_cfg ln_clobber .true.
736    set_namelist namelist_cfg jpni 8
737    set_namelist namelist_cfg jpnj 4
738    set_namelist namelist_cfg jpnij 32
739    cd ${SETTE_DIR}
740    . ./prepare_job.sh input_SAS.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
741
742    cd ${SETTE_DIR}
743    export TEST_NAME="SHORT"
744    . prepare_exe_dir.sh
745    cd ${EXE_DIR}
746    set_namelist namelist_cfg cn_exp \"SAS\"
747    set_namelist namelist_cfg nn_it000 51
748    set_namelist namelist_cfg nn_itend 100
749    set_namelist namelist_cfg ln_ctl .false.
750    set_namelist namelist_cfg ln_clobber .true.
751    set_namelist namelist_cfg jpni 8
752    set_namelist namelist_cfg jpnj 4
753    set_namelist namelist_cfg jpnij 32
754    set_namelist namelist_cfg nn_rstctl 2
755    set_namelist namelist_cfg cn_ocerst_in \"SAS_00000050_restart\"
756    for (( i=1; i<=$NPROC; i++)) ; do
757        L_NPROC=$(( $i - 1 ))
758        L_NPROC=`printf "%04d\n" ${L_NPROC}`
759        ln -sf ../LONG/SAS_00000050_restart_${L_NPROC}.nc .
760    done
761    cd ${SETTE_DIR}
762    . ./prepare_job.sh input_SAS.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
763    cd ${SETTE_DIR}
764    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
765fi
766
767if [ ${config} -eq 11 ] ;  then
768## Reproducibility tests for ORCA2_SAS_LIM
769    export TEST_NAME="REPRO_8_4"
770    cd ${CONFIG_DIR}
771    . ./makenemo -m ${CMP_NAM} -n SAS_32 -r ORCA2_SAS_LIM -j 8 add_key " " del_key ${KEY_XIOS}
772    cd ${SETTE_DIR}
773    . param.cfg
774    . all_functions.sh
775    . prepare_exe_dir.sh
776    JOB_FILE=${EXE_DIR}/run_job.sh
777    NPROC=32
778    \rm ${JOB_FILE}
779    cd ${EXE_DIR}
780    set_namelist namelist_cfg cn_exp \"SAS\"
781    set_namelist namelist_cfg nn_it000 51
782    set_namelist namelist_cfg nn_itend 100
783    set_namelist namelist_cfg ln_ctl .false.
784    set_namelist namelist_cfg ln_clobber .true.
785    set_namelist namelist_cfg jpni 8
786    set_namelist namelist_cfg jpnj 4
787    set_namelist namelist_cfg jpnij 32
788    cd ${SETTE_DIR}
789    . ./prepare_job.sh input_SAS.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
790    cd ${SETTE_DIR}
791    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
792
793    cd ${SETTE_DIR}
794    export TEST_NAME="REPRO_4_8"
795    . prepare_exe_dir.sh
796    cd ${EXE_DIR}
797    set_namelist namelist_cfg cn_exp \"SAS\"
798    set_namelist namelist_cfg nn_it000 51
799    set_namelist namelist_cfg nn_itend 100
800    set_namelist namelist_cfg ln_ctl .false.
801    set_namelist namelist_cfg ln_clobber .true.
802    set_namelist namelist_cfg jpni 4
803    set_namelist namelist_cfg jpnj 8
804    set_namelist namelist_cfg jpnij 32
805    cd ${SETTE_DIR}
806    . ./prepare_job.sh input_SAS.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
807    cd ${SETTE_DIR}
808    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
809fi
810
811done
Note: See TracBrowser for help on using the repository browser.