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.
Changeset 11140 for NEMO/branches/2019/fix_sette_ticket2239/README.rst – NEMO

Ignore:
Timestamp:
2019-06-19T17:38:50+02:00 (5 years ago)
Author:
mathiot
Message:

sette rpt changes: FAILED line in red, indication when the run start to diverge, move old/unused script to OLD, update README to README.rst and add extra parameters in param.cfg

File:
1 moved

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/fix_sette_ticket2239/README.rst

    r10820 r11140  
    1 usage of SETTE package: 
     1====================== 
     2usage of SETTE package 
     3====================== 
    24 
    3 INSTALLATION: 
    4 The sette directory have to be located in the main directory (at the same level as src/ or cfg/). 
     5INSTALLATION 
     6============ 
     7* checkout the code as follow: 
     8.. code-block:: console 
    59 
    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 
     14MASTER 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").  
    918       - The list of available configurations is available in running ./sette_list_avail_cfg.sh. 
    1019       - The default for sette is to run all of the reference and test configurations. 
    11  * Users need to set up the param.cfg file 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. 
    1221 
    1322SECONDARY 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 
    1929 
    2030USER 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 
    2637      - 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 
    5075 
    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. 
     76USAGE 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. 
    5379          - if no argument is given, sette run all the reference configurations and test cases  
    5480          - if a list of argument is provided (sette.sh -t "CFG1 CFG2 CFG3"), sette will only run these configurations.  
    5581             The list of available configurations is available in running ./sette_list_avail_cfg.sh. 
    5682          - 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. 
    5884          - if no argument is given, the report will be generated on the last changed revision. 
    5985          - if an argument is given (revision number) the report will be generated for this revision only 
     
    6187          - it is possible to retreive all the available revision test using sette_list_avail_rev.sh 
    6288          - 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. 
    6490          - 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. 
    6692          - no argument needed 
    6793 
    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 
     94NOTES 
     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 
    72103   - if you want recompile nemo but before you want to clean compiled code do : 
     104 
     105     :: 
     106 
    73107     ./makenemo clean 
     108 
    74109   - 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 script 
    77      and then launch ./sette.sh 2>&1 | tee out.sette . This creates out.sette file in ${SETTE_DIR} 
    78110 
    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} 
    85114 
    86 TO ADD NEW MACHINE: 
    87 1. add arch-compiler.fcm in NEMOGCM/ARCH directory 
     115TO ADD NEW CONFIGURATION 
     116========================= 
     1171. 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) 
     1182. add a bloc in one of the ``sette_reference-configuration.sh`` or ``sette_test-cases.sh`` script  
     1193. add your configuration to the list in ``param.cfg`` 
     120 
     121TO ADD NEW MACHINE 
     122=================== 
     1231. add ``arch-compiler.fcm`` in ``NEMOGCM/ARCH`` directory 
    881242. makenemo -m new_compiler  (see makenemo -h for help) 
    891253. add new batch-file 
    90126 
    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") 
     127TO ADD NEW BATCH-FILE 
     128====================== 
     1291. see in ``SETTE/BATCH_TEMPLATE`` directory existing examples 
     1302. 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") 
    95132 
    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) 
     133EXTRA SETTING POSSIBLE 
     134====================== 
     135Among the setting that can be modified by the user in sette_cfg-ref.sh and sette_test-cases.sh script, 
     136there 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.