1 #ifndef teca_dataset_diff_h
2 #define teca_dataset_diff_h
5 #include "teca_algorithm.h"
6 #include "teca_metadata.h"
7 #include "teca_table.h"
9 #include "teca_cartesian_mesh.h"
10 #include "teca_curvilinear_mesh.h"
11 #include "teca_arakawa_c_grid.h"
12 #include "teca_array_collection.h"
39 TECA_GET_ALGORITHM_PROPERTIES_DESCRIPTION()
40 TECA_SET_ALGORITHM_PROPERTIES()
48 TECA_ALGORITHM_PROPERTY(
double, relative_tolerance)
57 TECA_ALGORITHM_PROPERTY(
double, absolute_tolerance)
64 TECA_ALGORITHM_VECTOR_PROPERTY(std::
string, skip_array)
71 int compare_tables(const_p_teca_table table1, const_p_teca_table table2);
74 const_p_teca_mesh reference_mesh,
75 const_p_teca_mesh data_mesh);
77 int compare_cartesian_meshes(
78 const_p_teca_cartesian_mesh reference_mesh,
79 const_p_teca_cartesian_mesh data_mesh);
81 int compare_curvilinear_meshes(
82 const_p_teca_curvilinear_mesh reference_mesh,
83 const_p_teca_curvilinear_mesh data_mesh);
85 int compare_arakawa_c_grids(
86 const_p_teca_arakawa_c_grid reference_mesh,
87 const_p_teca_arakawa_c_grid data_mesh);
89 int compare_array_collections(
90 const_p_teca_array_collection reference_arrays,
91 const_p_teca_array_collection data_arrays);
97 void datasets_differ(const
char* info, ...);
106 unsigned int port, const std::vector<
teca_metadata> &input_md,
109 const_p_teca_dataset execute(
unsigned int port,
110 const std::vector<const_p_teca_dataset> &input_data,
113 double get_abs_tol() const;
114 double get_rel_tol() const;
117 double relative_tolerance;
118 double absolute_tolerance;
119 std::vector<std::
string> skip_arrays;
The interface to TECA pipeline architecture.
Definition: teca_algorithm.h:244
compute the element wise difference between to datasets
Definition: teca_dataset_diff.h:31
p_teca_error_handler error_handler TECA_EXPORT
The global error handler instance.