NetCDF CF2 files time step mapper.
More...
#include <teca_cf_interval_time_step_mapper.h>
|
| int | initialize (MPI_Comm comm, long first_step, long last_step, const teca_calendar_util::p_interval_iterator &it, const std::string &index_request_key) |
| |
| p_teca_cf_layout_manager | get_layout_manager (long time_step) override |
| | given a time step returns the associated layout manager More...
|
| |
| int | to_stream (std::ostream &os) override |
| | print a summary to the stream More...
|
| |
| virtual p_teca_cf_layout_manager | get_layout_manager (long time_step) |
| | given a time step returns the associated layout manager More...
|
| |
| virtual int | get_layout_manager (const unsigned long temporal_extent[2], std::vector< p_teca_cf_layout_manager > &managers) |
| |
| virtual bool | initialized () |
| | returns true if the mapper has been successfully initialized More...
|
| |
| virtual int | finalize () |
| |
| virtual int | get_upstream_requests (teca_metadata base_req, std::vector< teca_metadata > &up_reqs) |
| | construct requests for this rank More...
|
| |
| virtual int | get_layout_manager (const unsigned long temporal_extent[2], std::vector< p_teca_cf_layout_manager > &managers) |
| |
| template<typename op_t > |
| int | file_table_apply (const op_t &op) |
| |
|
| static p_teca_cf_interval_time_step_mapper | New () |
| | allocate and return a new object More...
|
| |
|
|
using | step_bracket_t = std::pair< long, long > |
| |
| using | file_table_t = std::unordered_map< long, p_teca_cf_layout_manager > |
| | the file table maps from a time step to a specific layout manager More...
|
| |
NetCDF CF2 files time step mapper.
◆ get_file_id()
| int teca_cf_interval_time_step_mapper::get_file_id |
( |
long |
time_step, |
|
|
long & |
file_id |
|
) |
| |
|
protected |
given a time step, get the corresponding file id
◆ get_layout_manager() [1/3]
| virtual int teca_cf_time_step_mapper::get_layout_manager |
|
inline |
given an inclusive range of time steps, get the corresponding layout managers that can be used to create, define and write the data to disk. When more than one manager is returned, each should be passed the data, giving it a chance to write the subset it is responsible for to disk.
- Parameters
-
| [in] | temporal_extent | the first and last step that will be written |
| [out] | manager | a vector of teca_cf_layout_manager instances that need to be called to write the data. |
- Returns
- zero if successful.
◆ get_layout_manager() [2/3]
| virtual p_teca_cf_layout_manager teca_cf_time_step_mapper::get_layout_manager |
|
inline |
given a time step returns the associated layout manager
◆ get_layout_manager() [3/3]
| p_teca_cf_layout_manager teca_cf_interval_time_step_mapper::get_layout_manager |
( |
long |
time_step | ) |
|
|
overridevirtual |
◆ initialize()
| int teca_cf_interval_time_step_mapper::initialize |
( |
MPI_Comm |
comm, |
|
|
long |
first_step, |
|
|
long |
last_step, |
|
|
const teca_calendar_util::p_interval_iterator & |
it, |
|
|
const std::string & |
index_request_key |
|
) |
| |
initialize based on input metadata. this is a collective call creates communicator groups for each file and creates the file layout managers for the local rank. After this call one can access file managers to create, define and write local datasets to the NetCDF files in cf format.
◆ New()
| static p_teca_cf_interval_time_step_mapper teca_cf_interval_time_step_mapper::New |
( |
| ) |
|
|
inlinestatic |
allocate and return a new object
◆ to_stream()
| int teca_cf_interval_time_step_mapper::to_stream |
( |
std::ostream & |
os | ) |
|
|
overridevirtual |
The documentation for this class was generated from the following file: