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.
README in NEMO/branches/2019/fix_sette_ticket2239 – NEMO

source: NEMO/branches/2019/fix_sette_ticket2239/README @ 10750

Last change on this file since 10750 was 10750, checked in by mathiot, 4 years ago

update nn_itend and restart name to fit new time step of ORCA2, add usage to sette.sh, add OVERFLOW in the cfg list in param.cfg and update README (ticket #2239)

File size: 6.7 KB
Line 
1usage of SETTE package:
2
3PRINCIPAL SCRIPT: sette.sh
4 * sette.sh is a simple wrapper running test on the reference configuration, test cases and generate the report at the end.
5 * sette.sh is able to take a list of configuration in argument (sette.sh -t "CFG1 CFG2 CFG3"). The list of available configurations is available in running ./sette_list_avail_cfg.sh.
6   The default for sette is to run all of the reference and test configurations.
7 * User need to set up the param.cfg file correctly and download input file before running the script.
8
9SECONDARY SCRIPT
10 * sette_reference-configuration.sh: run sette tests on the reference configurations
11 * sette_test-cases.sh             : run sette tests on test cases
12 * sette_rpt.sh                    : generate the sette report. See below in USER MODIFICATIONS the usage of the script
13 * sette_list_avail_rev.sh         : generate a listing on all the revision available in the validation directory for each configuration.
14 * sette_list_avail_cfg.sh         : generate a listing of all the available configurations.
15
16VERY IMPORTANT : for a verbose debug do:
17./sette.sh 2>&1 | tee out.sette
18this create out.sette file in ${SETTE_DIR}
19
20USER MODIFICATIONS
21 * in sette_cfg-ref.sh and sette_test-cases.sh script :
22               OPTIONAL ARGUMENT : compiler among those available in NEMOGCM/ARCH (if nothing will use the one specified in paramd.cfg)
23          BATCH_COMMAND_PAR : command for job submission in batch mode parallel (MMIÂ) specified in param.cfg
24          BATCH_COMMAND_SEQ : command for job submission in batch mode sequential (NB_PROC = 1)
25                                   default value is the BATCH_COMMAND_PAR value
26          INTERACT_FLAG : "yes" if you want to run in interactive mode
27                      "no" if you want to run in batch mode
28          MPIRUN_FLAG   : "yes" if you want to run in parallel (MPI)
29                "no" if you want to run in sequential mode (NB_PROC = 1)
30
31               makenemo -m : machine (compilator); see ./makenemo -m help (in NEMOGCM/CONFIG directory)
32                        -n : config name (in examples config_name_nproci_nprocj), see ./makenemo -n help
33                        -r : reference configuration (if you don't give it you have to choise directories to install)
34                        add_key : to add list of keys
35                        del_key : to del list of keys
36               and for more details and options of makenemo see ./makenemo -h
37
38          set_namelist : to set namelist values
39         (example : to set 75 time steps for one test : namelist nn_itend 75)
40         (        : to change cn_icerst_in name : namelist_ice cn_icerst_in  \"test_00101231_restart_icemod\")
41         (      : to activate control print : namelist ln_ctl false )
42          prepare_exe_dir.sh creates execution directory for each test
43                    : NOTE for EACH JOB EXECUTION it is needed to set TEST_NAME variable
44                TEST_NAME variable gives name to execution directory (created in prepare_exe_dir.sh)
45                IT is mandatory to have different TEST_NAME for each job run if not existing files are re-written (for example namelist)
46
47               prepare_job.sh generates the script to be executed
48         input: INPUT_FILE_CONFIG_NAME NUMBER_PROC TEST_NAME MPIRUN_FLAG JOB_FILE
49
50               fcm_job.sh needs input: TOTAL_NUMBER_OF_PROCS_used JOB_FILE_NAME INTERACT_FLAG MPIRUN_FLAG
51         (for example if you run with 4 procs JOB_FILE batch parallel
52         and only run short test ===> ./fcm_job 4 SHORT no    yes   )
53
54 * in param.cfg :
55               
56               COMPILER    : compiler among those available in NEMOGCM/ARCH
57               FORCING_DIR       : directory in which will be found input.tar file (same name in input_CONFIG_NAME.cfg)
58               INPUT_DIR         : directory in which store input files (tar file)
59                                     reference configuration input tar file could be found here : https://zenodo.org/record/1472245
60               TMPDIR            : temporary directory NEEDED ONLY FOR IBM machines (put EXP00 directory)
61          NEMO_VALIDATION_DIR : directory in which create NEMO_VALIDATION tree, and store restart, run.stat, tracer.stat and ocean.output files in
62                            tree NEMO_VALIDATION_DIR/WCONFIG_NAME/WCOMPILER_NAME/TEST_NAME/REVISION_NUMBER(or DATE)
63               BATCH_CMD           : command for job submission in batch mode
64               SVN_CMD             : svn command use to do svn info (default svn). Could be useful if you are using git svn
65               NEMO_VALIDATION_REF : reference directory
66               NEMO_REV_REF        : reference revision
67                                   : Reference directory for result comparison will be NEMO_VALIDATION_REF/COMPILER/NEMO_REV_REF
68               ADD_NODIGNEDZERO    : set "yes" if you need key_nosignedzero to run nemo
69
70 * in fcm_job.sh :
71               IMPORTANT : control that name of tar file in FORCING directory
72               is the same of that in input_REF_CONFIG.cfg, if not change one.
73
74               change in "RUN OPA" if [ ${INTERACT_FLAG} == "yes" ] mpirun command line (some examples are already written)
75          NOTE: if INTERACT_FLAG="no" it is needed a batch_file (see below to create a new one)
76
77 * in sette_rpt.sh : - if no argument are given, the report will be generated on the last changed revision.
78                   - if an argument is given (revision number) the report will be generated for this revision
79                   - if 'old' is given as argument the former behavior is applied (the latest revision is check whatever the current revision
80                   - it is possible to retreive all the available revision test using sette_list_avail_rev.sh
81
82NOTE:
83in case of error you can remove you NEW_CONF directory and all files doing :
84./makenemo -n MY_CONFIG clean_config
85
86if you want recompile nemo but before you want to clean compiled code do :
87./makenemo clean
88
89and if you have already compiled you can re-run all sette.sh and compilation part will be by-passed.
90
91NOTE 2:
92if you want a completly verbose makenemo you can uncomment "set -x" in makenemo script
93and then launch ./sette.sh 2>&1 | tee out.sette
94
95TO ADD NEW CONFIGURATION:
961. makenemo -n NEW_CONFIG (see makenemo -h for help) OR
972. makenemo -n NEW_CONFIG -r REF_CONFIG (if it is based on another reference configuration)
983. for fcm_job.sh creates a new input_NEW_CONFIG.cfg if you need tar file (if you use same tar file of GYRE, ORCA2_LIM or ORCA2_LIM_PISCES you can use it)
99
100TO ADD NEW MACHINE:
1011. add arch-compiler.fcm in NEMOGCM/ARCH directory
1022. makenemo -m new_compiler  (see makenemo -h for help)
1033. add new batch-file
104
105TO ADD NEW BATCH-FILE:
1061. see in SETTE/BATCH_TEMPLATE directory existing examples
1072. create you own batch file like: batch-${COMPILER}
108   (note: sette_test-cases.sh and sette_cfg-ref.sh will copy it in job_batch_template if you run tests in INTERACT_FLAG="no")
Note: See TracBrowser for help on using the repository browser.