|
TECA
The Toolkit for Extreme Climate Analysis
|
a programmable algorithm specialized for simple array based computations More...
#include <teca_derived_quantity.h>
Public Member Functions | |
| std::shared_ptr< teca_derived_quantity > | shared_from_this () |
| std::shared_ptr< teca_derived_quantity const > | shared_from_this () const |
| teca_derived_quantity (const teca_derived_quantity &src)=delete | |
| teca_derived_quantity (teca_derived_quantity &&src)=delete | |
| teca_derived_quantity & | operator= (const teca_derived_quantity &src)=delete |
| teca_derived_quantity & | operator= (teca_derived_quantity &&src)=delete |
| void | set_execute_callback (const execute_callback_t &v) |
| const execute_callback_t & | get_execute_callback () const |
| execute_callback_t & | get_execute_callback () |
dependent_variables | |
| size_t | get_number_of_dependent_variables () |
| void | append_dependent_variable (const std::string &v) |
| void | set_dependent_variable (const std::string &v) |
| void | set_dependent_variable (size_t i, const std::string &v) |
| void | set_dependent_variables (const std::vector< std::string > &v) |
| void | set_dependent_variables (const std::initializer_list< std::string > &&l) |
| const std::string & | get_dependent_variable (size_t i) const |
| const std::vector< std::string > & | get_dependent_variables () const |
| void | clear_dependent_variables () |
derived_variable | |
| size_t | get_number_of_derived_variables () |
| void | append_derived_variable (const std::string &v) |
| void | set_derived_variable (const std::string &v) |
| void | set_derived_variable (size_t i, const std::string &v) |
| void | set_derived_variables (const std::vector< std::string > &v) |
| void | set_derived_variables (const std::initializer_list< std::string > &&l) |
| const std::string & | get_derived_variable (size_t i) const |
| const std::vector< std::string > & | get_derived_variables () const |
| void | clear_derived_variables () |
| size_t | get_number_of_derived_variable_attributes () |
| void | append_derived_variable_attribute (const teca_array_attributes &v) |
| void | set_derived_variable_attribute (const teca_array_attributes &v) |
| void | set_derived_variable_attribute (size_t i, const teca_array_attributes &v) |
| void | set_derived_variable_attributes (const std::vector< teca_array_attributes > &v) |
| void | set_derived_variable_attributes (const std::initializer_list< teca_array_attributes > &&l) |
| const teca_array_attributes & | get_derived_variable_attribute (size_t i) const |
| const std::vector< teca_array_attributes > & | get_derived_variable_attributes () const |
| void | clear_derived_variable_attributes () |
| void | append_derived_variable (const std::string &name, const teca_array_attributes &atts) |
| void | set_derived_variables (const std::vector< std::string > &names, const std::vector< teca_array_attributes > &atts) |
operation name | |
| void | set_operation_name (const std::string &op_name) |
| const std::string & | get_operation_name () const |
| get the operation name More... | |
| std::string & | get_operation_name () |
| get the operation name More... | |
Public Member Functions inherited from teca_programmable_algorithm | |
| std::shared_ptr< teca_programmable_algorithm > | shared_from_this () |
| std::shared_ptr< teca_programmable_algorithm const > | shared_from_this () const |
| teca_programmable_algorithm (const teca_programmable_algorithm &src)=delete | |
| teca_programmable_algorithm (teca_programmable_algorithm &&src)=delete | |
| teca_programmable_algorithm & | operator= (const teca_programmable_algorithm &src)=delete |
| teca_programmable_algorithm & | operator= (teca_programmable_algorithm &&src)=delete |
| void | set_number_of_input_connections (unsigned int n) |
| set the number of input and outputs More... | |
| void | set_number_of_output_ports (unsigned int n) |
| const char * | get_class_name () const override |
| get the name differntiating this instance in the pipeline. More... | |
| void | use_default_report_action () |
| void | use_default_request_action () |
| void | use_default_execute_action () |
| void | set_report_callback (const report_callback_t &v) |
| const report_callback_t & | get_report_callback () const |
| report_callback_t & | get_report_callback () |
| void | set_request_callback (const request_callback_t &v) |
| const request_callback_t & | get_request_callback () const |
| request_callback_t & | get_request_callback () |
| void | set_execute_callback (const execute_callback_t &v) |
| const execute_callback_t & | get_execute_callback () const |
| execute_callback_t & | get_execute_callback () |
Public Member Functions inherited from teca_algorithm | |
| teca_algorithm (const teca_algorithm &src)=delete | |
| teca_algorithm (teca_algorithm &&src)=delete | |
| teca_algorithm & | operator= (const teca_algorithm &src)=delete |
| teca_algorithm & | operator= (teca_algorithm &&src)=delete |
| void | set_communicator (MPI_Comm comm) |
| MPI_Comm | get_communicator () |
| get the active communicator More... | |
| virtual teca_algorithm_output_port | get_output_port (unsigned int port=0) |
| void | set_input_connection (const teca_algorithm_output_port &port) |
| set an input to this algorithm More... | |
| virtual void | set_input_connection (unsigned int id, const teca_algorithm_output_port &port) |
| set an input to this algorithm More... | |
| virtual void | remove_input_connection (unsigned int id) |
| remove input connections More... | |
| void | clear_input_connections () |
| remove all input connections More... | |
| const_p_teca_dataset | get_output_data (unsigned int port=0) |
| void | pop_cache (unsigned int port=0, int top=0) |
| void | set_cache_size (unsigned int n) |
| set the cache size. the default is 1. (threadsafe) More... | |
| virtual int | update () |
| execute the pipeline from this instance up. More... | |
| virtual int | update (unsigned int port) |
| execute the pipeline from this instance up. More... | |
| virtual teca_metadata | update_metadata (unsigned int port=0) |
| get meta data considering this instance up. More... | |
| void | set_executive (p_teca_algorithm_executive exe) |
| set the executive More... | |
| p_teca_algorithm_executive | get_executive () |
| get the executive More... | |
| virtual void | to_stream (std::ostream &s) const |
| virtual void | from_stream (std::istream &s) |
| deserialize from the stream. More... | |
| void | set_verbose (const int &v) |
| const int & | get_verbose () const |
Static Public Member Functions | |
| static p_teca_derived_quantity | New () |
Static Public Member Functions inherited from teca_programmable_algorithm | |
| static p_teca_programmable_algorithm | New () |
Additional Inherited Members | |
Protected Member Functions inherited from teca_programmable_algorithm | |
| teca_programmable_algorithm () | |
| teca_metadata | get_output_metadata (unsigned int port, const std::vector< teca_metadata > &input_md) override |
| std::vector< teca_metadata > | get_upstream_request (unsigned int port, const std::vector< teca_metadata > &input_md, const teca_metadata &request) override |
| const_p_teca_dataset | execute (unsigned int port, const std::vector< const_p_teca_dataset > &input_data, const teca_metadata &request) override |
| virtual teca_metadata | get_output_metadata (unsigned int port, const std::vector< teca_metadata > &input_md) |
| virtual teca_metadata | get_output_metadata (teca_algorithm_output_port ¤t) |
Protected Member Functions inherited from teca_algorithm | |
| void | set_number_of_input_connections (unsigned int n) |
| void | set_number_of_output_ports (unsigned int n) |
| virtual void | set_modified () |
| void | set_modified (unsigned int port) |
| an overload to set_modified by port More... | |
| virtual teca_metadata | get_cache_key (unsigned int port, const teca_metadata &request) const |
| virtual teca_metadata | get_output_metadata (teca_algorithm_output_port ¤t) |
| virtual const_p_teca_dataset | request_data (teca_algorithm_output_port &port, const teca_metadata &request) |
| virtual int | validate_cache (teca_algorithm_output_port ¤t) |
| virtual void | clear_modified (teca_algorithm_output_port current) |
| const_p_teca_dataset | get_output_data (unsigned int port, const teca_metadata &request) |
| int | cache_output_data (unsigned int port, const teca_metadata &request, const_p_teca_dataset &data) |
| void | clear_cache (unsigned int port) |
| clear the cache on the given output port More... | |
| unsigned int | get_number_of_input_connections () |
| get the number of input connections More... | |
| teca_algorithm_output_port & | get_input_connection (unsigned int i) |
| void | clear_modified (unsigned int port) |
| clear the modified flag on the i'th output More... | |
| int | get_modified (unsigned int port) const |
| return the output port's modified flag value More... | |
Protected Attributes inherited from teca_programmable_algorithm | |
| report_callback_t | report_callback |
| request_callback_t | request_callback |
| execute_callback_t | execute_callback |
| char | class_name [128] |
Protected Attributes inherited from teca_algorithm | |
| int | verbose |
a programmable algorithm specialized for simple array based computations
A programmable algorithm specialized for simple array based computations. A user provided callable(see set execute_callback) which operates on one or more arrays(the dependent variables) to produce a new array (the derived quantity). The purpose of this class is to implement the request and report phases of the pipeline consistently for this common use case. An implementation specific context(operation_name) differentiates between multiple instances in the same pipeline.
|
inline |
append to the dependent_variable algorithm vector property
|
inline |
Add the names and attributes of the derived variables. Array attributes must be provided for parallel I/O using the teca_cf_writer.
|
inline |
append to the derived_variable algorithm vector property
|
inline |
append to the derived_variable_attribute algorithm vector property
|
inline |
clear the dependent_variable algorithm vector property
|
inline |
clear the derived_variable_attribute algorithm vector property
|
inline |
clear the derived_variable algorithm vector property
|
inline |
get the i-th element of the dependent_variable algorithm vector property
|
inline |
get the dependent_variable algorithm vector property
|
inline |
get the i-th element of the derived_variable algorithm vector property
|
inline |
get the i-th element of the derived_variable_attribute algorithm vector property
|
inline |
get the derived_variable_attribute algorithm vector property
|
inline |
get the derived_variable algorithm vector property
|
inline |
Get the execute_callback algorithm property
|
inline |
Get the execute_callback algorithm property
|
inline |
Set/get the list of arrays that are needed to produce the derived quantity. This should include valid value masks if needed. See teca_valid_value_mask for more information. get the size of the dependent_variable algorithm vector property
|
inline |
get the size of the derived_variable_attribute algorithm vector property
|
inline |
Set/get the names of the arrays and their attributes that are produced. get the size of the derived_variable algorithm vector property
|
inline |
get the operation name
|
inline |
get the operation name
|
inlinestatic |
Returns an instance of teca_derived_quantity
|
inline |
set the dependent_variable algorithm vector property to a single value
|
inline |
set the i-th element of the dependent_variable algorithm vector property
|
inline |
set the dependent_variable algorithm vector property
|
inline |
set the dependent_variable algorithm vector property
|
inline |
set the derived_variable algorithm vector property to a single value
|
inline |
set the i-th element of the derived_variable algorithm vector property
|
inline |
set the derived_variable_attribute algorithm vector property to a single value
|
inline |
set the i-th element of the derived_variable_attribute algorithm vector property
|
inline |
set the derived_variable_attribute algorithm vector property
|
inline |
set the derived_variable_attribute algorithm vector property
|
inline |
set the derived_variable algorithm vector property
|
inline |
Set the name and attributes of the derived variable. Array attributes must be provided for parallel I/O using the teca_cf_writer.
|
inline |
set the derived_variable algorithm vector property
|
inline |
Set the callback that responds to the execution stage of pipeline execution. the execute callback must be callable with the signature:
Set the execute_callback algorithm property
| void teca_derived_quantity::set_operation_name | ( | const std::string & | op_name | ) |
Set the contextual name that differentiates this instance from others in the same pipeline. set the operation name
|
inline |
Enables the static constructor
|
inline |
Enables the static constructor