source: NEMO/branches/2019/fix_sette_ticket2239 @ 11036

Name Size Rev Age Author Last Change
../
BATCH_TEMPLATE 10703   2 years mathiot reverse change in BATCH_TEMPLATE (ticket #2239)
sette_xios.sh 16.2 KB 9605   3 years clem change some names to comply with the new architecture
sette_test-cases.sh 30.6 KB 10755   2 years mathiot changes to avoid messup the validation directory revision number in case …
sette_rpt.sh 18.4 KB 10769   2 years mathiot add script to print available cfgs, update README, add the name of …
sette_rpt.SAS.sh 9.9 KB 9663   3 years clem change the names of the configurations (1st step)
sette_reference-configurations.sh 60.5 KB 10755   2 years mathiot changes to avoid messup the validation directory revision number in case …
sette_list_avail_rev.sh 1.7 KB 10769   2 years mathiot add script to print available cfgs, update README, add the name of …
sette_list_avail_cfg.sh 493 bytes 10769   2 years mathiot add script to print available cfgs, update README, add the name of …
sette_beginner.sh 6.2 KB 9605   3 years clem change some names to comply with the new architecture
sette.sh 2.0 KB 10750   2 years mathiot update nn_itend and restart name to fit new time step of ORCA2, add usage …
SETTE.pdf 71.1 KB 3608   8 years acc Branch dev_NOC_2012_r3555. #1006. Step 3: Merge in trunk changes between …
README 9.0 KB 10820   2 years mathiot update README (ticket #2239)
prepare_job.sh 14.4 KB 10755   2 years mathiot changes to avoid messup the validation directory revision number in case …
prepare_exe_dir.sh 2.0 KB 10698   2 years mathiot check exit code from NEMO (do not copy anything if it failed on exit code …
param.cfg 1.9 KB 10819   2 years mathiot update README and add comments in param.cfg (ticket #2239)
iodef_sette.xml 9.3 KB 9931   3 years smasson sette: reactivate predefined zoom with xios2, see #2115
input_SPITZ12.cfg 30 bytes 9553   3 years clem add SPITZ12 into SETTE tests
input_SAS.cfg 58 bytes 9579   3 years nicolasmartin Updating of the forcing archives names to prepare the release of v4.0
input_ORCA2_OFF_PISCES.cfg 34 bytes 9904   3 years acc Minor corrections to sette.sh to recover valid sette tests. Also added …
input_ORCA2_ICE_PISCES.cfg 35 bytes 9663   3 years clem change the names of the configurations (1st step)
input_ORCA2_ICE_OBS.cfg 34 bytes 9663   3 years clem change the names of the configurations (1st step)
input_ORCA2_ICE_AGRIF.cfg 34 bytes 9663   3 years clem change the names of the configurations (1st step)
input_ISOMIP.cfg 0 bytes 9362   3 years mathiot clean input file list for ISOMIP. ISOMIP do not need any input file …
input_ICE_AGRIF.cfg 34 bytes 10517   2 years clem complete previous commit for sette tests
input_GYRE.cfg 1 bytes 2354   10 years flavoni first draft for SETTE (SET tests for NEMO), a new version of NVTK, see …
input_EMPTY.cfg 0 bytes 9522   3 years clem debug test cases
input_AMM12.cfg 26 bytes 9579   3 years nicolasmartin Updating of the forcing archives names to prepare the release of v4.0
input_AGRIF.cfg 70 bytes 9776   3 years clem change sette accordingly to the previous commit
fcm_job.sh 2.1 KB 3635   8 years acc Branch dev_NOC_2012_r3555. #1006. Step 13: Merge in trunk changes between …
all_functions.sh 17.3 KB 10755   2 years mathiot changes to avoid messup the validation directory revision number in case …

README

usage of SETTE package:

INSTALLATION:
The sette directory have to be located in the main directory (at the same level as src/ or cfg/).

PRINCIPAL SCRIPT: sette.sh 
 * sette.sh is a simple wrapper that runs tests on the reference configurations, test cases and generates the report at the end.
 * sette.sh is able to take a list of configurations in argument (sette.sh -t "CFG1 CFG2 CFG3"). 
       - The list of available configurations is available in running ./sette_list_avail_cfg.sh.
       - The default for sette is to run all of the reference and test configurations.
 * Users need to set up the param.cfg file correctly and download input files before running the script.

SECONDARY SCRIPT
 * sette_reference-configuration.sh runs sette tests on the reference configurations
 * sette_test-cases.sh              runs sette tests on test cases
 * sette_list_avail_rev.sh          generates a listing on all the revisions available in the validation directory for each configuration.
 * sette_list_avail_cfg.sh          generates a listing of all the available configurations.
 * sette_rpt.sh                     generates the report

USER SETUP (recommended)
 * in param.cfg :
      - variables (COMPILER, NEMO_VALIDATION_REF, NEMO_REV_REF) have to be specified in param.cfg
      - variables (BATCH_CMD, BATCH_STAT, BATCH_NAME, FORCING_DIR, SVN_CMD, ADD_NOSIGNEDZERO)
           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.
           If you prefer not doing so, you need to update the default initialisation
      - 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).
      - description of variables listed in param.cfg:
               COMPILER            : compiler among those available in NEMOGCM/ARCH
               #
               # reference version for bit reproducibility results
               NEMO_VALIDATION_REF : reference directory
               NEMO_REV_REF        : reference revision
               #
               # batch command needed
               BATCH_CMD           : command for job submission in batch mode
               BATCH_STAT          : command to check job status
               BATCH_NAME          : generic sette job name (as it appears with $BATCH_STAT command)
               #
               # file storing
               FORCING_DIR         : directory where is stored input.tar file (same name in input_CONFIG_NAME.cfg)
                                     reference configuration input tar file could be found here : https://zenodo.org/record/1472245
               NEMO_VALIDATION_DIR : directory where is stored restarts, run.stat, tracer.stat and ocean.output files for each configuration
                                     ( NEMO_VALIDATION_DIR/WCONFIG_NAME/WCOMPILER_NAME/TEST_NAME/REVISION_NUMBER(or DATE) )
               INPUT_DIR           : directory where is stored input files (DO NOT CHANGE IT)
               #
               # misc.
               SVN_CMD             : svn command use to do svn info (default svn). Could be useful if you are using git svn
                                   : Reference directory for result comparison will be NEMO_VALIDATION_REF/COMPILER/NEMO_REV_REF
               ADD_NODIGNEDZERO    : set "yes" if you need key_nosignedzero to run nemo

USAGE of main scripts:
 * sette.sh                : it is a simple wrapper to run tests on the reference configurations, test-cases and generate the report at the end.
          - if no argument is given, sette run all the reference configurations and test cases 
          - if a list of argument is provided (sette.sh -t "CFG1 CFG2 CFG3"), sette will only run these configurations. 
             The list of available configurations is available in running ./sette_list_avail_cfg.sh.
          - user need to set up the param.cfg file correctly and download input file before running the script.
 * sette_rpt.sh            : it generates the sette report.
          - if no argument is given, the report will be generated on the last changed revision.
          - if an argument is given (revision number) the report will be generated for this revision only
          - if 'old' is given as argument the former behavior is applied (the latest revision is check whatever the current revision
          - it is possible to retreive all the available revision test using sette_list_avail_rev.sh
          - it is NOT possible to run sette_rpt.sh for a single configuration.
 * sette_list_avail_rev.sh : generate a listing on all the revisions available in the validation directory for each configuration.
          - no argument needed
 * sette_list_avail_cfg.sh : generate a listing of all the available configurations.
          - no argument needed

NOTES:
 * compilation issues:
   - in case of error you can remove you NEW_CONF directory and all files doing :
     ./makenemo -n MY_CONFIG clean_config
   - if you want recompile nemo but before you want to clean compiled code do :
     ./makenemo clean
   - if you have already compiled you can re-run all sette.sh and compilation part will be by-passed.
 * verbose sette output:
   - if you want a completly verbose makenemo you can uncomment "set -x" in makenemo script
     and then launch ./sette.sh 2>&1 | tee out.sette . This creates out.sette file in ${SETTE_DIR}

TO ADD NEW CONFIGURATION:
1. makenemo -n NEW_CONFIG (see makenemo -h for help) OR
2. makenemo -n NEW_CONFIG -r REF_CONFIG (if it is based on another reference configuration)
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)
4. add a bloc in one of the sette_reference-configuration.sh or sette_test-cases.sh script 
5. add your configuration to the list in param.cfg

TO ADD NEW MACHINE:
1. add arch-compiler.fcm in NEMOGCM/ARCH directory
2. makenemo -m new_compiler  (see makenemo -h for help)
3. add new batch-file

TO ADD NEW BATCH-FILE:
1. see in SETTE/BATCH_TEMPLATE directory existing examples
2. create you own batch file like: batch-${COMPILER}
   (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")





USER MODIFICATIONS (sequential/parrallel (default), interacive or not (default) and mpi (default) or not )
 * in sette_cfg-ref.sh and sette_test-cases.sh script :
     - BATCH_COMMAND_PAR is the command for job submission in batch mode parallel (MMIÂ) specified in param.cfg
     - BATCH_COMMAND_SEQ is the command for job submission in batch mode sequential (NB_PROC = 1)
                                 the default value is the BATCH_COMMAND_PAR value
          - INTERACT_FLAG : "yes" if you want to run in interactive mode 
                            "no"  if you want to run in batch mode (default)     
     - MPIRUN_FLAG   : "yes" if you want to run in parallel (MPI) (default)
                  "no"  if you want to run in sequential mode (NB_PROC = 1)

USAGE of internal function/script
 * makenemo -m : machine (compilator); see ./makenemo -m help (in NEMOGCM/CONFIG directory)
            -n : config name (in examples config_name_nproci_nprocj), see ./makenemo -n help
            -r : reference configuration (if you don't give it you have to choise directories to install)
       add_key : to add list of keys
       del_key : to del list of keys
       and for more details and options of makenemo see ./makenemo -h
 * set_namelist       : to set namelist values
                          (example : to set 75 time steps for one test : namelist nn_itend 75)
                          (        : to change cn_icerst_in name : namelist_ice cn_icerst_in  \"test_00101231_restart_icemod\")
                          (        : to activate control print : namelist ln_ctl false )
 * prepare_exe_dir.sh : creates execution directory for each test
                          - for EACH JOB EXECUTION it is needed to set TEST_NAME variable
                          - TEST_NAME variable gives name to execution directory (created in prepare_exe_dir.sh)
                          - It is mandatory to have different TEST_NAME for each job run if not existing files are re-written (for example namelist)
 * prepare_job.sh     : generates the script to be executed
                          - input arguments are INPUT_FILE_CONFIG_NAME NUMBER_PROC TEST_NAME MPIRUN_FLAG JOB_FILE
 * fcm_job.sh         : input arguments are TOTAL_NUMBER_OF_PROCS_used JOB_FILE_NAME INTERACT_FLAG MPIRUN_FLAG
                        (for example if you run with 4 procs JOB_FILE batch parallel
                        and only run short test ===> ./fcm_job 4 SHORT no    yes   )
                          - IMPORTANT control that name of tar file in FORCING directory
                            is the same of that in input_REF_CONFIG.cfg, if not change one.
                          - change in "RUN OPA" if [ ${INTERACT_FLAG} == "yes" ] mpirun command line (some examples are already written)
                          - if INTERACT_FLAG="no" it is needed a batch_file (see below to create a new one)
Note: See TracBrowser for help on using the repository browser.