ucgmsim / slurm_gm_workflow

Porting the GM workflow to run on new NeSI HPC (Maintainer: Jonney)
MIT License
0 stars 2 forks source link

Explicitly disable read_restart if restart is not intended #531

Closed sungeunbae closed 1 month ago

sungeunbae commented 2 months ago

Recent change kept e3d.par in LF directory by skipping it during "mv" operation. https://github.com/ucgmsim/slurm_gm_workflow/commit/c51afc89c7282a487ba7fbeec9edc5e937d88dea

While this change was tested ok and usually works fine, sometimes SLURM complains about mv with the !() option (activated by shopt -s extglob ). I haven't been able to work out why.

/var/spool/slurmd/job4209876/slurm_script: line 69: syntax error near unexpected token `('
/var/spool/slurmd/job4209876/slurm_script: line 69: `    mv /scale_wlg_nobackup/filesets/nobackup/nesi00213/RunFolder/Cybershake/v24p9/Runs/HikHBaymax/HikHBaymax_REL61/LF/!(e3d.par|OutBin/e3d.par) $backup_directory # leave e3d.par alone in case we need to restart this run'

I am not religious to the solution. In fact, the proposed solution here is more conventional and should be more reliable.

More importantly, I enforced read_restart=0, if restarting is not intended.

Since we now re-use the e3d.par, depending on the run history, this field might have been previously updated to 1. If this field is 1, this forces EMOD3D to read LF/Restart folder. However if this is meant to be a fresh run and this field is accidentally 1, no such folder exists and EMOD3D will instantly fail.