In general a variable argument specification consists of one or more fields separated by : with the number of fields determining their interpretation.

Empty fields are treated as their defaults or matching anything, depending on the context.

All fields are considered as regular expressions to be matched against the whole field. In general this means that the simple case of specifying a whole field literally will simply work. It also allows for more complex specifications using special characters. The regular expression syntax is similar to Perl’s form with some of the more advanced forms (e.g. negative lookahead) not supported. When using regular expressions, be sure that they are properly escaped if passed from a command line shell.

One field

When only a single field is present it is interpreted as a variable name. The station, archive, and flavors matching are left at their default values. For example BsG_S11 selects only green scattering from the S11 instrument.

Two fields

When the specification consists of two fields, they specify the archive and variable in order. For example raw:BsG_S11 selects the green scattering from the raw archive.

Three or more fields

With three fields the first three are the station, archive, and variable, in order. For example bnd:raw:BsG_S11 selects the green scattering from the raw archive for the BND station.

Any remaining fields after the first three form the flavors selection. Each field in a flavors selection specifies a single flavor to match. The interpretation depends on the first character of the field:

No special character or a +

The field is added to the list of flavors required to be present. For example pm1 and +pm1 both require the PM1 flavor.

Starting with a ! or -

The field is added to the list of flavors required to be absent. For example !pm10 and -pm10 both exclude data with the PM10 flavor.

Starting with a =

The field is added to the exact flavors specification. Any required or excluded flavors are ignored. The exact flavors specification gives the full list of flavors matched exactly. For example =pm25 selects only data with just the PM25 flavor and ignores all other data.

Example 1. Selecting a single variable

BsG_S11

Example 2. Selecting multiple variables with a regular expression

Bs[BGR]_S11

Example 3. Selecting only PM10 data

::BsG_S11:pm10

Example 4. Selecting metadata without a size selection

:.*_meta::-pm1:-pm10:-pm25

Example 5. Selecting only values with no flavors (size, coverage, etc)

(brw|smo)::BsG_S11:=

The meaning of the individual components is described here.