The oper and dble special experiments

Contents

The oper and dble special experiments#

The description of the vortex data tree provided in The vortex data tree mentions that nodes at the experiment identifier level can have arbitrary names. In practice, it means you are free to pass any string value to the experiment argument of functions vortex.input() and vortex.output():

vortex.input(
    # ...
    experiment="my-experiment",
    # ...
)

The values "oper" and "dble", however, are special cases that enable fetching data files from an additional local data tree in case they are not found in the default local data tree.

Note

The additional data tree associated with special experiments identifiers "oper" and "dble" can only be fetched from. In other words, a call to put on a Handler object returned by vortex.output() will not write the file in the additional directory.

This is mostly because the use of an additional data tree was designed as a cache space for fetching data files produced by NWP operational runs.

This behavior is enabled whenever a configuration entry op_rootdir is set within the data-tree section of the configuration. Note that, similarly to the defaut data tree, this extra data tree is not accessed whenever cache=False is passed to vortex.input() or vortex.output().

Example#

Assume the following directory trees:

/home/user/vortex.d/arome/ifsfr/DBLE/.../
     file1
     file2

/vortex/cache/arome/ifsfr/DBLE/.../
     file1
     file2
     file3

As well as the following configuration:

[data-tree]
op_rootdir = "/vortex/cache"

Suppose that a call to vortex.input():

handler = vortex.input(
    # ...
    experiment="dble",
    # ...
)

results to a handler on node arome/ifsfr/DBLE/.../file1 of the data tree. Then a call to handler.get will fetch the file file1 from the default local data tree /home/user/vortex.d. However, all call to get on a handler on node arome/ifsfr/DBLE/.../file3 would fetch the file file3 from the additional local data tree /vortex/cache.