|
TECA
|
a reader for data stored in NetCDF CF format in multiple files More...
#include <teca_multi_cf_reader.h>
Public Member Functions | |
| std::shared_ptr< teca_multi_cf_reader > | shared_from_this () |
| std::shared_ptr< teca_multi_cf_reader const > | shared_from_this () const |
| teca_multi_cf_reader (const teca_multi_cf_reader &src)=delete | |
| teca_multi_cf_reader (teca_multi_cf_reader &&src)=delete | |
| teca_multi_cf_reader & | operator= (const teca_multi_cf_reader &src)=delete |
| teca_multi_cf_reader & | operator= (teca_multi_cf_reader &&src)=delete |
| const char * | get_class_name () const override |
| int | set_input_file (const std::string &input_file) |
| int | add_reader (const std::string &key, const std::string &files_regex, int provides_time, int provides_geometry, const std::vector< std::string > &variables) |
| int | set_time_reader (const std::string &key) |
| int | set_geometry_reader (const std::string &key) |
| int | add_variable_reader (const std::string &key, const std::string &variable) |
| int | set_variable_reader (const std::string &key, const std::vector< std::string > &variable) |
| void | get_variables (std::vector< std::string > &vars) |
| void | set_periodic_in_x (const int &v) |
| const int & | get_periodic_in_x () const |
| void | set_periodic_in_y (const int &v) |
| const int & | get_periodic_in_y () const |
| void | set_periodic_in_z (const int &v) |
| const int & | get_periodic_in_z () const |
| void | set_x_axis_variable (const std::string &v) |
| const std::string & | get_x_axis_variable () const |
| void | set_y_axis_variable (const std::string &v) |
| const std::string & | get_y_axis_variable () const |
| void | set_z_axis_variable (const std::string &v) |
| const std::string & | get_z_axis_variable () const |
| void | set_t_axis_variable (const std::string &v) |
| const std::string & | get_t_axis_variable () const |
| void | set_t_calendar (const std::string &v) |
| const std::string & | get_t_calendar () const |
| void | set_t_units (const std::string &v) |
| const std::string & | get_t_units () const |
| void | set_filename_time_template (const std::string &v) |
| const std::string & | get_filename_time_template () const |
| size_t | get_number_of_t_values () |
| void | append_t_value (const double &v) |
| void | set_t_value (size_t i, const double &v) |
| void | set_t_values (const std::vector< double > &v) |
| void | set_t_values (const std::initializer_list< double > &&l) |
| void | set_t_values (const const_p_teca_variant_array &v) |
| const double & | get_t_value (size_t i) const |
| void | get_t_values (std::vector< double > &v) const |
| void | get_t_values (const p_teca_variant_array &v) const |
| void | clear_t_values () |
| void | set_max_metadata_ranks (const int &v) |
| const int & | get_max_metadata_ranks () const |
Public Member Functions inherited from teca_algorithm | |
| teca_algorithm (const teca_algorithm &src)=delete | |
| teca_algorithm (teca_algorithm &&src)=delete | |
| teca_algorithm & | operator= (const teca_algorithm &src)=delete |
| teca_algorithm & | operator= (teca_algorithm &&src)=delete |
| void | set_communicator (MPI_Comm comm) |
| MPI_Comm | get_communicator () |
| virtual teca_algorithm_output_port | get_output_port (unsigned int port=0) |
| void | set_input_connection (const teca_algorithm_output_port &port) |
| virtual void | set_input_connection (unsigned int id, const teca_algorithm_output_port &port) |
| virtual void | remove_input_connection (unsigned int id) |
| void | clear_input_connections () |
| const_p_teca_dataset | get_output_data (unsigned int port=0) |
| void | pop_cache (unsigned int port=0, int top=0) |
| void | set_cache_size (unsigned int n) |
| virtual int | update () |
| virtual int | update (unsigned int port) |
| virtual teca_metadata | update_metadata (unsigned int port=0) |
| void | set_executive (p_teca_algorithm_executive exe) |
| p_teca_algorithm_executive | get_executive () |
| virtual void | to_stream (std::ostream &s) const |
| virtual void | from_stream (std::istream &s) |
Static Public Member Functions | |
| static p_teca_multi_cf_reader | New () |
Additional Inherited Members | |
Protected Member Functions inherited from teca_algorithm | |
| void | set_number_of_input_connections (unsigned int n) |
| void | set_number_of_output_ports (unsigned int n) |
| void | set_modified (unsigned int port) |
| virtual std::vector< teca_metadata > | get_upstream_request (unsigned int port, const std::vector< teca_metadata > &input_md, const teca_metadata &request) |
| virtual teca_metadata | get_cache_key (unsigned int port, const teca_metadata &request) const |
| virtual teca_metadata | get_output_metadata (teca_algorithm_output_port ¤t) |
| virtual const_p_teca_dataset | request_data (teca_algorithm_output_port &port, const teca_metadata &request) |
| virtual int | validate_cache (teca_algorithm_output_port ¤t) |
| virtual void | clear_modified (teca_algorithm_output_port current) |
| const_p_teca_dataset | get_output_data (unsigned int port, const teca_metadata &request) |
| int | cache_output_data (unsigned int port, const teca_metadata &request, const_p_teca_dataset &data) |
| void | clear_cache (unsigned int port) |
| unsigned int | get_number_of_input_connections () |
| teca_algorithm_output_port & | get_input_connection (unsigned int i) |
| void | clear_modified (unsigned int port) |
| int | get_modified (unsigned int port) const |
a reader for data stored in NetCDF CF format in multiple files
a reader for data stored in NetCDF CF format in multiple files. the data read is presented to the down stream as a single dataset
use the add_reader method to specify regular experiession and corresponding list of variables to read. a reader, not necessarily the same one, must be selected to provide the time and spatial axes.
this reader could handle spatio-temporal interpolations as well, however that is currently not implemented. as a result all data is expected to be on the same coordinate system.
A number of algorithm properties modify run time behavior, most of these are exposed from teca_cf_reader. see the teca_cf_reader for details.
The reader may be initialized via a configuration file. The configuration file consists of name = value pairs and flags organized in sections. Sections are declared using []. There is an optional global section followed by a number of [cf_reader] sections. Each [cf_reader] section consists of a name(optional), a regex, a list of variables, a provides_time flag(optional) and a provides geometry flag(optional). At least one section must contain a provides_time and provides geometry flag. The global section may contain a data_root. Occurances of the string data_root% in the regex are replaced with the value of data_root.
The following example configures the reader to read hus,ua and va.