Skip to content

ACCORD-NWP/tactus

Repository files navigation

GitHub Github Pages

Linting Tests codecov

TACTUS Scripting System

About

The tactus scripting system provides a tactus python package.

See the project's documentation page for more information.

Set up environment

Make sure you have python>=3.10

Start by adding the $HOME/.local/bin directory in your PATH:

export PATH="$HOME/.local/bin:$PATH"

Then, run:

  • On Atos (hpc-login)
    module load python3/3.10.10-01
    module load ecflow

Installation

First checkout the tactus source code from github:

git clone git@github.com:ACCORD-NWP/tactus.git
cd tactus

For development, use forks as specified in the Development guidelines. To clone the forked repository, use the following command, replacing <username> with your GitHub username:

git clone git@github.com:<username>/tactus.git
cd tactus

Then install/reinstall poetry by runnning the following commands in your shell:

# Clean eventual previous install
curl -sSL https://install.python-poetry.org | python3 - --uninstall
rm -rf ${HOME}/.cache/pypoetry/ ${HOME}/.local/bin/poetry ${HOME}/.local/share/pypoetry
# Download and install poetry
curl -sSL https://install.python-poetry.org | python3 -
poetry install
# Add the poetry shell command as a plugin (for poetry >= v2.0.0)
poetry self add poetry-plugin-shell

Finally, install pygdal, which is required for climate generation. pygdal depends on gdal, which is notoriously troublesome as dependency when targeting many systems. The versions of pygdal and the system's gdalshould match.

To install gdal and pygdal run the follow in commands in your shell:

  • On Atos (hpc-login)
    module load gdal/3.6.2
    poetry shell
    pip install pygdal==3.6.2.11

If installation is not succesful, please contact the IT support in your organisation or HPC facility.

Important

Tactus should be installed in a folder accessible by ecflow server.

On Atos, it should be installed in your $HOME or $PERM directory.

Usage

Initially set up the environment by repeating the steps in Set up environment, navigate to the root level of the tactus install directory and activate python virtual environment:

poetry shell

Alternatively, to activate a tactus installation located in an arbitrary directory MY_TACTUS_SOURCE_DIRECTORY, please run:

poetry shell --directory=MY_TACTUS_SOURCE_DIRECTORY

Test that tactus works by running:

tactus -h

The Configuration File

Before you can use tactus (apart from the -h option), you will need a configuration file written in the TOML format. Please take a look at the default config.toml file, as well as the project's Doc Page, for more information about this.

To see all configs currently in place in your tactus setup, please run

tactus show config

Command line options

After completing the setup, you should be able to run

tactus [opts] SUBCOMMAND [subcommand_opts]

where [opts] and [subcommand_opts] denote optional command line arguments that apply, respectively, to tactus in general and to SUBCOMMAND specifically.

Please run tactus -h for information about the supported subcommands and general tactus options. For info about specific subcommands and the options that apply to them only, please run tactus SUBCOMMAND -h (note that the -h goes after the subcommand in this case).

Examples

These examples assume that you have successfully Set up environment installed tactus, navigated to the root level of your tactus install directory and loaded the python environment. The examples also assume that the binaries and input data for the ACCORD CSCs is in place. Please contact your local ACCORD members for advice if this is not the case.

Running ecflow suite on ATOS

The following command will run the full suite using the default experiment:

tactus case ?tactus/data/config_files/configurations/cy49t2_arome --case-name my_first_test --start-suite

This will generate a new config file my_first_test.toml that is used to launch the suite. The working directories and final results can be found under `$SCRATCH/tactus/my_first_test'.

Running a single task from command line

From the example above we can rerun e.g. the Forecast task from command line by

tactus run --task Forecast -c my_first_test.toml

This will create Forecast.job in the current directory and submit the job. The log from the job will appear as Forecast.log and the result will be found in the same directories as above.

For other platforms a new config file would have to be created first. Please consult the configure cases section in the documentation for more information.

About

A workflow for NWP related applications

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages