1 #ifndef teca_cf_interval_time_step_mapper_h
2 #define teca_cf_interval_time_step_mapper_h
4 #include "teca_metadata.h"
5 #include "teca_cf_layout_manager.h"
6 #include "teca_cf_time_step_mapper.h"
15 #include <unordered_map>
20 using p_teca_cf_interval_time_step_mapper = std::shared_ptr<teca_cf_interval_time_step_mapper>;
28 static p_teca_cf_interval_time_step_mapper New()
38 int initialize(MPI_Comm comm,
long first_step,
long last_step,
39 const teca_calendar_util::p_interval_iterator &it,
44 p_teca_cf_layout_manager get_layout_manager(
long time_step)
override;
47 int to_stream(std::ostream &os)
override;
60 int get_file_id(
long time_step,
long &file_id);
65 using step_bracket_t = std::pair<long, long>;
66 std::vector<step_bracket_t> file_steps;