Changeset 11140 for NEMO/branches/2019/fix_sette_ticket2239/README.rst
- Timestamp:
- 2019-06-19T17:38:50+02:00 (5 years ago)
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/fix_sette_ticket2239/README.rst
r10820 r11140 1 usage of SETTE package: 1 ====================== 2 usage of SETTE package 3 ====================== 2 4 3 INSTALLATION: 4 The sette directory have to be located in the main directory (at the same level as src/ or cfg/). 5 INSTALLATION 6 ============ 7 * checkout the code as follow: 8 .. code-block:: console 5 9 6 PRINCIPAL SCRIPT: sette.sh 7 * sette.sh is a simple wrapper that runs tests on the reference configurations, test cases and generates the report at the end. 8 * sette.sh is able to take a list of configurations in argument (sette.sh -t "CFG1 CFG2 CFG3"). 10 $ svn checkout http://forge.ipsl.jussieu.fr/nemo/svn/utils/CI/sette sette 11 12 * The sette directory have to be located in the main directory (at the same level as ``src/`` or ``cfg/``). 13 14 MASTER SCRIPT: sette.sh 15 ======================= 16 * ``sette.sh`` is a simple wrapper that runs tests on the reference configurations, test cases and generates the report at the end. 17 * ``sette.sh`` is able to take a list of configurations in argument (sette.sh -t "CFG1 CFG2 CFG3"). 9 18 - The list of available configurations is available in running ./sette_list_avail_cfg.sh. 10 19 - The default for sette is to run all of the reference and test configurations. 11 * Users need to set up the param.cfgfile correctly and download input files before running the script.20 * Users need to set up the ``param.cfg`` file correctly and download input files before running the script. 12 21 13 22 SECONDARY SCRIPT 14 * sette_reference-configuration.sh runs sette tests on the reference configurations 15 * sette_test-cases.sh runs sette tests on test cases 16 * sette_list_avail_rev.sh generates a listing on all the revisions available in the validation directory for each configuration. 17 * sette_list_avail_cfg.sh generates a listing of all the available configurations. 18 * sette_rpt.sh generates the report 23 ================ 24 * ``sette_reference-configuration.sh`` runs sette tests on the reference configurations 25 * ``sette_test-cases.sh`` runs sette tests on test cases 26 * ``sette_list_avail_rev.sh`` generates a listing on all the revisions available in the validation directory for each configuration. 27 * ``sette_list_avail_cfg.sh`` generates a listing of all the available configurations. 28 * ``sette_rpt.sh`` generates the report 19 29 20 30 USER SETUP (recommended) 21 * in param.cfg : 22 - variables (COMPILER, NEMO_VALIDATION_REF, NEMO_REV_REF) have to be specified in param.cfg 23 - variables (BATCH_CMD, BATCH_STAT, BATCH_NAME, FORCING_DIR, SVN_CMD, ADD_NOSIGNEDZERO) 24 can be exported from your shell startup files. It is advise to setup the default value in your startup file if it doesn't fit your need. 25 If you prefer not doing so, you need to update the default initialisation 31 ======================== 32 * in ``param.cfg`` : 33 - variables (NEMO_VALIDATION_REF, NEMO_REV_REF) have to be specified in param.cfg 34 - variables SETTE_(COMPILER, USING_XIOS, USING_MPMD, JOB_PREFIX_MPMD, JOB_PREFIX_NOMPMD, BATCH_CMD, BATCH_STAT, BATCH_NAME, FORCING_DIR, SVN_CMD, NEMO_VALIDATION_DIR, ADD_NOSIGNEDZERO) 35 can be exported from your shell startup files. It is advise to setup the default value in your startup file if it doesn't fit your need. 36 If you prefer not doing so, you need to update the default initialisation 26 37 - variable NEMO_VALIDATION_DIR is sette by default in MAIN_DIR/NEMO_VALIDATION (this is to avoid overwritting results when running sette on different branches). 27 - description of variables listed in param.cfg: 28 COMPILER : compiler among those available in NEMOGCM/ARCH 29 # 30 # reference version for bit reproducibility results 31 NEMO_VALIDATION_REF : reference directory 32 NEMO_REV_REF : reference revision 33 # 34 # batch command needed 35 BATCH_CMD : command for job submission in batch mode 36 BATCH_STAT : command to check job status 37 BATCH_NAME : generic sette job name (as it appears with $BATCH_STAT command) 38 # 39 # file storing 40 FORCING_DIR : directory where is stored input.tar file (same name in input_CONFIG_NAME.cfg) 41 reference configuration input tar file could be found here : https://zenodo.org/record/1472245 42 NEMO_VALIDATION_DIR : directory where is stored restarts, run.stat, tracer.stat and ocean.output files for each configuration 43 ( NEMO_VALIDATION_DIR/WCONFIG_NAME/WCOMPILER_NAME/TEST_NAME/REVISION_NUMBER(or DATE) ) 44 INPUT_DIR : directory where is stored input files (DO NOT CHANGE IT) 45 # 46 # misc. 47 SVN_CMD : svn command use to do svn info (default svn). Could be useful if you are using git svn 48 : Reference directory for result comparison will be NEMO_VALIDATION_REF/COMPILER/NEMO_REV_REF 49 ADD_NODIGNEDZERO : set "yes" if you need key_nosignedzero to run nemo 38 - description of variables listed in param.cfg (SETTE_): 39 40 # reference version for bit reproducibility results 41 | NEMO_VALIDATION_REF : reference directory 42 | NEMO_REV_REF : reference revision 43 44 # compiler information 45 | COMPILER : compiler among those available in NEMOGCM/ARCH 46 47 # XIOS management 48 | USING_XIOS : flag to control the activation of key_iomput. 49 "yes" to compile using key_iomput and link to the external XIOS library. 50 "no" to compile without key_iomput and link to the old IOIPSL library. 51 | USING_MPMD : flag to control the use of stand-alone IO servers 52 (requires USING_XIOS="yes"). 53 "yes" to run in MPMD (detached) mode with stand-alone IO servers. 54 "no" to run in SPMD (attached) mode without separate IO servers. 55 # generique batch scrip prefix name if MPMD set to true/false 56 | JOB_PREFIX_MPMD 57 | JOB_PREFIX_NOMPMD 58 59 # batch command needed 60 | BATCH_CMD : command for job submission in batch mode 61 | BATCH_STAT : command to check job status 62 | BATCH_NAME : generic sette job name (as it appears with $BATCH_STAT command) 63 64 # file storing 65 | FORCING_DIR : directory where is stored input.tar file (same name in input_CONFIG_NAME.cfg) 66 reference configuration input tar file could be found here : https://zenodo.org/record/1472245 67 | NEMO_VALIDATION_DIR : directory where is stored restarts, run.stat, tracer.stat and ocean.output files for each configuration 68 ( NEMO_VALIDATION_DIR/WCONFIG_NAME/WCOMPILER_NAME/TEST_NAME/REVISION_NUMBER(or DATE) ) 69 | INPUT_DIR : directory where is stored input files (DO NOT CHANGE IT) 70 71 # misc. 72 | SVN_CMD : svn command use to do svn info (default svn). Could be useful if you are using git svn 73 : Reference directory for result comparison will be NEMO_VALIDATION_REF/COMPILER/NEMO_REV_REF 74 | ADD_NODIGNEDZERO : set "yes" if you need key_nosignedzero to run nemo 50 75 51 USAGE of main scripts: 52 * sette.sh : it is a simple wrapper to run tests on the reference configurations, test-cases and generate the report at the end. 76 USAGE of main scripts 77 ===================== 78 * ``sette.sh`` : it is a simple wrapper to run tests on the reference configurations, test-cases and generate the report at the end. 53 79 - if no argument is given, sette run all the reference configurations and test cases 54 80 - if a list of argument is provided (sette.sh -t "CFG1 CFG2 CFG3"), sette will only run these configurations. 55 81 The list of available configurations is available in running ./sette_list_avail_cfg.sh. 56 82 - user need to set up the param.cfg file correctly and download input file before running the script. 57 * sette_rpt.sh: it generates the sette report.83 * ``sette_rpt.sh`` : it generates the sette report. 58 84 - if no argument is given, the report will be generated on the last changed revision. 59 85 - if an argument is given (revision number) the report will be generated for this revision only … … 61 87 - it is possible to retreive all the available revision test using sette_list_avail_rev.sh 62 88 - it is NOT possible to run sette_rpt.sh for a single configuration. 63 * sette_list_avail_rev.sh: generate a listing on all the revisions available in the validation directory for each configuration.89 * ``sette_list_avail_rev.sh`` : generate a listing on all the revisions available in the validation directory for each configuration. 64 90 - no argument needed 65 * sette_list_avail_cfg.sh: generate a listing of all the available configurations.91 * ``sette_list_avail_cfg.sh`` : generate a listing of all the available configurations. 66 92 - no argument needed 67 93 68 NOTES: 69 * compilation issues: 70 - in case of error you can remove you NEW_CONF directory and all files doing : 71 ./makenemo -n MY_CONFIG clean_config 94 NOTES 95 ===== 96 * compilation issues: 97 - in case of error you can remove your NEW_CONF directory and all files doing : 98 99 :: 100 101 $ ./makenemo -n MY_CONFIG clean_config 102 72 103 - if you want recompile nemo but before you want to clean compiled code do : 104 105 :: 106 73 107 ./makenemo clean 108 74 109 - if you have already compiled you can re-run all sette.sh and compilation part will be by-passed. 75 * verbose sette output:76 - if you want a completly verbose makenemo you can uncomment "set -x" in makenemo script77 and then launch ./sette.sh 2>&1 | tee out.sette . This creates out.sette file in ${SETTE_DIR}78 110 79 TO ADD NEW CONFIGURATION: 80 1. makenemo -n NEW_CONFIG (see makenemo -h for help) OR 81 2. makenemo -n NEW_CONFIG -r REF_CONFIG (if it is based on another reference configuration) 82 3. 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) 83 4. add a bloc in one of the sette_reference-configuration.sh or sette_test-cases.sh script 84 5. add your configuration to the list in param.cfg 111 * verbose sette output: 112 - if you want a completly verbose makenemo you can uncomment `set -x` in makenemo script 113 and then launch `./sette.sh 2>&1 | tee out.sette` . This creates out.sette file in ${SETTE_DIR} 85 114 86 TO ADD NEW MACHINE: 87 1. add arch-compiler.fcm in NEMOGCM/ARCH directory 115 TO ADD NEW CONFIGURATION 116 ========================= 117 1. 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) 118 2. add a bloc in one of the ``sette_reference-configuration.sh`` or ``sette_test-cases.sh`` script 119 3. add your configuration to the list in ``param.cfg`` 120 121 TO ADD NEW MACHINE 122 =================== 123 1. add ``arch-compiler.fcm`` in ``NEMOGCM/ARCH`` directory 88 124 2. makenemo -m new_compiler (see makenemo -h for help) 89 125 3. add new batch-file 90 126 91 TO ADD NEW BATCH-FILE: 92 1. see in SETTE/BATCH_TEMPLATE directory existing examples 93 2. create you own batch file like: batch-${COMPILER} 94 (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") 127 TO ADD NEW BATCH-FILE 128 ====================== 129 1. see in ``SETTE/BATCH_TEMPLATE`` directory existing examples 130 2. create you own batch file like: ``batch-${COMPILER}`` file 131 (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") 95 132 96 97 98 99 100 USER MODIFICATIONS (sequential/parrallel (default), interacive or not (default) and mpi (default) or not ) 101 * in sette_cfg-ref.sh and sette_test-cases.sh script : 102 - BATCH_COMMAND_PAR is the command for job submission in batch mode parallel (MMIÂ) specified in param.cfg 103 - BATCH_COMMAND_SEQ is the command for job submission in batch mode sequential (NB_PROC = 1) 104 the default value is the BATCH_COMMAND_PAR value 105 - INTERACT_FLAG : "yes" if you want to run in interactive mode 106 "no" if you want to run in batch mode (default) 107 - MPIRUN_FLAG : "yes" if you want to run in parallel (MPI) (default) 108 "no" if you want to run in sequential mode (NB_PROC = 1) 109 110 USAGE of internal function/script 111 * makenemo -m : machine (compilator); see ./makenemo -m help (in NEMOGCM/CONFIG directory) 112 -n : config name (in examples config_name_nproci_nprocj), see ./makenemo -n help 113 -r : reference configuration (if you don't give it you have to choise directories to install) 114 add_key : to add list of keys 115 del_key : to del list of keys 116 and for more details and options of makenemo see ./makenemo -h 117 * set_namelist : to set namelist values 118 (example : to set 75 time steps for one test : namelist nn_itend 75) 119 ( : to change cn_icerst_in name : namelist_ice cn_icerst_in \"test_00101231_restart_icemod\") 120 ( : to activate control print : namelist ln_ctl false ) 121 * prepare_exe_dir.sh : creates execution directory for each test 122 - for EACH JOB EXECUTION it is needed to set TEST_NAME variable 123 - TEST_NAME variable gives name to execution directory (created in prepare_exe_dir.sh) 124 - It is mandatory to have different TEST_NAME for each job run if not existing files are re-written (for example namelist) 125 * prepare_job.sh : generates the script to be executed 126 - input arguments are INPUT_FILE_CONFIG_NAME NUMBER_PROC TEST_NAME MPIRUN_FLAG JOB_FILE 127 * fcm_job.sh : input arguments are TOTAL_NUMBER_OF_PROCS_used JOB_FILE_NAME INTERACT_FLAG MPIRUN_FLAG 128 (for example if you run with 4 procs JOB_FILE batch parallel 129 and only run short test ===> ./fcm_job 4 SHORT no yes ) 130 - IMPORTANT control that name of tar file in FORCING directory 131 is the same of that in input_REF_CONFIG.cfg, if not change one. 132 - change in "RUN OPA" if [ ${INTERACT_FLAG} == "yes" ] mpirun command line (some examples are already written) 133 - if INTERACT_FLAG="no" it is needed a batch_file (see below to create a new one) 133 EXTRA SETTING POSSIBLE 134 ====================== 135 Among the setting that can be modified by the user in sette_cfg-ref.sh and sette_test-cases.sh script, 136 there are: sequential/parrallel (default), interacive or not (default) and mpi (default) or not. 137 - | BATCH_COMMAND_PAR is the command for job submission in batch mode parallel (specified in param.cfg). 138 - | BATCH_COMMAND_SEQ is the command for job submission in batch mode sequential (NB_PROC = 1). 139 the default value is the BATCH_COMMAND_PAR value. 140 - | INTERACT_FLAG : "yes" if you want to run in interactive mode. 141 "no" if you want to run in batch mode (default). 142 - | MPIRUN_FLAG : "yes" if you want to run in parallel (MPI) (default). 143 "no" if you want to run in sequential mode (NB_PROC = 1).
Note: See TracChangeset
for help on using the changeset viewer.