Using a non-default python for an autosubmit job
When working on the monitoring tool for auto-ecearth, I realized that the python in Nord3 is too old to be useful (2.6.9).
The temporal solution was to add the loading of the python and PyYAML modules to my .bashrc, but that is something that I am not keen to do. I have thought of several long term solutions, but I want your advise on them:
-
The first will be to change the job from Python to bash and use this bash to launch the original Python one. It will be not pretty, as all autosubmit variables to be used should be set on the bash and then passed to the python script as arguments or env variables.
-
The second option will be identical, but removing the need to pass the variables to the python script by adding a new feature to autosubmit: the option to do the replacement of variables not only to the job script but to one or more extra templates, in this case the python job. It will still be a bit ugly, but will allow us to wrap any kind of jobs around a bash one without losing the ability to use autosubmit variables in the actual script.
-
The third will be to add a new feature to autosubmit that will allow customizing the shebang line, so instead of using always
#!/usr/bin/env python
can be pointed to a specific launch script or to the exact version the user want. In my case, the idea will be to point to a small bash script that just loads the required modules and call python with the same args it received
Of course, if you can think on better options just tell me. I think I can implement both features by myself, so you will only be required to review them