1 #ifndef teca_tc_wind_radii_h
2 #define teca_tc_wind_radii_h
4 #include "teca_config.h"
6 #include "teca_algorithm.h"
7 #include "teca_metadata.h"
35 TECA_GET_ALGORITHM_PROPERTIES_DESCRIPTION()
36 TECA_SET_ALGORITHM_PROPERTIES()
44 TECA_ALGORITHM_PROPERTY(std::
string, storm_id_column)
53 TECA_ALGORITHM_PROPERTY(std::
string, storm_x_coordinate_column)
62 TECA_ALGORITHM_PROPERTY(std::
string, storm_y_coordinate_column)
70 TECA_ALGORITHM_PROPERTY(std::
string, storm_wind_speed_column)
79 TECA_ALGORITHM_PROPERTY(std::
string, storm_time_column)
86 TECA_ALGORITHM_PROPERTY(std::
string, wind_u_variable)
92 TECA_ALGORITHM_PROPERTY(std::
string, wind_v_variable)
99 TECA_ALGORITHM_PROPERTY(
double, search_radius)
108 TECA_ALGORITHM_PROPERTY(
double, core_radius)
115 TECA_ALGORITHM_PROPERTY(
int, number_of_radial_bins)
123 TECA_ALGORITHM_VECTOR_PROPERTY(
double, critical_wind_speed)
133 enum {PROFILE_MAX = 0, PROFILE_AVERAGE = 1};
135 TECA_ALGORITHM_PROPERTY(
int, profile_type)
142 void set_input_connection(
unsigned int id,
143 const teca_algorithm_output_port &port)
override;
152 const std::vector<teca_metadata> &input_md)
override;
154 std::vector<teca_metadata> get_upstream_request(
155 unsigned int port,
const std::vector<teca_metadata> &input_md,
158 const_p_teca_dataset execute(
unsigned int port,
159 const std::vector<const_p_teca_dataset> &input_data,
162 void set_modified()
override;
166 std::string storm_id_column;
167 std::string storm_x_coordinate_column;
168 std::string storm_y_coordinate_column;
169 std::string storm_wind_speed_column;
170 std::string storm_time_column;
173 std::string wind_u_variable;
174 std::string wind_v_variable;
176 std::vector<double> critical_wind_speeds;
177 double search_radius;
179 int number_of_radial_bins;
183 internals_t *internals;