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

Last change on this file since 13900 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
RevLine 
[11161]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)
[12135]5NEMO_VALIDATION_REF=/path/to/reference/sette/results
6NEMO_REV_REF=0000
[11161]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#
[12135]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,
[11161]17#
[12135]18# ------------------------------------------------------------------------------------------
19# COMPILER setting
20# Compiler among those in NEMOGCM/ARCH
21COMPILER=${SETTE_COMPILER:-XXXXXXXX}
22# ------------------------------------------------------------------------------------------
23#
[11161]24# BATCH command
25# command to submit a job
[12135]26BATCH_CMD=${SETTE_BATCH_CMD:-llsubmit}
[11161]27# command to check job status
[12135]28BATCH_STAT=${SETTE_BATCH_STAT:-llq}
[11161]29# generic sette job name (as it appears with $BATCH_STAT command)
30BATCH_NAME=${SETTE_BATCH_NAME:-sette}
31# ------------------------------------------------------------------------------------------
32#
[12135]33# FILES STORING paths
[11161]34# forcing files storing
[12135]35FORCING_DIR=${SETTE_FORCING_DIR:-$WORKDIR/FORCING}
[11161]36# validation files storing
[12135]37NEMO_VALIDATION_DIR=${SETTE_NEMO_VALIDATION_DIR:-$MAIN_DIR}/NEMO_VALIDATION
[11161]38# input files storing (namelist, iodef ...) (DO NOT CHANGE)
[2354]39INPUT_DIR=${CONFIG_DIR}/${NEW_CONF}/EXP00
[11161]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
[12135]52USING_MPMD=${SETTE_MPMD:-"no"}
[11161]53# generique batch scrip prefix name if MPMD set to true/false
[12135]54JOB_PREFIX_MPMD=${SETTE_JOB_PREFIX_MPMD:-batch-mpmd}
[11161]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"}
[12569]64# only for IBM
[3294]65#TMPDIR=${CONFIG_DIR}/${NEW_CONF}/EXP00
[12569]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
[11161]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
[13568]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
[11161]90# ------------------------------------------------------------------------------------------
[12569]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.