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
.
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:
workspace:
root: /pfs/work/docs/jetto/runs/
Defining the system
Currently there are two systems available. They are distinguished by specifying the system
field.
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.