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 @ 3533

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

update SETTE, add CURIE machine, see ticket: #941

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