How to disable Cylc/ROSE use $HOME for running suite

Hi,

I’m working on NCI GADI with cylc-flo1. w/7.9.3 & rose/2019.01.5, and struggling with NOT using $HOME for running suite

  1. Not create symbolic link in ~/cylc-run
  2. Prefix $DATADIR to $ROSE_DATAC instead of $HOME

rose suite-run aborted with these error message

[INFO] 2021-07-19T17:47:06+1000 cylc get-global-config -i [hosts][localhost]run\ directory
[FAIL] 2021-07-19T17:47:06+1000 cylc global configuration incompatible to Rose: [hosts][localhost]run directory=/scratch/ub85/jl1623/cylc-run

Wondering how to disable Cylc/ROSE use $HOME for running sutie ?

Here are my settings

.cylc/global.rc

[hosts]
  [[localhost]]
     work directory = /scratch/ub85/$USER/cylc-run
     run directory  = /scratch/ub85/$USER/cylc-run

 [[gadi.*]]
    work directory = /scratch/ub85/$USER/cylc-run
    run directory  = /scratch/ub85/$USER/cylc-run

.bashrc

export DATADIR=/scratch/ub85/$USER

.metomi/rose.conf

[rose-suite-run]
hosts=localhost
root-dir=*=$DATADIR
root-dir{share}=*=$DATADIR
root-dir{share/data}=*=$DATADIR
root-dir{share/cycle}=*=$DATADIR
root-dir{work}=*=$DATADIR

Thanks for your time.

Hello,

cylc global configuration incompatible to Rose

If you are using Rose to move the Cylc run directory you will need to unset the Cylc worh and run directory settings as they cannot be used in combination with the Rose settings.

I think the following should work for you:

.cylc/global.rc

# empty

.bashrc

export DATADIR=/scratch/ub85/$USER

.metomi/rose.conf

[rose-suite-run]
hosts=localhost
root-dir=*=$DATADIR

If the suite has previously been run remember to either:

rose suite-clean; rose suite-run
# OR
rose suite-run --new

To remove the old installation first (as you cannot safely change the root-dir once the suite has been installed).

Hi Sanders,

Thanks for reply.

I’m sorry it doesn’t work. Looked like work directory and run directory must be ~/cylc-run for [[localhost]] in global.rc , or rose suite won’'t run.

Hi Jerry - Rose expects the run directory to be in ~/cylc-run so the best you can do is configure Rose to create symbolic links to a different file system. Is that a problem for you?

Hi Matthews,

  1. Needs to run Rose/Cylc on a virtual desktop, the max. session lifetime is only 7 days, once it’s expired, needs to create a new virtual desktop seesion. The virtual desktop’s home directory is a local filesystem, only can be seen by itself, and all of local stuff will be gone once the virtual desktop is terminated.

  2. Hit once a weird ‘Disk quota exceeded’ issue. I could make sure it’s only a symoblic link in ~/cycl-run and no quota issue on the filesystem where root-dir{share} and root-dir{work} located, help desk also confirmed that home quota doesn’t follow links and no problem for current disk allocations. Totally no idea what went wrong.

So wanted to disable Cylc/Rose use $HOME.

Sounds a strange setup. Perhaps you could just create a top level symlink (ln -s $DATADIR/cylc-run $HOME) whenever you start a new virtual desktop (or maybe as part of the cylc or rose wrapper script if you use one).

Hi Matthews,

Yes, it’s not a problem to create the symlink whenever start a new virtual desktop. Just worried about certain unexpected side effects introduced by the virtual desktop env.

Cylc honors the run/work directory in [[localhost]] once specified an alternative location instead the detaul ~/cycl-run, it won’t use ~/cycl-run anymore. But it’s imcompatible with ROSE.

ROSE alwasy refers $HOME for setting ROSE_DATAC, ROSE_DATAC???, etc. So wanted to disable Rose to use $HOME. Or I should post this qeustion in Rose support section.

Sorry, it’s not possible to configure Rose note to use $HOME/cylc-run.

If you’ve set up the symlink then you shouldn’t need to configure the run/work directory in Cylc.

Hi @Jerry,

At Cylc 8 you will not be able change the cylc-run directory location anymore, but you can configure Cylc to make symlinks under ~/cylc-run to other locations (as rose suite-run does for Cylc 7)

So I wouldn’t recommend relying on that old capability of Cylc 7 even if you didn’t need Rose compatibility.

Hilary