Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

JDCNDBG
MARS environment variables
Environment variableUsage
MARS_COMPUTE_FLAGif set to 0, the model identification number is preserved. When using compute, GRIB headers of resulting fields are changed to reflect fields have been created by MARS. In particular, model identification number is set to 255. With this env. variable, the model identification of the first field is copied onto the result.
MARS_DEBUGif set to a value different from 0, additional output will be generated
MARS_MULTITARGET_STRICT_FORMATif set to 1, 'consistent' file naming will be applied for multi targets, see Data storage keywords
GRIB_API_DEBUGIf set to 1, it will enable debug level logging messages to be displayed by the library.
MIR_DEBUG

If MIR_DEBUG and MARS_DEBUG are set to 1, debug information for interpolation with MIR will be generated.

if set to 1, debug information for interpolation with EMOSLIB will be generated (values 2, 3 ... give progressively more detailed diagnostics)

Request syntax

A MARS request is the way to specify an action on a set of fields or observations. The directives specified in a MARS request have the following syntax:

...

read can be used to filter or manipulate data already retrieved into a file.

write is mainly used to save data from fieldsets, a temporary storage, into files, see Fieldsets.

Fieldsets

A fieldset is a temporary storage for fields, either retrieved from MARS or read from a UNIX file. Fieldsets can be seen as variables in a MARS request, and they can be referenced in subsequent MARS requests in the same execution. This is an example how to retrieve data into a fieldset named analysis:

retrieve,
   class    = od,
   type     = analysis,
   stream   = oper,
   expver   = 1,
   date     = -1,
   time     = 12,
   levtype  = pressure levels,
   levelist = 1000/850/500,
   param    = temperature,
   fieldset = analysis

At the end of the execution, all fieldsets are released. Therefore, data in unsaved fieldsets will be lost. Fieldsets can be saved as UNIX files with write requests, like in this example:

write,
   fieldset = analysis,
   target   = "data"

Note that fieldsets are in fact using temporary disk storage on the host where MARS is executed, usually in $TMPDIR directory. When dealing with big fieldsets, you are advised to make such variable point to a suitable directory where temporary data can be stored (e.g. $SCRATCH on ecgate/HPC).

One can extract fields (sub fieldsets) from a fieldset using square brackets. If X is a fieldset, X[2] is the second field, X[1,10] comprises the first 10 fields, and X[2,8,2] comprises every second field of x starting from 2 up to 8keyword fieldsets.

Multiple requests in one call to MARS

...