Skip to content

The duqtools config file

UQ run settings are configured using a yaml configuration file in the project directory. By default it is named duqtools.yaml. You can specify another path for it using the -c/--config option (see duqtools help or the cli).

As a minimum, this configuration file must define the root workspace and the system to use (see below). All other settings are (in principle) optional.

Starting from scratch

To help initialize a starting config to modify, you can run duqtools init.

Check out the different subpages of this section that explain the different parts of the config.

Example config file

Below is an example config file generated by duqtools init.

duqtools.yaml
introduction:
  create:
    data:
      db: jet
      run_in_start_at: 7000
      run_out_start_at: 8000
    matrix:
    - ids: profiles_1d/0/t_i_average
      operator: multiply
      values:
      - 1.1
      - 1.2
      - 1.3
    - bounds: symmetric
      distribution: normal
      ids: profiles_1d/0/t_i_average
      n_samples: 5
    sampler:
      method: latin-hypercube
      n_samples: 3
    template: /pfs/work/docs/jetto/runs/duqtools_template
  plot:
    plots:
    - x: profiles_1d/0/grid/rho_tor_norm
      y: profiles_1d/0/electrons/density_thermal
    - x: profiles_1d/0/grid/rho_tor_norm
      xlabel: Rho tor.
      y: profiles_1d/0/t_i_average
      ylabel: Ion temperature
  status:
    in_file: jetto.in
    msg_completed: 'Status : Completed successfully'
    msg_failed: 'Status : Failed'
    msg_running: 'Status : Running'
    out_file: jetto.out
    status_file: jetto.status
  submit:
    submit_command: sbatch
    submit_script_name: .llcmd
  system:
    name: jetto
  workspace:
    root: /pfs/work/docs/jetto/runs/

Workspace

The workspace defines the the root directory where all simulations are run. This is necessary, because some programs work with relative directories from some root directory.

In this way, duqtools can ensure that the current work directory is a subdirectory of the given root directory. All subdirectories are calculated as relative to the root directory.

For example, for rjettov, the root directory is set to /pfs/work/$USER/jetto/runs/. Any UQ runs must therefore be a subdirectory.

root
The directory from which experiments have to be run.

Example

duqtools.yaml
workspace:
  root: /pfs/work/docs/jetto/runs/

System

Currently there are two systems available. They are distinguished by specifying the name field.

jetto

This system implements a wrapper around JETTO, which is part of the JINTRAC modelling framework for integrated simulation of Tokamaks.

For more information:

  • G. Cenacchi, A. Taroni, JETTO: A free-boundary plasma transport code, JET-IR (1988)
  • M. Romanelli 2014, Plasma and Fusion research 9, 3403023-3403023

dummy

This is a dummy system that implements the basic interfaces.

It exists for testing purposes in absence of actual modelling software.

Example

duqtools.yaml
system:
  name: jetto