1 #ifndef teca_tc_wind_radii_h
2 #define teca_tc_wind_radii_h
5 #include "teca_algorithm.h"
6 #include "teca_metadata.h"
34 TECA_GET_ALGORITHM_PROPERTIES_DESCRIPTION()
35 TECA_SET_ALGORITHM_PROPERTIES()
43 TECA_ALGORITHM_PROPERTY(std::
string, storm_id_column)
52 TECA_ALGORITHM_PROPERTY(std::
string, storm_x_coordinate_column)
61 TECA_ALGORITHM_PROPERTY(std::
string, storm_y_coordinate_column)
69 TECA_ALGORITHM_PROPERTY(std::
string, storm_wind_speed_column)
78 TECA_ALGORITHM_PROPERTY(std::
string, storm_time_column)
85 TECA_ALGORITHM_PROPERTY(std::
string, wind_u_variable)
91 TECA_ALGORITHM_PROPERTY(std::
string, wind_v_variable)
98 TECA_ALGORITHM_PROPERTY(
double, search_radius)
107 TECA_ALGORITHM_PROPERTY(
double, core_radius)
114 TECA_ALGORITHM_PROPERTY(
int, number_of_radial_bins)
122 TECA_ALGORITHM_VECTOR_PROPERTY(
double, critical_wind_speed)
132 enum {PROFILE_MAX = 0, PROFILE_AVERAGE = 1};
134 TECA_ALGORITHM_PROPERTY(
int, profile_type)
141 void set_input_connection(
unsigned int id,
142 const teca_algorithm_output_port &port)
override;
149 const std::vector<teca_metadata> &input_md)
override;
151 std::vector<teca_metadata> get_upstream_request(
152 unsigned int port,
const std::vector<teca_metadata> &input_md,
155 const_p_teca_dataset execute(
unsigned int port,
156 const std::vector<const_p_teca_dataset> &input_data,
159 void set_modified()
override;
163 std::string storm_id_column;
164 std::string storm_x_coordinate_column;
165 std::string storm_y_coordinate_column;
166 std::string storm_wind_speed_column;
167 std::string storm_time_column;
170 std::string wind_u_variable;
171 std::string wind_v_variable;
173 std::vector<double> critical_wind_speeds;
174 double search_radius;
176 int number_of_radial_bins;
180 internals_t *internals;