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