1 #ifndef teca_cartesian_mesh_regrid_h
2 #define teca_cartesian_mesh_regrid_h
4 #include "teca_shared_object.h"
5 #include "teca_algorithm.h"
6 #include "teca_metadata.h"
7 #include "teca_variant_array_fwd.h"
37 TECA_GET_ALGORITHM_PROPERTIES_DESCRIPTION()
38 TECA_SET_ALGORITHM_PROPERTIES()
42 TECA_ALGORITHM_VECTOR_PROPERTY(std::string, array)
46 TECA_ALGORITHM_PROPERTY(
int, target_input)
53 enum {nearest=0, linear=1};
54 TECA_ALGORITHM_PROPERTY(
int, interpolation_mode)
55 void set_interpolation_mode_nearest(){ interpolation_mode = nearest; }
56 void set_interpolation_mode_linear(){ interpolation_mode = linear; }
63 const std::vector<teca_metadata> &input_md)
override;
65 std::vector<teca_metadata> get_upstream_request(
66 unsigned int port,
const std::vector<teca_metadata> &input_md,
69 const_p_teca_dataset execute(
unsigned int port,
70 const std::vector<const_p_teca_dataset> &input_data,
74 std::vector<std::string> arrays;
76 int interpolation_mode;