ARTS  2.4.0(git:4fb77825)
oem::AgendaWrapperMPI Class Reference

Interface for distributed ARTS forward model. More...

#include <oem_mpi.h>

Public Member Functions

 AgendaWrapperMPI (Workspace *ws_, const Agenda *inversion_iterate_agenda, Index m_, Index n_)
 
MPIMatrix Jacobian (const OEMVector &xi, OEMVector &yi)
 Compute Jacobian of forward model. More...
 
OEMVector evaluate (const OEMVector &xi)
 Evaluate forward model. More...
 

Public Attributes

const unsigned int m
 
const unsigned int n
 

Private Attributes

Workspacews_
 Pointer to current workspace. More...
 
OEMMatrix local_jacobian_
 Process-local part of the Jacobian. More...
 
const Agendainversion_iterate_agenda_
 Pointer to the inversion_iterate_agenda defining the foward model. More...
 

Detailed Description

Interface for distributed ARTS forward model.

This special forward model wrapper parallelizes the ARTS mblock calculations over the different MPI processes. Each process only computes a limited range of rows of the measurement vector y and the Jacobian. The measurement vector is returned as a full vector to each process which requires broadcasting the results after the computation.

Definition at line 56 of file oem_mpi.h.

Constructor & Destructor Documentation

◆ AgendaWrapperMPI()

oem::AgendaWrapperMPI::AgendaWrapperMPI ( Workspace ws_,
const Agenda inversion_iterate_agenda,
Index  m_,
Index  n_ 
)
inline

Definition at line 61 of file oem_mpi.h.

Member Function Documentation

◆ evaluate()

OEMVector oem::AgendaWrapperMPI::evaluate ( const OEMVector &  xi)
inline

Evaluate forward model.

Executes the provided inversion_iterate_agenda on the provided workspace to compute the measurement vector.

Parameters
[in]xiThe state vector for which to evaluate the forward model.
Returns
The corresponding full observation vector.

Definition at line 98 of file oem_mpi.h.

References inversion_iterate_agenda_, inversion_iterate_agendaExecute(), local_jacobian_, m, and ws_.

◆ Jacobian()

MPIMatrix oem::AgendaWrapperMPI::Jacobian ( const OEMVector &  xi,
OEMVector &  yi 
)
inline

Compute Jacobian of forward model.

Parameters
[in]xiThe state vector for which to evaluate the forward model.
[out]Themeasurement vector corresponding to the computed Jacobian.
Returns
The distributed Jacobian matrix.

Definition at line 77 of file oem_mpi.h.

References inversion_iterate_agenda_, inversion_iterate_agendaExecute(), ARTS::Var::jacobian(), local_jacobian_, m, and ws_.

Member Data Documentation

◆ inversion_iterate_agenda_

const Agenda* oem::AgendaWrapperMPI::inversion_iterate_agenda_
private

Pointer to the inversion_iterate_agenda defining the foward model.

Definition at line 118 of file oem_mpi.h.

Referenced by evaluate(), and Jacobian().

◆ local_jacobian_

OEMMatrix oem::AgendaWrapperMPI::local_jacobian_
private

Process-local part of the Jacobian.

Definition at line 116 of file oem_mpi.h.

Referenced by evaluate(), and Jacobian().

◆ m

const unsigned int oem::AgendaWrapperMPI::m

Definition at line 59 of file oem_mpi.h.

Referenced by evaluate(), and Jacobian().

◆ n

const unsigned int oem::AgendaWrapperMPI::n

Definition at line 59 of file oem_mpi.h.

◆ ws_

Workspace* oem::AgendaWrapperMPI::ws_
private

Pointer to current workspace.

Definition at line 114 of file oem_mpi.h.

Referenced by evaluate(), and Jacobian().


The documentation for this class was generated from the following file: