Assume when no run directory is set explicitly that Slurm's job execution directory will be used instead because the system switches to this directory automatically when no ch-dir argument is provided (e.g. /scratch/$USER at JLab).
Do not create the run directory in the Slurm job script since the hps-mc Job class will do this automatically.
Separate std out and err so that error messages can be easily found.
Add useful print outs in the job script such as dumping the shell environment, printing the start and end time, and using the time command when executing the job itself.
Remove the -E argument for providing the location of the hps-mc setup script, because Slurm clones the user environment in the job. This script should be sourced externally instead before submitting jobs rather than setup in this way.
Remove hard-coding of devtoolkit in Slurm script as this does not work at JLab. The library paths should be set some other way, possibly within the hps-mc setup script. Or this can be done in a site-specific setup script for SLAC similar to how this works at JLab.
Test these changes with default and user-specified job directories on:
Improve this class by doing the following:
ch-dir
argument is provided (e.g. /scratch/$USER at JLab).time
command when executing the job itself.-E
argument for providing the location of the hps-mc setup script, because Slurm clones the user environment in the job. This script should be sourced externally instead before submitting jobs rather than setup in this way.Test these changes with default and user-specified job directories on:
I'll include these updates as part of #375