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 int compare_tables(const_p_teca_table table1, const_p_teca_table table2);
67 const_p_teca_mesh reference_mesh,
68 const_p_teca_mesh data_mesh);
70 int compare_cartesian_meshes(
71 const_p_teca_cartesian_mesh reference_mesh,
72 const_p_teca_cartesian_mesh data_mesh);
74 int compare_curvilinear_meshes(
75 const_p_teca_curvilinear_mesh reference_mesh,
76 const_p_teca_curvilinear_mesh data_mesh);
78 int compare_arakawa_c_grids(
79 const_p_teca_arakawa_c_grid reference_mesh,
80 const_p_teca_arakawa_c_grid data_mesh);
82 int compare_array_collections(
83 const_p_teca_array_collection reference_arrays,
84 const_p_teca_array_collection data_arrays);
90 void datasets_differ(const
char* info, ...);
97 unsigned int port, const std::vector<
teca_metadata> &input_md,
100 const_p_teca_dataset execute(
unsigned int port,
101 const std::vector<const_p_teca_dataset> &input_data,
104 double get_abs_tol() const;
105 double get_rel_tol() const;
108 double relative_tolerance;
109 double absolute_tolerance;