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
.
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
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
system:
name: jetto