Skip to content

Introduction

Duqtools can also write directly to system config files. For jetto, duqtools uses jetto-tools to update the jetto.jset and jetto.in. These operations are handled by what we call 'systems'.

System specific variables are listed here.

Defining the Jetto System

The jetto system can be set by modifying system in the duqtools.yaml.

duqtools.yaml
system:
  name: jetto

These options are available:

  • jetto (alias for jetto-v220922)
  • jetto-v220922

Jetto-v220922

This is the default jetto system that can be used to create runs for jetto using the JINTRAC v220922 release or newer.

The most important difference with jetto-v210921 is that the IMAS data are handled locally instead of via a public imasdb.

This system can submit to various backends like docker, prominence and the gateway.

duqtools.yaml
system:
  name: jetto-v220922
  submit_system: docker
Source code in duqtools/systems/base_system.py
19
20
21
def __init__(self, cfg: Config):
    self.cfg = cfg
    self.options = cfg.system

The Jetto system uses jetto-pythontools to write variables to the jetto.jset/jetto.in files. These variables are defined in the lookup.json. Duqtools includes its own version, but in case you run into issues with future versions, you can specify your own by setting the environment variable JETTO_LOOKUP. For example, JETTO_LOOKUP=./my-jetto-lookup.json duqtools create.

Jetto output directory

If you do not specify anything in duqtools.yaml, the jetto output location depends on the location of duqtools.yaml:

  1. If duqtools.yaml is outside $JRUNS: $JRUNS/duqtools_experiment_xxx
  2. If duqtools.yaml is inside $JRUNS: Parent directory of duqtools.yaml

You can override the $JRUNS directory by setting the jruns variable. This must be a directory that rjettov can write to.

duqtools.yaml
system:
  name: jetto
  jruns: /pfs/work/username/jetto/runs/