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
create:
  data:
    db: test
    run_in_start_at: 7000
    run_out_start_at: 8000
  dimensions:
  - ids: profiles_1d/0/t_i_average
    operator: multiply
    scale_to_error: false
    values:
    - 1.1
    - 1.2
    - 1.3
  - ids: profiles_1d/0/electrons/temperature
    operator: multiply
    scale_to_error: false
    values:
    - 1.1
    - 1.2
    - 1.3
  sampler:
    method: latin-hypercube
    n_samples: 3
  template: /pfs/work/docs/jetto/runs/duqtools_template
merge:
  base_ids: grid/rho_tor_norm
  ids_to_merge:
  - t_i_average
  - zeff
  output:
    db: jet
    run: 9999
    shot: 94785
  prefix: profiles_1d
  template:
    db: jet
    run: 1
    shot: 94785
    user: docs
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: 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.

For example:

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

Defining the system

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

duqtools.yaml
system: jetto

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.