1 #ifndef teca_cf_writer_h
2 #define teca_cf_writer_h
5 #include "teca_threaded_algorithm.h"
6 #include "teca_metadata.h"
83 TECA_GET_ALGORITHM_PROPERTIES_DESCRIPTION()
84 TECA_SET_ALGORITHM_PROPERTIES()
92 TECA_ALGORITHM_PROPERTY(std::
string, file_name)
102 TECA_ALGORITHM_PROPERTY(std::
string, date_format)
109 TECA_ALGORITHM_PROPERTY(
long, first_step)
116 TECA_ALGORITHM_PROPERTY(
long, last_step)
128 enum {invalid=0, number_of_steps=1, daily=2, monthly=3, seasonal=4, yearly=5};
129 TECA_ALGORITHM_PROPERTY_V(
int, layout)
131 void set_layout_to_number_of_steps() { this->set_layout(number_of_steps); }
132 void set_layout_to_daily() { this->set_layout(daily); }
133 void set_layout_to_monthly() { this->set_layout(monthly); }
134 void set_layout_to_seasonal() { this->set_layout(seasonal); }
135 void set_layout_to_yearly() { this->set_layout(yearly); }
138 int set_layout(
const std::string &layout);
143 if ((mode == number_of_steps) || (mode == daily) ||
144 (mode == monthly) || (mode == seasonal) || (mode == yearly))
157 TECA_ALGORITHM_PROPERTY(
unsigned int, steps_per_file)
164 TECA_ALGORITHM_PROPERTY(
int, mode_flags)
178 TECA_ALGORITHM_PROPERTY(
int, use_unlimited_dim)
188 TECA_ALGORITHM_PROPERTY(
int, compression_level)
196 TECA_ALGORITHM_PROPERTY(
int, flush_files)
206 TECA_ALGORITHM_VECTOR_PROPERTY(std::
string, point_array)
213 TECA_ALGORITHM_VECTOR_PROPERTY(std::
string, information_array)
221 const_p_teca_dataset execute(
unsigned int port,
222 const std::vector<const_p_teca_dataset> &input_data,
228 std::vector<
teca_metadata> get_upstream_request(
unsigned int port,
237 std::
string file_name;
238 std::
string date_format;
242 unsigned int steps_per_file;
244 int use_unlimited_dim;
245 int compression_level;
248 std::vector<std::
string> point_arrays;
249 std::vector<std::
string> information_arrays;
252 internals_t *internals;