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.
param.cfg in utils/CI/sette – NEMO

source: utils/CI/sette/param.cfg @ 13568

Last change on this file since 13568 was 13568, checked in by acc, 4 years ago

Added some new controls for SETTE.

SETTE currently carries out several types of tests: restartability, reproducibility, code
corruption (agrif-related) and, in the case of LOCK_EXCHANGE and OVERFLOW, a series of
runs with different physical options. For quick checking, such as is now the default with
a *DEBUG* arch file, a subset of these tests may be appropriate. This commit provides
that possibility by introducing a new command line option to sette.sh. Without arguments
SETTE will carry out all tests labelled as: "RESTART REPRO CORRUPT PHYOPTS". The
explicit equivalent would be:

./sette.sh -x "RESTART REPRO CORRUPT PHYOPTS"

any subset of these is allowed but RESTART is mandatory (since this compiles the code)
and will be prepended if omitted. For example:

./sette.sh

Configurations ORCA2_ICE_PISCES ORCA2_OFF_PISCES AMM12 AGRIF WED025 GYRE_PISCES SAS
ORCA2_ICE_OBS ICE_AGRIF OVERFLOW LOCK_EXCHANGE VORTEX ISOMIP+ will be tested if they
are available

Carrying out the following tests: RESTART REPRO CORRUPT PHYOPTS


Or to test restartability only on one configuration:

./sette.sh -t GYRE_PISCES -x RESTART

Configuration GYRE_PISCES will be tested if it is available

Carrying out the following tests: RESTART


Or trying to test reproducibility on its own will also invoke RESTART:

./sette.sh -t GYRE_PISCES -x REPRO

Configuration GYRE_PISCES will be tested if it is available

Carrying out the following tests: RESTART REPRO


Some subtle changes to the bash scripts have been necessary to achieve
this. Notably, param.cfg is only evaluated by sette.sh and consequently the
sette_reference-configurations.sh and sette_test-cases.sh scripts must now be run within
the same shell as sette.sh. This has been tested but there remains a possibility that
different flavours of bash may behave differently. I will hold off from updating the
svn_external reference for SETTE until this has been confirmed to work elsewhere.

One other change is the addition of an internal setting for USING_EXTRA_HALO which
mimics the USING_ICEBERGS setting within sette_reference-configurations.sh and can be
used to toggle testing with the extra halo.

This commit also introduces a debug arch file for the NOC MOBILIS system. This is an
intel-based system but has a rather dated ifort compiler (17.0.4). The -init=huge
keyword was not introduced until ifort v18. In all other arguments this arch file
matches the set recommened by Seb.

