Scripting - appending vs overwriting

I have heard rumours that in the future it will be possible for script such as pre-script and env-script to append rather than overwrite with multiple or nested inheritance, as they currently do.

As this has implications for suite portability development work, I was wondering when this feature would likely appear?

Also, if we are going to gain “append” behviour, would we lose overwrite?

Hi Fiona,

Yes we plan to allow add, subtract, or override semantics for all config items (where appropriate) - not just the script ones.

This has been planned for some time but is unlikely to happen any time soon, sorry - too many higher priorities at the moment. Probably beyond Cylc 8. Adding and subtracting bits of a shell script via inheritance is arguably dangerous anyway (and hard to follow by inspection) although I know it would be useful at times. Depending on your use case workarounds include writing the full scripting block in each task or family, at the cost of a little duplication; or punting the content to external scripts, rather than inlined in the suite definition.


(the solution is likely to come at Cylc9 with the introduction of the Python API for suite definition)

1 Like

Thanks for the update Hilary and Oliver.