Account directives for PBS vs SLURM

cylc-flow                 8.4.4              pyhb01cd2f_0    conda-forge
cylc-flow-base            8.4.4              pyh707e725_0    conda-forge

My application was written for PBS and has been adapted to use SLURM. The batch task families all have labels like BATCH_FORECAST etc. For PBS I set:

[[BATCH_FORECAST]]
    [[[directives]]]
        -A = "123456789"

, which cylc then renders into the job script as #PBS -A 123456789
SLURM will accept #SBATCH -A 123456789 so my piece should work without modification– but it does not. If cylc is supplied with the above with job runner = slurm, it will render it in the job as #SBATCH -A=123456789, which SLURM will reject.
I can get SLURM to work but only by specifying

    [[BATCH_FORECAST]]
        [[[directives]]]
            --account = "123456789"

This renders as #SBATCH --account=123456789 which SLURM accepts.

I can get everything to work, so at most this is a feature request to get the SLURM handler to behave consistently with the PBS handler, but that would save me some time, and probably some others as well!

That’s rather annoying.

I’ve copied and pasted your thoughts into this issue. I don’t think it’s something we can prioritize, except to perhaps remove the question label. You might wish to contribute this small code change, and with this in mind I’ve pointed to the place the change would probably need to be.

Whilst I’m responding to this, I’m also going to point you at the Workflow Design Guide’s thoughts on portable workflows. This is probably only relevant if you want to share this code change. In that case you might wish to do something like:

{% if JOBRUNNER == 'SLURM' %}
    --account = "Whateva"
{% else %}
    -A = "Foo"
{% fi %}