ARTS built-in documentation server

Workspace Method ybatchCalc

Description

Performs batch calculations for the measurement vector y.

We perform ybatch_n jobs, starting at index ybatch_start. (Zero
based indexing, as usual.) The output array ybatch will have
ybatch_n elements. Indices in the output array start
with zero, independent of ybatch_start.

The method performs the following:
   1. Sets ybatch_index = ybatch_start.
   2. Performs a-d until
      ybatch_index = ybatch_start + ybatch_n.
        a. Executes ybatch_calc_agenda.
        b. If ybatch_index = ybatch_start, resizes ybatch
           based on ybatch_n and length of y.
        c. Copies y to ybatch_index - ybatch_start
           of ybatch.
        d. Adds 1 to ybatch_index.

Beside the ybatch_calc_agenda, the WSVs ybatch_start
and ybatch_n must be set before calling this method.
Further, ybatch_calc_agenda is expected to produce a
spectrum and should accordingly include a call of yCalc
(or asimilar method).

The input variable ybatch_start is set to a default of zero in
*general.arts*.

An agenda that calculates spectra for different temperature profiles
could look like this:

   AgendaSet(ybatch_calc_agenda){
      Extract(t_field,tensor4_1,ybatch_index)
      yCalc
   }

Jacobians are also collected, and stored in output variable ybatch_jacobians. 
(This will be empty if yCalc produces empty Jacobians.)

See the user guide for further practical examples.

Authors: Stefan Buehler

Synopsis

ybatchCalc( ybatch, ybatch_aux, ybatch_jacobians, ybatch_start, ybatch_n, ybatch_calc_agenda, robust )

Variables

OUTybatch(ArrayOfVector)Batch of spectra.
OUTybatch_aux(ArrayOfArrayOfVector)Data auxilary to ybatch.
OUTybatch_jacobians(ArrayOfMatrix)All the Jacobians associated with ybatch.
INybatch_start(Index)Start index for ybatchCalc.
INybatch_n(Index)Number of batch cases for ybatchCalc.
INybatch_calc_agenda(Agenda)See agendas.cc.
GINrobust(Index, Default: 0)A flag with value 1 or 0. If set to one, the batch calculation will continue, even if individual jobs fail. In that case, a warning message is written to screen and file (out1 output stream), and the y Vector entry for the failed job in ybatch is left empty. The robust behavior does only work properly if your control file is run single threaded. Set "--numthreads 1". See "arts --help".