Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

As part of EWOK's set up, you will notice two variables that pertain to ecFlow which are needed to run an experiment. They are EWOK_WORKDIR and EWOK_FLOWDIR. The EWOK_WORKDIR is where all of your experiment files will be saved that are generated by the workflow - such as feedback files, background files, observations, and your forecasts. The EWOK_FLOWDIR will contain configuration files and the runtime files that get executed. Tip: for testing small on the fly changes, after kicking off an experiment you can edit the runtime files in EWOK_FLOWDIR and then restart the task. Although the runtime file in the EWOK repository will not be updated, this method is useful if you need to force something to work or if you want to troubleshoot without touching the repo. 

Setting up CylcCylc 

Cylc has many python dependencies, which means it clashes with our ewok-env. Therefore a work around is to install it inside its own virtual environment on your local machine. Instructions are also included for using Discover’s cylc installation. This works with spack-stack 1.9.x modules and GMAO’s SWELL application. 

...

...

Note: You can set up cylc-flow and cylc-uiserver in separate virtual environments. If you install cylc-flow in your JEDI-Skylab virtual environment, you can then install cylc-uiserver in a separate virutal env and use that environment to kick off the GUI. Follow steps "Adding cylc to your workflow" and then "Setting up venv for cylc GIU".

Adding cylc to your workflow venv:

If you want to run cylc with JEDI-Skylab workflows, you can force install cylc-flow into your workflow's virtual environment. 

  1. Activate your Skylab virtual environment, if you haven't already. 
    Code Block
    languageshell
    source $JEDI_ROOT/venv/bin/activate
  2. Force install cylc-flow. Note, cylc is installed in spack-stack but it has some compatibility issues so it is easiest at the point to re-install in your venv. 
    Code Block
    languageshell
    pip install cylc-flow --force-reinstall
  3. Check cylc location and test with skylab/experiments/workflow-test.yaml: 
    Code Block
    languageshell
    which cylc
    create_experiment.py skylab/experiments/workflow-test.yaml

Setting up venv for cylc GUI (ex: mac):

  1. Needs python3.9 for the UI, therefore run: 
    Code Block
    languageshell
    brew install python@3.9
  2. Update PYTHONPATH:
    Code Block
    languageshell
    module purge
    unset PYTHONPATH
    unset PYTHONHOME
  3. Created venv without spack-stack:
    Code Block
    languageshell
    python3.9 -m venv --system-site-packages cylc-venv
  4. Activate venv:
    Code Block
    languageshell
    source cylc-venv/bin/activate
  5. Install cylc:
    Code Block
    languageshell
    pip install cylc-flow
    pip install cylc-uiserver
    pip install cylc-rose metomi-rose
  6. Install optional:
    Code Block
    languageshell
    pip install 'cylc-flow[tutorial]'
    pip install 'cylc-uiserver[hub]'
  7. Graphviz:
    Code Block
    languageshell
    brew install graphviz
  8. To test the GUI:
    Code Block
    languageshell
    cylc gui

...