...
In order to run Skylab with the correct virtual environment, since cylc ignores PYTHONPATH, you need to add a global.cylc file to run an init-script before runtime that will activate the JEDI venv. This should go in ~/.cylc/flow/global.cylc. Replace <JEDI_ROOT> with your path to your JEDI venv. The install The install block is optional for now, but it sets your cylc work directory and run directory to mimic ecflow. Note, these will automatically put a cylc-run directory under the parent EWOK_WORKDIR and EWOK_FLOWDIR directories.
...
| Code Block | ||||
|---|---|---|---|---|
| ||||
[install]
[[symlink dirs]]
[[[localhost]]]
work = ${EWOK_WORKDIR}
run = ${EWOK_FLOWDIR}
[platforms]
[[localhost]]
hosts = localhost
job runner = background
global init-script = source <JEDI_ROOT>${JEDI_ROOT}/venv/bin/activate |
Setting up cylc HPC configuration:
Similar to the localhost setup, you will need to add or update ~/.cylc/flow/global.cylc. The install block is optional for now, but it sets your cylc work directory and run directory to mimic ecflow. Note, these will automatically put a cylc-run directory under the parent EWOK_WORKDIR and EWOK_FLOWDIR directories. Example of global.cylc file for HPCs that use slurm/sbatch for jobs:
vi ~/.cylc/flow/global.cylc
| Code Block | ||||
|---|---|---|---|---|
| ||||
[install]
[[symlink dirs]]
[[[localhost]]]
work = ${EWOK_WORKDIR}
run = ${EWOK_FLOWDIR}
[platforms]
[[localhost]]
hosts = localhost
job runner = background
global init-script = source ${JEDI_ROOT}venv/bin/activate
[[compute]]
hosts = localhost
job runner = slurm
install target = localhost
global init-script = """
source${JEDI_ROOT}/venv/bin/activate
export SLURM_EXPORT_ENV=ALL
export HDF5_USE_FILE_LOCKING=FALSE
ulimit -s unlimited || true
ulimit -v unlimited || true
""" |
Discover via spack-stack:
...