1 #ifndef teca_tc_wind_radii_h
2 #define teca_tc_wind_radii_h
4 #include "teca_shared_object.h"
5 #include "teca_algorithm.h"
6 #include "teca_metadata.h"
35 TECA_GET_ALGORITHM_PROPERTIES_DESCRIPTION()
36 TECA_SET_ALGORITHM_PROPERTIES()
41 TECA_ALGORITHM_PROPERTY(std::string, storm_id_column)
46 TECA_ALGORITHM_PROPERTY(std::string, storm_x_coordinate_column)
47 TECA_ALGORITHM_PROPERTY(std::string, storm_y_coordinate_column)
51 TECA_ALGORITHM_PROPERTY(std::string, storm_wind_speed_column)
56 TECA_ALGORITHM_PROPERTY(std::string, storm_time_column)
59 TECA_ALGORITHM_PROPERTY(std::string, wind_u_variable)
60 TECA_ALGORITHM_PROPERTY(std::string, wind_v_variable)
64 TECA_ALGORITHM_PROPERTY(
double, search_radius)
70 TECA_ALGORITHM_PROPERTY(
double, core_radius)
73 TECA_ALGORITHM_PROPERTY(
int, number_of_radial_bins)
78 TECA_ALGORITHM_VECTOR_PROPERTY(
double, critical_wind_speed)
83 enum {PROFILE_MAX = 0, PROFILE_AVERAGE = 1};
84 TECA_ALGORITHM_PROPERTY(
int, profile_type);
91 void set_input_connection(
unsigned int id,
92 const teca_algorithm_output_port &port)
override;
99 const std::vector<teca_metadata> &input_md)
override;
101 std::vector<teca_metadata> get_upstream_request(
102 unsigned int port,
const std::vector<teca_metadata> &input_md,
105 const_p_teca_dataset execute(
unsigned int port,
106 const std::vector<const_p_teca_dataset> &input_data,
109 void set_modified()
override;
113 std::string storm_id_column;
114 std::string storm_x_coordinate_column;
115 std::string storm_y_coordinate_column;
116 std::string storm_wind_speed_column;
117 std::string storm_time_column;
120 std::string wind_u_variable;
121 std::string wind_v_variable;
123 std::vector<double> critical_wind_speeds;
124 double search_radius;
126 int number_of_radial_bins;