1 #ifndef teca_evaluate_expression_h
2 #define teca_evaluate_expression_h
5 #include "teca_algorithm.h"
6 #include "teca_metadata.h"
7 #include "teca_array_attributes.h"
42 TECA_GET_ALGORITHM_PROPERTIES_DESCRIPTION()
43 TECA_SET_ALGORITHM_PROPERTIES()
50 void set_expression(const std::
string &expr);
53 std::
string get_expression()
54 {
return this->expression; }
61 TECA_ALGORITHM_PROPERTY(std::string, result_variable)
77 TECA_ALGORITHM_PROPERTY(
int, remove_dependent_variables)
90 unsigned int port, const std::vector<
teca_metadata> &input_md,
93 const_p_teca_dataset execute(
unsigned int port,
94 const std::vector<const_p_teca_dataset> &input_data,
98 std::
string expression;
99 std::
string result_variable;
102 std::
string postfix_expression;
103 std::
set<std::
string> dependent_variables;
104 int remove_dependent_variables;
The interface to TECA pipeline architecture.
Definition: teca_algorithm.h:244
An algorithm that evaluates an expression stores the result in a new variable.
Definition: teca_evaluate_expression.h:33
p_teca_error_handler error_handler TECA_EXPORT
The global error handler instance.
TECA_EXPORT bool set(teca_variant_array *varr, unsigned long i, PyObject *obj)
Set i'th element of the variant array to the value of the object.
Definition: teca_py_array.h:305
A convenience container for conventional array attributes necessary and/or useful when producing NetC...
Definition: teca_array_attributes.h:32