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

source: branches/2012/dev_r3438_LOCEAN15_PISLOB/NEMOGCM/SETTE/sette.sh @ 3599

Last change on this file since 3599 was 3599, checked in by flavoni, 11 years ago

correct tests for AMM12 in sette.sh, ... even if AMM12 is not restartable and reproducibilty, sette is ready, see ticket: #941

  • Property svn:executable set to *
  • Property svn:keywords set to Id
File size: 24.8 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=PW6_VARGAS
134export BATCH_COMMAND_PAR="llsubmit"
135export BATCH_COMMAND_SEQ=$BATCH_COMMAND_PAR
136export INTERACT_FLAG="no"
137export MPIRUN_FLAG="yes"
138
139
140# Directory to run the tests
141SETTE_DIR=$(cd $(dirname "$0"); pwd)
142MAIN_DIR=${SETTE_DIR%/SETTE}
143CONFIG_DIR=${MAIN_DIR}/CONFIG
144TOOLS_DIR=${MAIN_DIR}/TOOLS
145COMPIL_DIR=${TOOLS_DIR}/COMPILE
146
147CMP_NAM=${1:-$COMPILER}
148# Copy job_batch_COMPILER file for specific compiler into job_batch_template
149cd ${SETTE_DIR}
150cp BATCH_TEMPLATE/batch-${COMPILER} job_batch_template || exit
151
152for config in 1 2 3 4 5 6 7 8 9
153do
154
155# TESTS FOR GYRE CONFIGURATION
156if [ ${config} -eq 1 ] ;  then
157    ## Restartability tests for GYRE
158    export TEST_NAME="LONG"
159    cd ${SETTE_DIR}
160    . ../CONFIG/makenemo -m ${CMP_NAM} -n GYRE_LONG -r GYRE -j 8 add_key "key_mpp_mpi" 
161    cd ${SETTE_DIR}
162    . param.cfg
163    . all_functions.sh
164    . prepare_exe_dir.sh
165    JOB_FILE=${EXE_DIR}/run_job.sh
166    NPROC=4
167    \rm ${JOB_FILE}
168    cd ${EXE_DIR}
169    set_namelist namelist cn_exp \"GYRE_LONG\"
170    set_namelist namelist nn_it000 1
171    set_namelist namelist nn_itend 120
172    set_namelist namelist nn_stock 60
173    set_namelist namelist ln_clobber .true.
174    set_namelist namelist nn_solv 2
175    set_namelist namelist jpni 2
176    set_namelist namelist jpnj 2
177    set_namelist namelist jpnij 4
178    cd ${SETTE_DIR}
179    . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
180
181    cd ${SETTE_DIR}
182    export TEST_NAME="SHORT"
183    . prepare_exe_dir.sh
184    cd ${EXE_DIR}
185    set_namelist namelist cn_exp \"GYRE_SHORT\"
186    set_namelist namelist nn_it000 61
187    set_namelist namelist nn_itend 120
188    set_namelist namelist nn_stock 60
189    set_namelist namelist ln_rstart .true.
190    set_namelist namelist nn_rstctl 2
191    set_namelist namelist ln_clobber .true.
192    set_namelist namelist nn_solv 2
193    set_namelist namelist jpni 2
194    set_namelist namelist jpnj 2
195    set_namelist namelist jpnij 4
196    set_namelist namelist cn_ocerst_in \"GYRE_LONG_00000060_restart\"
197    for (( i=1; i<=$NPROC; i++)) ; do
198        L_NPROC=$(( $i - 1 ))
199        L_NPROC=`printf "%04d\n" ${L_NPROC}`
200        ln -sf ../LONG/GYRE_LONG_00000060_restart_${L_NPROC}.nc .
201    done
202    cd ${SETTE_DIR}
203    . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
204    cd ${SETTE_DIR}
205    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
206fi
207
208if [ ${config} -eq 2 ] ;  then
209    ## Reproducibility tests for GYRE
210    export TEST_NAME="REPRO_1_4"
211    cd ${SETTE_DIR}
212    . ../CONFIG/makenemo -m ${CMP_NAM} -n GYRE_4 -r GYRE -j 8 add_key "key_mpp_mpi key_mpp_rep"
213    cd ${SETTE_DIR}
214    . param.cfg
215    . all_functions.sh
216    . prepare_exe_dir.sh
217    JOB_FILE=${EXE_DIR}/run_job.sh
218    NPROC=4
219    \rm ${JOB_FILE}
220    cd ${EXE_DIR}
221    set_namelist namelist cn_exp \"GYRE_14\"
222    set_namelist namelist nn_it000 1
223    set_namelist namelist nn_itend 60
224    set_namelist namelist nn_fwb 0
225    set_namelist namelist nn_bench 0
226    set_namelist namelist ln_ctl .false.
227    set_namelist namelist ln_clobber .true.
228    set_namelist namelist nn_solv 2
229    set_namelist namelist jpni 1
230    set_namelist namelist jpnj 4
231    set_namelist namelist jpnij 4
232    cd ${SETTE_DIR}
233    . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
234    cd ${SETTE_DIR}
235    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
236
237    cd ${SETTE_DIR}
238    export TEST_NAME="REPRO_2_2"
239    . prepare_exe_dir.sh
240    JOB_FILE=${EXE_DIR}/run_job.sh
241    NPROC=4
242    \rm $JOB_FILE
243    cd ${EXE_DIR}
244    set_namelist namelist cn_exp \"GYRE_22\"
245    set_namelist namelist nn_it000 1
246    set_namelist namelist nn_itend 60
247    set_namelist namelist nn_fwb 0
248    set_namelist namelist ln_ctl .false.
249    set_namelist namelist ln_clobber .true.
250    set_namelist namelist nn_solv 2
251    set_namelist namelist jpni 2
252    set_namelist namelist jpnj 2
253    set_namelist namelist jpnij 4
254    cd ${SETTE_DIR}
255    . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
256    cd ${SETTE_DIR}
257    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
258
259fi
260
261# TESTS FOR ORCA2_LIM_PISCES CONFIGURATION
262if [ ${config} -eq 3 ] ;  then
263    ## Restartability tests for ORCA2_LIM_PISCES
264    export TEST_NAME="LONG"
265    cd ${SETTE_DIR}
266    . ../CONFIG/makenemo -m ${CMP_NAM} -n ORCA2LIMPIS_LONG -r ORCA2_LIM_PISCES -j 8 add_key "key_mpp_mpi"
267    cd ${SETTE_DIR}
268    . param.cfg
269    . all_functions.sh
270    . prepare_exe_dir.sh
271    JOB_FILE=${EXE_DIR}/run_job.sh
272    NPROC=4
273    \rm ${JOB_FILE}
274    cd ${EXE_DIR}
275    set_namelist namelist cn_exp \"O2LP_LONG\"
276    set_namelist namelist nn_it000 1
277    set_namelist namelist nn_itend 150
278    set_namelist namelist nn_stock 75
279    set_namelist namelist ln_clobber .true.
280    set_namelist namelist jpni 2
281    set_namelist namelist jpnj 2
282    set_namelist namelist jpnij 4
283    set_namelist namelist nn_solv 2
284    set_namelist namelist_top ln_trcdta .false.
285    set_namelist namelist_top ln_diatrc .false.
286    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
287    # if not you need input files, and for tests is not necessary
288    set_namelist namelist_pisces ln_presatm .false.
289    set_namelist namelist_pisces ln_varpar .false.
290    set_namelist namelist_pisces ln_dust .false.
291    set_namelist namelist_pisces ln_solub .false.
292    set_namelist namelist_pisces ln_river .false.
293    set_namelist namelist_pisces ln_ndepo .false.
294    set_namelist namelist_pisces ln_ironsed .false.
295    set_namelist namelist_pisces ln_hydrofe .false.
296    cd ${SETTE_DIR}
297    . ./prepare_job.sh input_ORCA2_LIM_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
298   
299    cd ${SETTE_DIR}
300    export TEST_NAME="SHORT"
301    . prepare_exe_dir.sh
302    cd ${EXE_DIR}
303    set_namelist namelist cn_exp \"O2LP_SHORT\"
304    set_namelist namelist nn_it000 76
305    set_namelist namelist nn_itend 150
306    set_namelist namelist nn_stock 75
307    set_namelist namelist ln_rstart .true.
308    set_namelist namelist nn_rstctl 2
309    set_namelist namelist ln_clobber .true.
310    set_namelist namelist jpni 2
311    set_namelist namelist jpnj 2
312    set_namelist namelist jpnij 4
313    set_namelist namelist nn_solv 2
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 cn_ocerst_in \"O2LP_LONG_00000075_restart\"
318    set_namelist namelist_ice cn_icerst_in \"O2LP_LONG_00000075_restart_ice\"
319    set_namelist namelist_top cn_trcrst_in \"O2LP_LONG_00000075_restart_trc\"
320    # put ln_ironsed, ln_river, ln_ndepo, ln_dust
321    # if not you need input files, and for tests is not necessary
322    set_namelist namelist_pisces ln_presatm .false.
323    set_namelist namelist_pisces ln_varpar .false.
324    set_namelist namelist_pisces ln_dust .false.
325    set_namelist namelist_pisces ln_solub .false.
326    set_namelist namelist_pisces ln_river .false.
327    set_namelist namelist_pisces ln_ndepo .false.
328    set_namelist namelist_pisces ln_ironsed .false.
329    set_namelist namelist_pisces ln_hydrofe .false.
330    # put ln_pisdmp to false : no restoring to global mean value
331    set_namelist namelist_pisces ln_pisdmp .false.
332    for (( i=1; i<=$NPROC; i++)) ; do
333        L_NPROC=$(( $i - 1 ))
334        L_NPROC=`printf "%04d\n" ${L_NPROC}`
335        ln -sf ../LONG/O2LP_LONG_00000075_restart_${L_NPROC}.nc .
336        ln -sf ../LONG/O2LP_LONG_00000075_restart_trc_${L_NPROC}.nc .
337        ln -sf ../LONG/O2LP_LONG_00000075_restart_ice_${L_NPROC}.nc .
338    done
339    cd ${SETTE_DIR}
340    . ./prepare_job.sh input_ORCA2_LIM_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
341    cd ${SETTE_DIR}
342    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
343fi
344
345if [ ${config} -eq 4 ] ;  then
346    ## Reproducibility tests for ORCA2_LIM_PISCES
347    export TEST_NAME="REPRO_4_4"
348    cd ${SETTE_DIR}
349    . ../CONFIG/makenemo -m ${CMP_NAM} -n ORCA2LIMPIS_16 -r ORCA2_LIM_PISCES -j 8 add_key "key_mpp_mpi key_mpp_rep"
350    cd ${SETTE_DIR}
351    . param.cfg
352    . all_functions.sh
353    . prepare_exe_dir.sh
354    JOB_FILE=${EXE_DIR}/run_job.sh
355    NPROC=16
356    \rm $JOB_FILE
357    cd ${EXE_DIR}
358    set_namelist namelist nn_it000 1
359    set_namelist namelist nn_itend 75
360    set_namelist namelist nn_fwb 0
361    set_namelist namelist ln_ctl .false.
362    set_namelist namelist ln_clobber .true.
363    set_namelist namelist jpni 4
364    set_namelist namelist jpnj 4
365    set_namelist namelist jpnij 16
366    set_namelist namelist nn_solv 2
367    set_namelist namelist_top ln_trcdta .false.
368    set_namelist namelist_top ln_diatrc .false.
369    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
370    # if not you need input files, and for tests is not necessary
371    set_namelist namelist_pisces ln_presatm .false.
372    set_namelist namelist_pisces ln_varpar .false.
373    set_namelist namelist_pisces ln_dust .false.
374    set_namelist namelist_pisces ln_solub .false.
375    set_namelist namelist_pisces ln_river .false.
376    set_namelist namelist_pisces ln_ndepo .false.
377    set_namelist namelist_pisces ln_ironsed .false.
378    set_namelist namelist_pisces ln_hydrofe .false.
379    # put ln_pisdmp to false : no restoring to global mean value
380    set_namelist namelist_pisces ln_pisdmp .false.
381    cd ${SETTE_DIR}
382    . ./prepare_job.sh input_ORCA2_LIM_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
383    cd ${SETTE_DIR}
384    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
385
386    cd ${SETTE_DIR}
387    export TEST_NAME="REPRO_2_8"
388    . prepare_exe_dir.sh
389    JOB_FILE=${EXE_DIR}/run_job.sh
390    NPROC=16
391    \rm $JOB_FILE
392    cd ${EXE_DIR}
393    set_namelist namelist nn_it000 1
394    set_namelist namelist nn_itend 75
395    set_namelist namelist nn_fwb 0
396    set_namelist namelist ln_clobber .true.
397    set_namelist namelist jpni 2
398    set_namelist namelist jpnj 8
399    set_namelist namelist jpnij 16
400    set_namelist namelist nn_solv 2
401    set_namelist namelist_top ln_trcdta .false.
402    set_namelist namelist_top ln_diatrc .false.
403    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
404    # if not you need input files, and for tests is not necessary
405    set_namelist namelist_pisces ln_presatm .false.
406    set_namelist namelist_pisces ln_varpar .false.
407    set_namelist namelist_pisces ln_dust .false.
408    set_namelist namelist_pisces ln_solub .false.
409    set_namelist namelist_pisces ln_river .false.
410    set_namelist namelist_pisces ln_ndepo .false.
411    set_namelist namelist_pisces ln_ironsed .false.
412    set_namelist namelist_pisces ln_hydrofe .false.
413    # put ln_pisdmp to false : no restoring to global mean value
414    set_namelist namelist_pisces ln_pisdmp .false.
415    cd ${SETTE_DIR}
416    . ./prepare_job.sh input_ORCA2_LIM_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
417    cd ${SETTE_DIR}
418    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
419fi
420
421# TESTS FOR ORCA2_OFF_PISCES CONFIGURATION
422if [ ${config} -eq 5 ] ;  then
423    ## Restartability tests for ORCA2_OFF_PISCES
424    export TEST_NAME="LONG"
425    cd ${SETTE_DIR}
426    . ../CONFIG/makenemo -m ${CMP_NAM} -n ORCA2OFFPIS_LONG -r ORCA2_OFF_PISCES -j 8 add_key "key_mpp_mpi key_mpp_rep" 
427    cd ${SETTE_DIR}
428    . param.cfg
429    . all_functions.sh
430    . prepare_exe_dir.sh
431    JOB_FILE=${EXE_DIR}/run_job.sh
432    NPROC=4
433    \rm $JOB_FILE
434    cd ${EXE_DIR}
435    set_namelist namelist cn_exp \"OFFP_LONG\"
436    set_namelist namelist nn_it000 1
437    set_namelist namelist nn_itend 40
438    set_namelist namelist nn_stock 20
439    set_namelist namelist ln_clobber .true.
440    set_namelist namelist jpni 2
441    set_namelist namelist jpnj 2
442    set_namelist namelist jpnij 4
443    set_namelist namelist_top ln_trcdta .false.
444    set_namelist namelist_top ln_diatrc .false.
445    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
446    # if not you need input files, and for tests is not necessary
447    set_namelist namelist_pisces ln_presatm .false.
448    set_namelist namelist_pisces ln_varpar .false.
449    set_namelist namelist_pisces ln_dust .false.
450    set_namelist namelist_pisces ln_solub .false.
451    set_namelist namelist_pisces ln_river .false.
452    set_namelist namelist_pisces ln_ndepo .false.
453    set_namelist namelist_pisces ln_ironsed .false.
454    set_namelist namelist_pisces ln_hydrofe .false.
455    # put ln_pisdmp to false : no restoring to global mean value
456    set_namelist namelist_pisces ln_pisdmp .false.
457    cd ${SETTE_DIR}
458    . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
459   
460    cd ${SETTE_DIR}
461    export TEST_NAME="SHORT"
462    . prepare_exe_dir.sh
463    cd ${EXE_DIR}
464    set_namelist namelist cn_exp \"OFFP_SHORT\"
465    set_namelist namelist nn_it000 21
466    set_namelist namelist nn_itend 40
467    set_namelist namelist nn_stock 20
468    set_namelist namelist ln_clobber .true.
469    set_namelist namelist jpni 2
470    set_namelist namelist jpnj 2
471    set_namelist namelist jpnij 4
472    set_namelist namelist_top ln_diatrc .false.
473    set_namelist namelist_top ln_rsttr .true.
474    set_namelist namelist_top nn_rsttr 2
475    set_namelist namelist_top cn_trcrst_in \"OFFP_LONG_00000020_restart_trc\"
476    for (( i=1; i<=$NPROC; i++)) ; do
477        L_NPROC=$(( $i - 1 ))
478        L_NPROC=`printf "%04d\n" ${L_NPROC}`
479        ln -sf ../LONG/OFFP_LONG_00000020_restart_trc_${L_NPROC}.nc .
480    done
481    # put ln_ironsed, ln_river, ln_ndepo, ln_dust
482    # if not you need input files, and for tests is not necessary
483    set_namelist namelist_pisces ln_presatm .false.
484    set_namelist namelist_pisces ln_varpar .false.
485    set_namelist namelist_pisces ln_dust .false.
486    set_namelist namelist_pisces ln_solub .false.
487    set_namelist namelist_pisces ln_river .false.
488    set_namelist namelist_pisces ln_ndepo .false.
489    set_namelist namelist_pisces ln_ironsed .false.
490    set_namelist namelist_pisces ln_hydrofe .false.
491    # put ln_pisdmp to false : no restoring to global mean value
492    set_namelist namelist_pisces ln_pisdmp .false.
493    cd ${SETTE_DIR}
494    . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME}  ${MPIRUN_FLAG} ${JOB_FILE}
495    cd ${SETTE_DIR}
496    . ./fcm_job.sh $NPROC  ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
497fi
498
499if [ ${config} -eq 6 ] ;  then
500    ## Reproducibility tests for ORCA2_OFF_PISCES
501    export TEST_NAME="REPRO_4_4"
502    cd ${SETTE_DIR}
503    . ../CONFIG/makenemo -m ${CMP_NAM} -n ORCA2OFFPIS_16 -r ORCA2_OFF_PISCES -j 8 add_key "key_mpp_mpi key_mpp_rep"
504    cd ${SETTE_DIR}
505    . param.cfg
506    . all_functions.sh
507    . prepare_exe_dir.sh
508    JOB_FILE=${EXE_DIR}/run_job.sh
509    NPROC=16
510    \rm $JOB_FILE
511    cd ${EXE_DIR}
512    set_namelist namelist nn_it000 1
513    set_namelist namelist nn_itend 40
514    set_namelist namelist ln_ctl .false.
515    set_namelist namelist ln_clobber .true.
516    set_namelist namelist jpni 4
517    set_namelist namelist jpnj 4
518    set_namelist namelist jpnij 16
519    set_namelist namelist_top ln_trcdta .false.
520    set_namelist namelist_top ln_diatrc .false.
521    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
522    # if not you need input files, and for tests is not necessary
523    set_namelist namelist_pisces ln_presatm .false.
524    set_namelist namelist_pisces ln_varpar .false.
525    set_namelist namelist_pisces ln_dust .false.
526    set_namelist namelist_pisces ln_solub .false.
527    set_namelist namelist_pisces ln_river .false.
528    set_namelist namelist_pisces ln_ndepo .false.
529    set_namelist namelist_pisces ln_ironsed .false.
530    set_namelist namelist_pisces ln_hydrofe .false.
531    # put ln_pisdmp to false : no restoring to global mean value
532    set_namelist namelist_pisces ln_pisdmp .false.
533    cd ${SETTE_DIR}
534    . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
535    cd ${SETTE_DIR}
536    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
537
538    cd ${SETTE_DIR}
539    export TEST_NAME="REPRO_2_8"
540    . prepare_exe_dir.sh
541    JOB_FILE=${EXE_DIR}/run_job.sh
542    NPROC=16
543    \rm $JOB_FILE
544    cd ${EXE_DIR}
545    set_namelist namelist nn_it000 1
546    set_namelist namelist nn_itend 40
547    set_namelist namelist ln_ctl .false.
548    set_namelist namelist ln_clobber .true.
549    set_namelist namelist jpni 2
550    set_namelist namelist jpnj 8
551    set_namelist namelist jpnij 16
552    set_namelist namelist_top ln_trcdta .false.
553    set_namelist namelist_top ln_diatrc .false.
554    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false
555    # if not you need input files, and for tests is not necessary
556    set_namelist namelist_pisces ln_presatm .false.
557    set_namelist namelist_pisces ln_varpar .false.
558    set_namelist namelist_pisces ln_dust .false.
559    set_namelist namelist_pisces ln_solub .false.
560    set_namelist namelist_pisces ln_river .false.
561    set_namelist namelist_pisces ln_ndepo .false.
562    set_namelist namelist_pisces ln_ironsed .false.
563    set_namelist namelist_pisces ln_hydrofe .false.
564    # put ln_pisdmp to false : no restoring to global mean value
565    set_namelist namelist_pisces ln_pisdmp .false.
566    cd ${SETTE_DIR}
567    . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
568    cd ${SETTE_DIR}
569    . ./fcm_job.sh $NPROC  ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
570fi
571
572# TESTS FOR AMM12 CONFIGURATION
573if [ ${config} -eq 7 ] ;  then
574    ## Restartability tests for AMM12
575    export TEST_NAME="LONG"
576    cd ${SETTE_DIR}
577    . ../CONFIG/makenemo -m ${CMP_NAM} -n AMM12_LONG -r AMM12
578    cd ${SETTE_DIR}
579    . param.cfg
580    . all_functions.sh
581    . prepare_exe_dir.sh
582    JOB_FILE=${EXE_DIR}/run_job.sh
583    NPROC=32
584    \rm $JOB_FILE
585    cd ${EXE_DIR}
586    set_namelist namelist nn_it000 1
587    set_namelist namelist nn_itend 12
588    set_namelist namelist nn_stock 6
589    set_namelist namelist nn_fwb 0
590    set_namelist namelist ln_ctl .false.
591    set_namelist namelist ln_clobber .true.
592    set_namelist namelist nn_dyn2d 2
593    set_namelist namelist nn_tra_dta 0
594    set_namelist namelist jpni 8
595    set_namelist namelist jpnj 4
596    set_namelist namelist jpnij 32
597    cd ${SETTE_DIR}
598    . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
599
600    cd ${SETTE_DIR}
601    export TEST_NAME="SHORT"
602    . prepare_exe_dir.sh
603    JOB_FILE=${EXE_DIR}/run_job.sh
604    NPROC=32
605    \rm $JOB_FILE
606    cd ${EXE_DIR}
607    set_namelist namelist nn_it000 7
608    set_namelist namelist nn_itend 12
609    set_namelist namelist nn_fwb 0
610    set_namelist namelist ln_ctl .false.
611    set_namelist namelist ln_clobber .true.
612    set_namelist namelist nn_dyn2d 2
613    set_namelist namelist nn_tra_dta 0
614    set_namelist namelist jpni 8
615    set_namelist namelist jpnj 4
616    set_namelist namelist jpnij 32
617    set_namelist namelist ln_rstart .true.
618    set_namelist namelist nn_rstctl 2
619    set_namelist namelist cn_ocerst_in \"AMM12_00000006_restart\"
620    for (( i=1; i<=$NPROC; i++)) ; do
621        L_NPROC=$(( $i - 1 ))
622        L_NPROC=`printf "%04d\n" ${L_NPROC}`
623        ln -sf ../LONG/AMM12_00000006_restart_${L_NPROC}.nc .
624    done
625    cd ${SETTE_DIR}
626    . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
627    cd ${SETTE_DIR}
628    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
629fi
630
631if [ ${config} -eq 8 ] ;  then
632    ## Reproducibility tests for AMM12
633    export TEST_NAME="REPRO_8_4"
634    cd ${SETTE_DIR}
635    . ../CONFIG/makenemo -m ${CMP_NAM} -n AMM12_32 -r AMM12 add_key "key_mpp_mpi key_mpp_rep"
636    cd ${SETTE_DIR}
637    . param.cfg
638    . all_functions.sh
639    . prepare_exe_dir.sh
640    JOB_FILE=${EXE_DIR}/run_job.sh
641    NPROC=32
642    \rm ${JOB_FILE}
643    cd ${EXE_DIR}
644    set_namelist namelist nn_it000 1
645    set_namelist namelist nn_itend 576
646    set_namelist namelist nn_stock 6
647    set_namelist namelist nn_fwb 0
648    set_namelist namelist ln_ctl .false.
649    set_namelist namelist ln_clobber .true.
650    set_namelist namelist nn_dyn2d 2
651    set_namelist namelist nn_tra_dta 0
652    set_namelist namelist jpni 8
653    set_namelist namelist jpnj 4
654    set_namelist namelist jpnij 32
655    cd ${SETTE_DIR}
656    . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
657    cd ${SETTE_DIR}
658    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
659
660    cd ${SETTE_DIR}
661    export TEST_NAME="REPRO_4_8"
662    . prepare_exe_dir.sh
663    cd ${EXE_DIR}
664    set_namelist namelist nn_it000 1
665    set_namelist namelist nn_itend 576
666    set_namelist namelist nn_fwb 0
667    set_namelist namelist ln_ctl .false.
668    set_namelist namelist ln_clobber .true.
669    set_namelist namelist nn_dyn2d 2
670    set_namelist namelist nn_tra_dta 0
671    set_namelist namelist ln_clobber .true.
672    set_namelist namelist jpni 4
673    set_namelist namelist jpnj 8
674    set_namelist namelist jpnij 32
675    cd ${SETTE_DIR}
676    . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
677    cd ${SETTE_DIR}
678    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
679fi
680
681# TEST FOR ORCA2_LIM_AGRIF : simple test of running AGRIF (no restartability neither reproducibility tests)
682if [ ${config} -eq 9 ] ;  then
683    ## ORCA2_LIM with Agulhas AGRIF zoom in MPI
684    export TEST_NAME="SHORT"
685    cd ${SETTE_DIR}
686    . ../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"
687    cd ${SETTE_DIR}
688    . param.cfg
689    . all_functions.sh
690    . prepare_exe_dir.sh
691    JOB_FILE=${EXE_DIR}/run_job.sh
692    NPROC=2
693    \rm ${JOB_FILE}
694    cd ${EXE_DIR}
695    set_namelist namelist nn_it000 1
696    set_namelist namelist nn_itend 75
697    set_namelist namelist ln_ctl .false.
698    set_namelist namelist ln_clobber .true.
699    set_namelist namelist jpni 1
700    set_namelist namelist jpnj 2
701    set_namelist namelist jpnij 2
702    set_namelist 1_namelist nn_it000 1
703    set_namelist 1_namelist nn_itend 150
704    set_namelist 1_namelist ln_ctl .false.
705    set_namelist 1_namelist ln_clobber .true.
706    cd ${SETTE_DIR}
707    . ./prepare_job.sh input_ORCA2_LIM_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
708    cd ${SETTE_DIR}
709    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
710fi
711
712done
Note: See TracBrowser for help on using the repository browser.