usage of SETTE package: principal script is sette.sh (usage: ./sette.sh) sette.sh is a simple wrapper running test on the reference configuration, test cases and generate the report at the end. sette_cfg-ref.sh, sette_test-cases.sh and the report generation can still be run separatly for debugging purposes VERY IMPORTANT : for a verbose debug do: ./sette.sh 2>&1 | tee out.sette this create out.sette file in ${SETTE_DIR} USER MODIFICATIONS in sette_cfg-ref.sh and sette_test-cases.sh script : OPTIONAL ARGUMENT : compiler among those available in NEMOGCM/ARCH (if nothing will use the one specified in paramd.cfg) BATCH_COMMAND_PAR : command for job submission in batch mode parallel (MMIÂ) specified in param.cfg BATCH_COMMAND_SEQ : command for job submission in batch mode sequential (NB_PROC = 1) 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 MPIRUN_FLAG : "yes" if you want to run in parallel (MPI) "no" if you want to run in sequential mode (NB_PROC = 1) 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 : NOTE 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: INPUT_FILE_CONFIG_NAME NUMBER_PROC TEST_NAME MPIRUN_FLAG JOB_FILE fcm_job.sh needs input: 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 ) in param.cfg : COMPILER : compiler among those available in NEMOGCM/ARCH FORCING_DIR : directory in which will be found input.tar file (same name in input_CONFIG_NAME.cfg) INPUT_DIR : directory in which store input files (tar file) reference configuration input tar file could be found here : https://zenodo.org/record/1472245 TMPDIR : temporary directory NEEDED ONLY FOR IBM machines (put EXP00 directory) NEMO_VALIDATION_DIR : directory in which create NEMO_VALIDATION tree, and store restart, run.stat, tracer.stat and ocean.output files in tree NEMO_VALIDATION_DIR/WCONFIG_NAME/WCOMPILER_NAME/TEST_NAME/REVISION_NUMBER(or DATE) BATCH_CMD : command for job submission in batch mode SVN_CMD : svn command use to do svn info (default svn). Could be useful if you are using git svn NEMO_VALIDATION_REF : reference directory NEMO_REV_REF : reference revision : 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 in fcm_job.sh : 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) NOTE: if INTERACT_FLAG="no" it is needed a batch_file (see below to create a new one) in sette_rpt.sh : if no argument are 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 NOTE: 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 and if you have already compiled you can re-run all sette.sh and compilation part will be by-passed. NOTE 2: 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 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) TO ADD NEW MACHINE: 1. add arch-compiler.fcm in NEMOGCM/ARCH directory 2. makenemo -m new_compiler (see makenemo -h for help) 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")