1 #ifndef teca_wrf_reader_h
2 #define teca_wrf_reader_h
4 #include "teca_algorithm.h"
5 #include "teca_metadata.h"
6 #include "teca_shared_object.h"
14 using p_teca_wrf_reader_internals = std::shared_ptr<teca_wrf_reader_internals>;
61 TECA_GET_ALGORITHM_PROPERTIES_DESCRIPTION()
62 TECA_SET_ALGORITHM_PROPERTIES()
66 TECA_ALGORITHM_VECTOR_PROPERTY(std::string, file_name)
71 TECA_ALGORITHM_PROPERTY(std::string, files_regex)
76 TECA_ALGORITHM_PROPERTY(std::string, metadata_cache_dir)
79 TECA_ALGORITHM_PROPERTY(
int, periodic_in_x)
80 TECA_ALGORITHM_PROPERTY(
int, periodic_in_y)
81 TECA_ALGORITHM_PROPERTY(
int, periodic_in_z)
85 TECA_ALGORITHM_PROPERTY(std::string, t_calendar)
86 TECA_ALGORITHM_PROPERTY(std::string, t_units)
99 TECA_ALGORITHM_PROPERTY(std::string, filename_time_template)
103 TECA_ALGORITHM_VECTOR_PROPERTY(
double, t_value)
108 TECA_ALGORITHM_PROPERTY(
int, thread_pool_size)
112 void clear_cached_metadata();
117 const std::vector<teca_metadata> &input_md)
override;
119 const_p_teca_dataset execute(
121 const std::vector<const_p_teca_dataset> &input_data,
124 virtual void set_modified()
override;
127 std::vector<std::string> file_names;
128 std::string files_regex;
129 std::string metadata_cache_dir;
130 std::string m_x_axis_variable;
131 std::string m_y_axis_variable;
132 std::string u_x_axis_variable;
133 std::string u_y_axis_variable;
134 std::string v_x_axis_variable;
135 std::string v_y_axis_variable;
136 std::string m_z_axis_variable;
137 std::string w_z_axis_variable;
138 std::string t_axis_variable;
139 std::string t_calendar;
141 std::string filename_time_template;
142 std::vector<double> t_values;
146 int thread_pool_size;
147 p_teca_wrf_reader_internals internals;