1 #ifndef teca_wrf_reader_h
2 #define teca_wrf_reader_h
4 #include "teca_algorithm.h"
5 #include "teca_metadata.h"
13 class teca_wrf_reader_internals;
14 using p_teca_wrf_reader_internals = std::shared_ptr<teca_wrf_reader_internals>;
70 TECA_GET_ALGORITHM_PROPERTIES_DESCRIPTION()
71 TECA_SET_ALGORITHM_PROPERTIES()
75 TECA_ALGORITHM_VECTOR_PROPERTY(std::
string, file_name)
80 TECA_ALGORITHM_PROPERTY(std::
string, files_regex)
85 TECA_ALGORITHM_PROPERTY(std::
string, metadata_cache_dir)
88 TECA_ALGORITHM_PROPERTY(
int, periodic_in_x)
89 TECA_ALGORITHM_PROPERTY(
int, periodic_in_y)
90 TECA_ALGORITHM_PROPERTY(
int, periodic_in_z)
94 TECA_ALGORITHM_PROPERTY(std::
string, calendar)
95 TECA_ALGORITHM_PROPERTY(std::
string, t_units)
108 TECA_ALGORITHM_PROPERTY(std::
string, filename_time_template)
112 TECA_ALGORITHM_VECTOR_PROPERTY(
double, t_value)
117 TECA_ALGORITHM_PROPERTY(
int, thread_pool_size)
121 void clear_cached_metadata();
128 const_p_teca_dataset execute(
130 const std::vector<const_p_teca_dataset> &input_data,
133 virtual
void set_modified() override;
136 std::vector<std::
string> file_names;
137 std::
string files_regex;
138 std::
string metadata_cache_dir;
139 std::
string m_x_axis_variable;
140 std::
string m_y_axis_variable;
141 std::
string u_x_axis_variable;
142 std::
string u_y_axis_variable;
143 std::
string v_x_axis_variable;
144 std::
string v_y_axis_variable;
145 std::
string m_z_axis_variable;
146 std::
string w_z_axis_variable;
147 std::
string t_axis_variable;
148 std::
string calendar;
150 std::
string filename_time_template;
151 std::vector<
double> t_values;
155 int thread_pool_size;
156 p_teca_wrf_reader_internals internals;