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

source: branches/2012/dev_LOCEAN_2012/NEMOGCM/SETTE/sette.sh @ 3618

Last change on this file since 3618 was 3584, checked in by cetlod, 12 years ago

Add in branch 2012/dev_LOCEAN_2012 changes from dev_r3438_LOCEAN15_PISLOB & dev_r3387_LOCEAN6_AGRIF_LIM, see ticket 1000

  • Property svn:executable set to *
File size: 25.0 KB
RevLine 
[3520]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#############################################################
[3532]13#set -x
[3520]14set -o posix
15#set -u
16#set -e
17#+
18#
19# ================
20# sette.sh
21# ================
22#
23# ----------------------------------------------
24# Set of tests for NEMO
25# ----------------------------------------------
26#
27# SYNOPSIS
28# ========
29#
30# ::
31#
32#  $ ./sette.sh
33#
34# DESCRIPTION
35# ===========
36#
37# Variables to be checked by user:
38#
39# COMPILER : name of compiler as defined in NEMOGCM/ARCH directory
40#
41# BATCH_COMMAND :  name of the command for batch submission
42#
[3584]43# INTERACT_FLAG :  flag to run in interactive mode "yes"
44#                       to run in batch mode "no"
[3520]45#
[3584]46# MPIRUN_FLAG   :  flag to run in parallel (MPI) "yes"
47#                       to run in sequential mode (NB_PROC = 1) "no"
[3520]48#
49# Principal script is sette.sh, that calls
50#
51#  makenemo
52#
53#   creates the exectuable in ${CONFIG_NAME}/BLD/bin/nemo.exe  (and its link opa in ${CONFIG_NAME}/EXP00)
54#
55#  param.cfg : sets and loads following directories:
56#
57#   FORCING_DIR : is the directory for forcing files (tarfile)
58#
59#   INPUT_DIR : is the directory for input files storing
60#
61#   TMPDIR : is the temporary directory (if needed)
62#
63#   NEMO_VALIDATION_DIR : is the validation directory
64#
65#   (NOTE: this file is the same for all configrations to be tested with sette)
66#
67#
68#  all_functions.sh : loads functions used by sette (note: new functions can be added here)
69#
70#   set_namelist : function declared in all_functions that set namelist parameters for tests
71#
72#   post_test_tidyup : creates validation storage directory and copy needed output files (solver.stat and ocean.output) in it after execution of test.
73#
74#   Tree of VALIDATION is:
75#
76#   NEMO_VALIDATION_DIR/WCONFIG_NAME/WCOMPILER_NAME/TEST_NAME/REVISION_NUMBER(or DATE)
77#
78#
79#  prepare_exe_dir.sh : defines and creates directory where the test is executed
80#
81#       execution directory takes name of TEST_NAME defined in every test in sette.sh
82#
83#       ( each test in executed in its own directory )
84#
85#
[3584]86#  prepare_job.sh
87#
88#  to generate the script run_job.sh
89#
[3520]90#  fcm_job.sh
91#
[3584]92#   run in batch (INTERACT_FLAG="no") or interactive (INTERACT_FLAG="yes") see sette.sh and BATCH_TEMPLATE directory
[3520]93#
94#   (note this job needs to have an input_CONFIG.cfg in which can be found input tar file)
95#
96#  NOTE: if job is not launched for some problems you have executable ready in ${EXE_DIR} directory
97#
98#  NOTE: the changed namelists are leaved in ${EXE_DIR} directory whereas original namelist remains in ${NEW_CONF}/EXP00
99#
100#  in ${SETTE_DIR} is created output.sette with the echo of executed commands
101#
102#  if sette.sh is stopped in output.sette there is written the last command executed by sette.sh
103#
104#  if you run: ./sette.sh 2>&1 | tee out.sette
105#
106#  in ${SETTE_DIR} out.sette is redirected standard error & standard output
107#
108#
109# EXAMPLES
110# ========
111#
112# ::
113#
114#  $ ./sette.sh
115#
116#
117# TODO
118# ====
119#
120# option debug
121#
122# EVOLUTIONS
123# ==========
124#
[3584]125# $Id$
[3520]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
[3584]139
[3520]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
[3521]152for config in 1 2 3 4 5 6 7 8 9
[3520]153do
154
[3584]155# TESTS FOR GYRE CONFIGURATION
[3520]156if [ ${config} -eq 1 ] ;  then
[3584]157    ## Restartability tests for GYRE
[3520]158    export TEST_NAME="LONG"
159    cd ${SETTE_DIR}
[3584]160    . ../CONFIG/makenemo -m ${CMP_NAM} -n GYRE_LONG -r GYRE -j 8 add_key "key_mpp_mpi" 
[3520]161    cd ${SETTE_DIR}
162    . param.cfg
163    . all_functions.sh
164    . prepare_exe_dir.sh
165    JOB_FILE=${EXE_DIR}/run_job.sh
[3532]166    NPROC=4
[3520]167    \rm ${JOB_FILE}
168    cd ${EXE_DIR}
[3584]169    set_namelist namelist cn_exp \"GYRE_LONG\"
[3520]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
[3532]175    set_namelist namelist jpni 2
176    set_namelist namelist jpnj 2
177    set_namelist namelist jpnij 4
[3520]178    cd ${SETTE_DIR}
[3532]179    . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
[3520]180
181    cd ${SETTE_DIR}
182    export TEST_NAME="SHORT"
183    . prepare_exe_dir.sh
184    cd ${EXE_DIR}
[3584]185    set_namelist namelist cn_exp \"GYRE_SHORT\"
[3520]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
[3532]193    set_namelist namelist jpni 2
194    set_namelist namelist jpnj 2
195    set_namelist namelist jpnij 4
[3584]196    set_namelist namelist cn_ocerst_in \"GYRE_LONG_00000060_restart\"
[3537]197    for (( i=1; i<=$NPROC; i++)) ; do
198        L_NPROC=$(( $i - 1 ))
199        L_NPROC=`printf "%04d\n" ${L_NPROC}`
[3584]200        ln -sf ../LONG/GYRE_LONG_00000060_restart_${L_NPROC}.nc .
[3537]201    done
[3520]202    cd ${SETTE_DIR}
[3532]203    . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
[3520]204    cd ${SETTE_DIR}
[3532]205    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
[3520]206fi
207
208if [ ${config} -eq 2 ] ;  then
[3584]209    ## Reproducibility tests for GYRE
[3520]210    export TEST_NAME="REPRO_1_4"
211    cd ${SETTE_DIR}
[3584]212    . ../CONFIG/makenemo -m ${CMP_NAM} -n GYRE_4 -r GYRE -j 8 add_key "key_mpp_mpi key_mpp_rep"
[3520]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
[3532]219    \rm ${JOB_FILE}
[3520]220    cd ${EXE_DIR}
[3584]221    set_namelist namelist cn_exp \"GYRE_14\"
[3520]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
[3584]240    JOB_FILE=${EXE_DIR}/run_job.sh
241    NPROC=4
242    \rm $JOB_FILE
[3520]243    cd ${EXE_DIR}
[3584]244    set_namelist namelist cn_exp \"GYRE_22\"
[3520]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}
[3532]258
[3520]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}
[3584]266    . ../CONFIG/makenemo -m ${CMP_NAM} -n ORCA2LIMPIS_LONG -r ORCA2_LIM_PISCES -j 8 add_key "key_mpp_mpi"
[3520]267    cd ${SETTE_DIR}
268    . param.cfg
269    . all_functions.sh
270    . prepare_exe_dir.sh
271    JOB_FILE=${EXE_DIR}/run_job.sh
[3532]272    NPROC=4
273    \rm ${JOB_FILE}
[3520]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.
[3532]280    set_namelist namelist jpni 2
281    set_namelist namelist jpnj 2
282    set_namelist namelist jpnij 4
[3520]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
[3584]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.
[3520]292    set_namelist namelist_pisces ln_river .false.
293    set_namelist namelist_pisces ln_ndepo .false.
[3584]294    set_namelist namelist_pisces ln_ironsed .false.
295    set_namelist namelist_pisces ln_hydrofe .false.
[3520]296    cd ${SETTE_DIR}
[3532]297    . ./prepare_job.sh input_ORCA2_LIM_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
298   
299    cd ${SETTE_DIR}
[3520]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.
[3532]310    set_namelist namelist jpni 2
311    set_namelist namelist jpnj 2
312    set_namelist namelist jpnij 4
[3520]313    set_namelist namelist nn_solv 2
[3584]314    set_namelist namelist_top ln_diatrc .false.
315    set_namelist namelist_top ln_rsttr .true.
316    set_namelist namelist_top nn_rsttr 2
[3520]317    set_namelist namelist cn_ocerst_in \"O2LP_LONG_00000075_restart\"
318    set_namelist namelist_ice cn_icerst_in \"O2LP_LONG_00000075_restart_ice\"
[3537]319    set_namelist namelist_top cn_trcrst_in \"O2LP_LONG_00000075_restart_trc\"
[3520]320    # put ln_ironsed, ln_river, ln_ndepo, ln_dust
321    # if not you need input files, and for tests is not necessary
[3584]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.
[3520]326    set_namelist namelist_pisces ln_river .false.
327    set_namelist namelist_pisces ln_ndepo .false.
[3584]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.
[3537]332    for (( i=1; i<=$NPROC; i++)) ; do
333        L_NPROC=$(( $i - 1 ))
334        L_NPROC=`printf "%04d\n" ${L_NPROC}`
[3555]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 .
[3537]338    done
[3520]339    cd ${SETTE_DIR}
[3532]340    . ./prepare_job.sh input_ORCA2_LIM_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
[3520]341    cd ${SETTE_DIR}
[3532]342    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
[3520]343fi
344
345if [ ${config} -eq 4 ] ;  then
[3584]346    ## Reproducibility tests for ORCA2_LIM_PISCES
[3520]347    export TEST_NAME="REPRO_4_4"
348    cd ${SETTE_DIR}
[3584]349    . ../CONFIG/makenemo -m ${CMP_NAM} -n ORCA2LIMPIS_16 -r ORCA2_LIM_PISCES -j 8 add_key "key_mpp_mpi key_mpp_rep"
[3520]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
[3532]361    set_namelist namelist ln_ctl .false.
[3520]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
[3584]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.
[3520]375    set_namelist namelist_pisces ln_river .false.
376    set_namelist namelist_pisces ln_ndepo .false.
[3584]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.
[3520]381    cd ${SETTE_DIR}
382    . ./prepare_job.sh input_ORCA2_LIM_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
383    cd ${SETTE_DIR}
[3532]384    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
[3520]385
386    cd ${SETTE_DIR}
387    export TEST_NAME="REPRO_2_8"
388    . prepare_exe_dir.sh
[3584]389    JOB_FILE=${EXE_DIR}/run_job.sh
390    NPROC=16
391    \rm $JOB_FILE
[3520]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
[3584]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.
[3520]409    set_namelist namelist_pisces ln_river .false.
410    set_namelist namelist_pisces ln_ndepo .false.
[3584]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.
[3520]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}
[3584]426    . ../CONFIG/makenemo -m ${CMP_NAM} -n ORCA2OFFPIS_LONG -r ORCA2_OFF_PISCES -j 8 add_key "key_mpp_mpi key_mpp_rep" 
[3520]427    cd ${SETTE_DIR}
428    . param.cfg
429    . all_functions.sh
430    . prepare_exe_dir.sh
431    JOB_FILE=${EXE_DIR}/run_job.sh
[3532]432    NPROC=4
[3520]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.
[3532]440    set_namelist namelist jpni 2
441    set_namelist namelist jpnj 2
442    set_namelist namelist jpnij 4
[3520]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
[3584]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.
[3520]451    set_namelist namelist_pisces ln_river .false.
452    set_namelist namelist_pisces ln_ndepo .false.
[3584]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.
[3520]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.
[3532]469    set_namelist namelist jpni 2
470    set_namelist namelist jpnj 2
471    set_namelist namelist jpnij 4
[3520]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\"
[3537]476    for (( i=1; i<=$NPROC; i++)) ; do
477        L_NPROC=$(( $i - 1 ))
478        L_NPROC=`printf "%04d\n" ${L_NPROC}`
[3555]479        ln -sf ../LONG/OFFP_LONG_00000020_restart_trc_${L_NPROC}.nc .
[3537]480    done
[3520]481    # put ln_ironsed, ln_river, ln_ndepo, ln_dust
482    # if not you need input files, and for tests is not necessary
[3584]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.
[3520]487    set_namelist namelist_pisces ln_river .false.
488    set_namelist namelist_pisces ln_ndepo .false.
[3584]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.
[3520]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
[3584]500    ## Reproducibility tests for ORCA2_OFF_PISCES
[3520]501    export TEST_NAME="REPRO_4_4"
502    cd ${SETTE_DIR}
[3584]503    . ../CONFIG/makenemo -m ${CMP_NAM} -n ORCA2OFFPIS_16 -r ORCA2_OFF_PISCES -j 8 add_key "key_mpp_mpi key_mpp_rep"
[3520]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
[3532]514    set_namelist namelist ln_ctl .false.
[3520]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
[3584]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.
[3520]527    set_namelist namelist_pisces ln_river .false.
528    set_namelist namelist_pisces ln_ndepo .false.
[3584]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.
[3520]533    cd ${SETTE_DIR}
534    . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
535    cd ${SETTE_DIR}
[3532]536    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
[3520]537
538    cd ${SETTE_DIR}
539    export TEST_NAME="REPRO_2_8"
540    . prepare_exe_dir.sh
[3584]541    JOB_FILE=${EXE_DIR}/run_job.sh
542    NPROC=16
543    \rm $JOB_FILE
[3520]544    cd ${EXE_DIR}
545    set_namelist namelist nn_it000 1
546    set_namelist namelist nn_itend 40
[3532]547    set_namelist namelist ln_ctl .false.
[3520]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
[3584]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.
[3520]560    set_namelist namelist_pisces ln_river .false.
561    set_namelist namelist_pisces ln_ndepo .false.
[3584]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.
[3520]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
[3584]572# TESTS FOR AMM12 CONFIGURATION
[3520]573if [ ${config} -eq 7 ] ;  then
[3532]574    ## Restartability tests for AMM12
575    export TEST_NAME="LONG"
[3520]576    cd ${SETTE_DIR}
[3532]577    . ../CONFIG/makenemo -m ${CMP_NAM} -n AMM12_LONG -r AMM12
[3520]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
[3532]587    set_namelist namelist nn_itend 12
588    set_namelist namelist nn_stock 6
[3520]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}
[3532]601    export TEST_NAME="SHORT"
[3520]602    . prepare_exe_dir.sh
[3584]603    JOB_FILE=${EXE_DIR}/run_job.sh
604    NPROC=32
605    \rm $JOB_FILE
[3520]606    cd ${EXE_DIR}
[3532]607    set_namelist namelist nn_it000 7
608    set_namelist namelist nn_itend 12
[3520]609    set_namelist namelist nn_fwb 0
610    set_namelist namelist ln_ctl .false.
[3532]611    set_namelist namelist ln_clobber .true.
[3520]612    set_namelist namelist nn_dyn2d 2
613    set_namelist namelist nn_tra_dta 0
[3532]614    set_namelist namelist jpni 8
615    set_namelist namelist jpnj 4
[3520]616    set_namelist namelist jpnij 32
[3532]617    set_namelist namelist ln_rstart .true.
618    set_namelist namelist nn_rstctl 2
619    set_namelist namelist cn_ocerst_in \"AMM12_00000006_restart\"
[3537]620    for (( i=1; i<=$NPROC; i++)) ; do
621        L_NPROC=$(( $i - 1 ))
622        L_NPROC=`printf "%04d\n" ${L_NPROC}`
[3555]623        ln -sf ../LONG/AMM12_00000006_restart_${L_NPROC}.nc .
[3537]624    done
[3520]625    cd ${SETTE_DIR}
626    . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
627    cd ${SETTE_DIR}
[3532]628    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
[3520]629fi
630
631if [ ${config} -eq 8 ] ;  then
[3532]632    ## Reproducibility tests for AMM12
633    export TEST_NAME="REPO_8_4"
[3520]634    cd ${SETTE_DIR}
[3584]635    . ../CONFIG/makenemo -m ${CMP_NAM} -n AMM12_32 -r AMM12 add_key "key_mpp_mpi key_mpp_rep"
[3520]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
[3532]642    \rm ${JOB_FILE}
[3520]643    cd ${EXE_DIR}
644    set_namelist namelist nn_it000 1
[3584]645    set_namelist namelist nn_itend 12
646    set_namelist namelist nn_stock 6
[3520]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}
[3532]661    export TEST_NAME="REPO_4_8"
[3520]662    . prepare_exe_dir.sh
663    cd ${EXE_DIR}
[3532]664    set_namelist namelist nn_it000 1
665    set_namelist namelist nn_itend 576
[3520]666    set_namelist namelist nn_fwb 0
667    set_namelist namelist ln_ctl .false.
[3584]668    set_namelist namelist ln_clobber .true.
[3520]669    set_namelist namelist nn_dyn2d 2
670    set_namelist namelist nn_tra_dta 0
[3532]671    set_namelist namelist ln_clobber .true.
672    set_namelist namelist jpni 4
673    set_namelist namelist jpnj 8
[3520]674    set_namelist namelist jpnij 32
[3584]675    set_namelist namelist ln_rstart .true.
676    set_namelist namelist nn_rstctl 2
677    set_namelist namelist cn_ocerst_in \"../LONG/AMM12_00000006_restart\"
[3520]678    cd ${SETTE_DIR}
679    . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
680    cd ${SETTE_DIR}
[3532]681    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
[3520]682fi
683
684# TEST FOR ORCA2_LIM_AGRIF : simple test of running AGRIF (no restartability neither reproducibility tests)
685if [ ${config} -eq 9 ] ;  then
686    ## ORCA2_LIM with Agulhas AGRIF zoom in MPI
687    export TEST_NAME="SHORT"
688    cd ${SETTE_DIR}
[3584]689    . ../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"
[3520]690    cd ${SETTE_DIR}
691    . param.cfg
692    . all_functions.sh
693    . prepare_exe_dir.sh
694    JOB_FILE=${EXE_DIR}/run_job.sh
695    NPROC=2
[3532]696    \rm ${JOB_FILE}
[3520]697    cd ${EXE_DIR}
698    set_namelist namelist nn_it000 1
699    set_namelist namelist nn_itend 75
700    set_namelist namelist ln_ctl .false.
701    set_namelist namelist ln_clobber .true.
702    set_namelist namelist jpni 1
703    set_namelist namelist jpnj 2
704    set_namelist namelist jpnij 2
705    set_namelist 1_namelist nn_it000 1
706    set_namelist 1_namelist nn_itend 150
707    set_namelist 1_namelist ln_ctl .false.
708    set_namelist 1_namelist ln_clobber .true.
709    cd ${SETTE_DIR}
710    . ./prepare_job.sh input_ORCA2_LIM_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE}
711    cd ${SETTE_DIR}
[3532]712    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG}
[3520]713fi
714
715done
Note: See TracBrowser for help on using the repository browser.