[5799] | 1 | ## (Super)Computer configuration template |
---|
[5788] | 2 | ##--------------------------------------------------- |
---|
[5283] | 3 | |
---|
[5929] | 4 | ## Copy to root, rename it and then fill in according to your (super)computer environment |
---|
| 5 | ## Rules for completion: undefined variables (=) are mandatory & void variables (='') are optional |
---|
| 6 | ## Look into other configuration file for examples |
---|
[5286] | 7 | |
---|
| 8 | |
---|
[5799] | 9 | ## Default settings |
---|
[5788] | 10 | ##--------------------------------------------------- |
---|
[8808] | 11 | # (Super)Computer environment (${TRUST_DIR_XIOS} is already defined in the user configuration file) |
---|
| 12 | TRUST_JOB_ENV=${TRUST_DIR_XIOS}/arch/arch-${TRUST_MAIN_HPCC} |
---|
| 13 | ## If `module` is available, ${TRUST_JOB_ENV}.env will be sourced |
---|
| 14 | ## If not (scheduled jobs), it will be ${TRUST_JOB_ENV}.path or finally ${TRUST_JOB_ENV} |
---|
[5283] | 15 | |
---|
[5929] | 16 | ## Comparison command with restart files as argument (think to append $PATH by any way) |
---|
[8808] | 17 | ='cdo diffn' |
---|
[5283] | 18 | |
---|
[8808] | 19 | [ -z "${TRUST_COMPILE_NPROC}" ] && TRUST_COMPILE_NPROC= ## Number of compiling processes |
---|
| 20 | [ -z "${TRUST_JOB_TIMEOUT}" ] && TRUST_JOB_TIMEOUT= ## Timeout for computation (s) |
---|
[5761] | 21 | |
---|
| 22 | |
---|
[5929] | 23 | ## (Super)computer environment |
---|
[5799] | 24 | ##--------------------------------------------------- |
---|
[8808] | 25 | ## Job commands will almost always be used with `eval ${TRUST_JOB_XXX}` because |
---|
[5929] | 26 | ## they will certainly need job ID number as argument for working |
---|
[8808] | 27 | TRUST_JOB_SCRIPT= ## Submission script contained ./batch folder, will be copied to testing folder |
---|
| 28 | TRUST_JOB_SUBMIT= ## Submit a job and get his ID on the fly (assigned to ${TRUST_JOB_ID}) |
---|
| 29 | ## ex: `llsubmit ${TRUST_JOB_SCRIPT} | grep -oe '\<[0-9]*\>'` |
---|
| 30 | TRUST_JOB_STATE= ## Test state of the submitted job (true -> pending/running or false -> completed/crashed) |
---|
| 31 | ## ex: "llq | grep \${TRUST_JOB_ID}" |
---|
| 32 | TRUST_JOB_KILL= ## Kill the submitted job |
---|
| 33 | ## ex: "llcancel \${TRUST_JOB_ID}" |
---|
[5799] | 34 | |
---|
[5929] | 35 | ## Computational performances of job (respectively elapsed time, max physical & virtual memory) |
---|
[8808] | 36 | TRUST_JOB_TIME='' ## ex: "grep IdrisMemMPI NEMO_CI_\${TRUST_JOB_ID} | cut -d, -f1 | awk '{print \$(NF-1),\$NF}" |
---|
| 37 | TRUST_JOB_RAM_P='' ## ex: "grep IdrisMemMPI NEMO_CI_\${TRUST_JOB_ID} | cut -d, -f3 | awk '{print \$3 ,\$4 }" |
---|
| 38 | TRUST_JOB_RAM_V='' ## ex: "grep IdrisMemMPI NEMO_CI_\${TRUST_JOB_ID} | cut -d, -f2 | awk '{print \$3 ,\$4 }" |
---|
[5799] | 39 | |
---|
[8808] | 40 | TRUST_JOB_INFO='' ## Get job informations to fill in a logfile during computation |
---|
| 41 | ## ex: "llq -x \${TRUST_JOB_ID}" |
---|
[5799] | 42 | |
---|
[8808] | 43 | ## Compiler (use with `${TRUST_COMPILE_FORTRAN} --version`) |
---|
| 44 | TRUST_COMPILE_FORTRAN='' ## ex: 'ifort'|'gfortran'|'pgfortran'|... |
---|
[5799] | 45 | |
---|
[5929] | 46 | ## Software/libraries (string pattern to match just before the release number in $PATH) |
---|
| 47 | ## Respectively CDO (Climate Data Operators) / MPI libraries / NetCDF libraries |
---|
[8808] | 48 | TRUST_CDO='' ## ex: 'cdo/'|'netcdf-utils-' |
---|
| 49 | TRUST_COMPILE_MPI='' ## ex: 'intel/impi/'|'bullxmpi/' |
---|
| 50 | TRUST_COMPILE_NETCDF='' ## ex: 'netcdf/'|'netcdf-' |
---|