1 #ifndef teca_cf_block_time_step_mapper_h
2 #define teca_cf_block_time_step_mapper_h
4 #include "teca_config.h"
5 #include "teca_metadata.h"
6 #include "teca_cf_layout_manager.h"
7 #include "teca_cf_time_step_mapper.h"
15 #include <unordered_map>
20 using p_teca_cf_block_time_step_mapper = std::shared_ptr<teca_cf_block_time_step_mapper>;
28 static p_teca_cf_block_time_step_mapper
New()
39 int initialize(MPI_Comm comm,
long first_step,
long last_step,
40 long steps_per_file,
const std::string &index_request_key);
59 int get_file_id(
long time_step,
long &file_id);
62 long n_time_steps_per_file;
Maps time steps to files in fixed sized blocks.
Definition: teca_cf_block_time_step_mapper.h:24
int to_stream(std::ostream &os) override
print a summary to the stream
static p_teca_cf_block_time_step_mapper New()
allocate and return a new object
Definition: teca_cf_block_time_step_mapper.h:28
p_teca_cf_layout_manager get_layout_manager(long time_step) override
given a time step returns the associated layout manager
int initialize(MPI_Comm comm, long first_step, long last_step, long steps_per_file, const std::string &index_request_key)
Defines the interface for mapping time steps to files.
Definition: teca_cf_time_step_mapper.h:23
virtual p_teca_cf_layout_manager get_layout_manager(long time_step)
given a time step returns the associated layout manager
Definition: teca_cf_time_step_mapper.h:40
p_teca_error_handler error_handler TECA_EXPORT
The global error handler instance.