Cylc command to find out working directory

Is there a cylc command to find out where on archer (or cirrus) a task/workflow in running. cylc --get-workflow-contact run-id gives I think the path on puma.

Simon

Hi Simon.

Do you mean where ~/cylc-run/[workflow ID]/[run ID] is linked to?

For the location of the contact file itself, on PUMA2 it’s here for example…

$ cat /home4/home/n02-puma/jonnyhtw/cylc-run/u-do527/run1/.service/contact

Cheers

Jonny

What I want to do is find out where the share directory for a given run is on archer2. That depends a bit on the cylc configuration. cylc --get-workflow-contact runid gives you a bunch of values but I think those are for puma2. (Which might map directly across to archer2).

My current plan given I have to stuff in an extra task into the workflows is have that task get hold of the various CYLC_ variables. Then I can do things with them.

Simon

Hi Simon.

The CYLC_WORKFLOW_SHARE_DIR is recognised natively within the runtime definition of the workflow. So if you use it in scripts or submission arguments etc it will be recognised on the platform that you’re running on (ARCHER2 in this case).

Generically on ARCHER2 it will be at ~/cylc-run/u-ab123/run1/share/ for an arbitrary workflow u-ab123. The run directory will be symbolically linked to a location in /work/… which is defined at the ‘site’ level (where site = ARCHER2). This in turn can be found in the cylc config output.

Jonny

Cheers