1 #ifndef teca_cf_reader_h
2 #define teca_cf_reader_h
4 #include "teca_config.h"
5 #include "teca_algorithm.h"
6 #include "teca_metadata.h"
14 class teca_cf_reader_internals;
15 using p_teca_cf_reader_internals = std::shared_ptr<teca_cf_reader_internals>;
87 TECA_GET_ALGORITHM_PROPERTIES_DESCRIPTION()
88 TECA_SET_ALGORITHM_PROPERTIES()
95 TECA_ALGORITHM_VECTOR_PROPERTY(std::
string, file_name)
108 TECA_ALGORITHM_PROPERTY(std::
string, files_regex)
115 TECA_ALGORITHM_PROPERTY(
int, periodic_in_x)
122 TECA_ALGORITHM_PROPERTY(
int, periodic_in_y)
129 TECA_ALGORITHM_PROPERTY(
int, periodic_in_z)
137 TECA_ALGORITHM_PROPERTY(std::
string, x_axis_variable)
145 TECA_ALGORITHM_PROPERTY(std::
string, y_axis_variable)
152 TECA_ALGORITHM_PROPERTY(std::
string, z_axis_variable)
160 TECA_ALGORITHM_PROPERTY(std::
string, t_axis_variable)
168 TECA_ALGORITHM_PROPERTY(std::
string, calendar)
176 TECA_ALGORITHM_PROPERTY(std::
string, t_units)
198 TECA_ALGORITHM_PROPERTY(std::
string, filename_time_template)
206 TECA_ALGORITHM_VECTOR_PROPERTY(
double, t_value)
215 TECA_ALGORITHM_PROPERTY(
int, max_metadata_ranks)
230 void clear_cached_metadata();
239 const_p_teca_dataset execute(
241 const std::vector<const_p_teca_dataset> &input_data,
244 virtual
void set_modified() override;
247 std::vector<std::
string> file_names;
248 std::
string files_regex;
249 std::
string x_axis_variable;
250 std::
string y_axis_variable;
251 std::
string z_axis_variable;
252 std::
string t_axis_variable;
253 std::
string calendar;
255 std::
string filename_time_template;
256 std::vector<
double> t_values;
260 int max_metadata_ranks;
262 p_teca_cf_reader_internals internals;