## (Super)Computer configuration template
##--------------------------------------------------------------------------------

## Copy/Rename it and fill in according to your environment.

##  Rules for completion:
##o Undefined variables (XXX=  ) are mandatory
##o Empty     variables (XXX='') are optional, default value 

## Look into other configuration file for examples.

##  Most of the settings can be changed "on-the-fly" from the console to avoid
##+ the creation of several configuration files.
##+ See `./trusting.sh -h`

##--------------------------------------------------------------------------------


## Default settings
##---------------------------------------------------
# (Super)Computer environment (${TRUST_IO_XIOS} is already defined in the user configuration file)
TRUST_JOB_ENV=''
${TRUST_IO_XIOS}/arch/arch-${TRUST_MAIN_HPCC}
## If `module` is available, ${TRUST_JOB_ENV}.env will be sourced
## If not (scheduled jobs), it will be ${TRUST_JOB_ENV}.path or finally ${TRUST_JOB_ENV}

## Comparison command with restart files as argument (think to append $PATH by any way)
='cdo diffn'

TRUST_COMPILE_NPROC=     ## Number of compiling processes
TRUST_JOB_TIMEOUT=     ## Timeout for computation (s)


## (Super)computer environment
##---------------------------------------------------
## Job commands will almost always be used with `eval ${TRUST_JOB_XXX}` because
## they will certainly need job ID number as argument for working
TRUST_JOB_SCRIPT=       ## Submission script contained ./batch folder, will be copied to testing folder
TRUST_JOB_SUBMIT=	 ## Submit a job and get his ID on the fly (assigned to ${TRUST_JOB_ID})
        	   ## ex: `llsubmit ${TRUST_JOB_SCRIPT} | grep -oe '\<[0-9]*\>'`
TRUST_JOB_STATE=   	 ## Test state of the submitted job (true -> pending/running or false -> completed/crashed)
                   ## ex: "llq | grep \${TRUST_JOB_ID}"
TRUST_JOB_KILL=   	 ## Kill the submitted job
                   ## ex: "llcancel   \${TRUST_JOB_ID}"

## Computational performances of job (respectively elapsed time, max physical & virtual memory)
TRUST_JOB_TIME=''       ## ex: "grep IdrisMemMPI NEMO_CI_\${TRUST_JOB_ID} | cut -d, -f1 | awk '{print \$(NF-1),\$NF}"
TRUST_JOB_RAM_P=''       ## ex: "grep IdrisMemMPI NEMO_CI_\${TRUST_JOB_ID} | cut -d, -f3 | awk '{print \$3     ,\$4 }"
TRUST_JOB_RAM_V=''       ## ex: "grep IdrisMemMPI NEMO_CI_\${TRUST_JOB_ID} | cut -d, -f2 | awk '{print \$3     ,\$4 }"

TRUST_JOB_INFO=''   	 ## Get job informations to fill in a logfile during computation
                   ## ex: "llq -x \${TRUST_JOB_ID}"

## Compiler (use with `${TRUST_COMPILE_FORTRAN} --version`)
TRUST_COMPILE_FORTRAN=''       ## ex: 'ifort'|'gfortran'|'pgfortran'|...

## Software/libraries (string pattern to match just before the release number in $PATH)
## Respectively CDO (Climate Data Operators) / MPI libraries / NetCDF libraries
TRUST_IO_CDO=''       ## ex: 'cdo/'|'netcdf-utils-'
TRUST_COMPILE_MPI=''       ## ex: 'intel/impi/'|'bullxmpi/'
TRUST_COMPILE_NETCDF=''       ## ex: 'netcdf/'|'netcdf-'
