TECA
The Toolkit for Extreme Climate Analysis
teca_algorithm_executive Class Reference

Base class and default implementation for executives. More...

#include <teca_algorithm_executive.h>

Inheritance diagram for teca_algorithm_executive:
Collaboration diagram for teca_algorithm_executive:

Public Member Functions

virtual int initialize (MPI_Comm comm, const teca_metadata &md)
 
virtual teca_metadata get_next_request ()
 
void set_verbose (int a_verbose)
 
int get_verbose () const
 

Static Public Member Functions

static p_teca_algorithm_executive New ()
 

Protected Member Functions

 teca_algorithm_executive (const teca_algorithm_executive &)=default
 
 teca_algorithm_executive (teca_algorithm_executive &&)=default
 
teca_algorithm_executiveoperator= (const teca_algorithm_executive &)=default
 
teca_algorithm_executiveoperator= (teca_algorithm_executive &&)=default
 

Detailed Description

Base class and default implementation for executives.

Algorithm executives can control pipeline execution by providing a series of requests. this allows for the executive to act as a load balancer. the executive can for example partition requests across spatial data, time steps, or file names. in an MPI parallel setting the executive could coordinate this partitioning amongst the ranks. However, the only requirement of an algorithm executive is that it provide at least one non-empty request.

The default implementation creates a single trivially non-empty request containing the key "__request_empty = 0". This will cause the pipeline to be executed once but will result in no data being requested. Therefore when the default implementation is used upstream algorithms must fill in the requests further to pull data as needed.


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