File size: 4.5 KB
Line 
1# Computer/user dependant variable needed to run sette
2#
3# REFERENCE run.stat tracer.stat you want to compare with
4# (if no change to the default, no check on result change will be done)
5NEMO_VALIDATION_REF=/path/to/reference/sette/results
6NEMO_REV_REF=0000
7#
8# ------------------------------------------------------------------------------------------
9# IMPORTANT:
10# variables (COMPILER, USING_XIOS, USING_MPMD, BATCH_CMD, BATCH_STAT, BATCH_NAME, FORCING_DIR, SVN_CMD, ADD_NOSIGNEDZERO)
11# can be exported from your shell startup files.
12# If it is the case, nothing to do
13# otherwise, you need to update the default initialisation
14#
15# ADVISE: setup the default value in your startup file if it doesn't fit your need for at least
16# SETTE_COMPILER, SETTE_BATCH_CMD, SETTE_BATCH_STAT, SETTE_BATCH_NAME, SETTE_FORCING_DIR,
17#
18# ------------------------------------------------------------------------------------------
19# COMPILER setting
20# Compiler among those in NEMOGCM/ARCH
21COMPILER=${SETTE_COMPILER:-XXXXXXXX}
22# ------------------------------------------------------------------------------------------
23#
24# BATCH command
25# command to submit a job
26BATCH_CMD=${SETTE_BATCH_CMD:-llsubmit}
27# command to check job status
28BATCH_STAT=${SETTE_BATCH_STAT:-llq}
29# generic sette job name (as it appears with $BATCH_STAT command)
30BATCH_NAME=${SETTE_BATCH_NAME:-sette}
31# ------------------------------------------------------------------------------------------
32#
33# FILES STORING paths
34# forcing files storing
35FORCING_DIR=${SETTE_FORCING_DIR:-$WORKDIR/FORCING}
36# validation files storing
37NEMO_VALIDATION_DIR=${SETTE_NEMO_VALIDATION_DIR:-$MAIN_DIR}/NEMO_VALIDATION
38# input files storing (namelist, iodef ...) (DO NOT CHANGE)
39INPUT_DIR=${CONFIG_DIR}/${NEW_CONF}/EXP00
40# ------------------------------------------------------------------------------------------
41#
42# RUN set up
43# USING_XIOS        : flag to control the activation of key_iomput
44#                      "yes" to compile using key_iomput and link to the external XIOS library
45#                      "no"  to compile without key_iomput and link to the old IOIPSL library
46USING_XIOS=${SETTE_XIOS:-"yes"}
47# USING_MPMD        : flag to control the use of stand-alone IO servers
48#                     requires USING_XIOS="yes"
49#                      "yes" to run in MPMD (detached) mode with stand-alone IO servers
50#                      "no"  to run in SPMD (attached) mode without separate IO servers
51# MPMD
52USING_MPMD=${SETTE_MPMD:-"no"}
53# generique batch scrip prefix name if MPMD set to true/false
54JOB_PREFIX_MPMD=${SETTE_JOB_PREFIX_MPMD:-batch-mpmd}
55JOB_PREFIX_NOMPMD=${SETTE_JOB_PREFIX_NOMPMD:-batch}
56# ------------------------------------------------------------------------------------------
57#
58# MISCELENIOUS
59# command for svn (some people use git svn)
60# used in sette_rpt and in all_function to display revision and build correct repository name
61SVN_CMD=${SETTE_SVN_CMD:-svn}
62# add key key_nosignedzero at the compilation step
63ADD_NOSIGNEDZERO=${SETTE_ADD_NOSIGNEDZERO:-"yes"}
64# only for IBM
65#TMPDIR=${CONFIG_DIR}/${NEW_CONF}/EXP00
66# cleaning CFG_ST
67CLEAN_CONFIGS=${SETTE_CLEAN_CONFIGS:-"no"}
68# synchronisation MY_SRC and EXP00 of CFG_ST with MY_SRC and EXPREF form CFG
69SYNC_CONFIGS=${SETTE_SYNC_CONFIGS:-"no"}
70# langage (only en_US supported). This is used to grep information form linux/svn command.
71LC_MESSAGES=en_US
72# ------------------------------------------------------------------------------------------
73#
74# LIST OF CONFIGURATIONS
75# to be updated if you added an new configuration in sette_test-cases.sh or sette_reference-configuration.sh
76if [ -z "${TEST_CONFIGS}" ]; then
77  export TEST_CONFIGS=(${SETTE_TEST_CONFIGS[@]:-"ORCA2_ICE_PISCES ORCA2_OFF_PISCES AMM12 AGRIF WED025 GYRE_PISCES SAS ORCA2_ICE_OBS ICE_AGRIF OVERFLOW LOCK_EXCHANGE VORTEX ISOMIP+"})
78fi
79#
80# TYPES OF TESTS TO PERFORM
81export DO_RESTART=1    # The restart test is always needed because this compiles the code
82export DO_REPRO=0
83export DO_CORRUPT=0
84export DO_PHYOPTS=0
85TEST_TYPES=(${SETTE_TEST_TYPES[@]:-"RESTART REPRO PHYOPTS CORRUPT"})
86if [[ ! ${TEST_TYPES[*]} =~ .*RESTART.* ]]; then export TEST_TYPES=("RESTART" ${TEST_TYPES[@]}) ;fi
87if [[ ${TEST_TYPES[*]} =~ .*REPRO.* ]]; then export DO_REPRO=1 ;fi
88if [[ ${TEST_TYPES[*]} =~ .*CORRUPT.* ]]; then export DO_CORRUPT=1 ;fi
89if [[ ${TEST_TYPES[*]} =~ .*PHYOPTS.* ]]; then export DO_PHYOPTS=1 ;fi
90# ------------------------------------------------------------------------------------------
91#
92# reporting 
93# Set number of passes (default only 1). For a second pass, set '0 1'
94RPT_PASSES=${SETTE_RPT_NPASSES:-'0'}
Note: See TracBrowser for help on using the repository browser.