|
TECA
The Toolkit for Extreme Climate Analysis
|
a reader for data stored in binary table format More...
#include <teca_table_reader.h>
Public Types | |
| enum | { format_csv , format_bin , format_xlsx , format_auto } |
Public Member Functions | |
| std::shared_ptr< teca_table_reader > | shared_from_this () |
| std::shared_ptr< teca_table_reader const > | shared_from_this () const |
| teca_table_reader (const teca_table_reader &src)=delete | |
| teca_table_reader (teca_table_reader &&src)=delete | |
| teca_table_reader & | operator= (const teca_table_reader &src)=delete |
| teca_table_reader & | operator= (teca_table_reader &&src)=delete |
| const char * | get_class_name () const override |
| void | set_file_name (const std::string &v) |
| const std::string & | get_file_name () const |
| void | set_index_column (const std::string &v) |
| const std::string & | get_index_column () const |
| void | set_generate_original_ids (const int &v) |
| const int & | get_generate_original_ids () const |
| size_t | get_number_of_metadata_column_names () |
| void | append_metadata_column_name (const std::string &v) |
| void | set_metadata_column_name (const std::string &v) |
| void | set_metadata_column_name (size_t i, const std::string &v) |
| void | set_metadata_column_names (const std::vector< std::string > &v) |
| void | set_metadata_column_names (const std::initializer_list< std::string > &&l) |
| const std::string & | get_metadata_column_name (size_t i) const |
| const std::vector< std::string > & | get_metadata_column_names () const |
| void | clear_metadata_column_names () |
| size_t | get_number_of_metadata_column_keys () |
| void | append_metadata_column_key (const std::string &v) |
| void | set_metadata_column_key (const std::string &v) |
| void | set_metadata_column_key (size_t i, const std::string &v) |
| void | set_metadata_column_keys (const std::vector< std::string > &v) |
| void | set_metadata_column_keys (const std::initializer_list< std::string > &&l) |
| const std::string & | get_metadata_column_key (size_t i) const |
| const std::vector< std::string > & | get_metadata_column_keys () const |
| void | clear_metadata_column_keys () |
| void | add_metadata_column (const std::string &column, const std::string &key) |
| void | clear_metadata_columns () |
| void | set_file_format (const int &v) |
| const int & | get_file_format () const |
| void | set_file_format_csv () |
| void | set_file_format_bin () |
| void | set_file_format_xlsx () |
| void | set_file_format_auto () |
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 () |
| get the active communicator More... | |
| virtual teca_algorithm_output_port | get_output_port (unsigned int port=0) |
| void | set_input_connection (const teca_algorithm_output_port &port) |
| set an input to this algorithm More... | |
| virtual void | set_input_connection (unsigned int id, const teca_algorithm_output_port &port) |
| set an input to this algorithm More... | |
| virtual void | remove_input_connection (unsigned int id) |
| remove input connections More... | |
| void | clear_input_connections () |
| remove all input connections More... | |
| 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) |
| set the cache size. the default is 1. (threadsafe) More... | |
| virtual int | update () |
| execute the pipeline from this instance up. More... | |
| virtual int | update (unsigned int port) |
| execute the pipeline from this instance up. More... | |
| virtual teca_metadata | update_metadata (unsigned int port=0) |
| get meta data considering this instance up. More... | |
| void | set_executive (p_teca_algorithm_executive exe) |
| set the executive More... | |
| p_teca_algorithm_executive | get_executive () |
| get the executive More... | |
| virtual void | to_stream (std::ostream &s) const |
| virtual void | from_stream (std::istream &s) |
| deserialize from the stream. More... | |
| void | set_verbose (const int &v) |
| const int & | get_verbose () const |
Static Public Member Functions | |
| static p_teca_table_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) |
| an overload to set_modified by port More... | |
| 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) |
| clear the cache on the given output port More... | |
| unsigned int | get_number_of_input_connections () |
| get the number of input connections More... | |
| teca_algorithm_output_port & | get_input_connection (unsigned int i) |
| void | clear_modified (unsigned int port) |
| clear the modified flag on the i'th output More... | |
| int | get_modified (unsigned int port) const |
| return the output port's modified flag value More... | |
Protected Attributes inherited from teca_algorithm | |
| int | verbose |
a reader for data stored in binary table format
A reader for data stored in CSV or binary table format. By default the reader reads and returns the entire table on rank 0. The reader can partition the data across an "index column". The index column assigns a unique id to rows that should be returned together. The reader reports the number of unique ids to the pipeline which can then be requested by the pipeline during parallel or sequential execution.
output: generates a table containing the data read from the file.
a '#' character at the start of a line marks it as a comment. The version of the CSV specification as well as the version of TECA used to write the table will be stored in comment lines. Comment lines are currently skipped when reading the table.
the first row stores the names and data types of the columns. Column names are strings and delimited by double quotes. A column's data type is encoded in the name using (N) where N is an integer type code defined by teca_variant_array and parentheses delimit the type code. The type code sequence is stripped from the name when the file is read.
| C type | code |
|---|---|
| char | 1 |
| unsigned char | 2 |
| int | 3 |
| unsigned int | 4 |
| short int | 5 |
| short unsigned int | 6 |
| long | 7 |
| unsigned long | 8 |
| long long | 9 |
| unsigned long long | 10 |
| float | 11 |
| double | 12 |
| std::string | 13 |
The number of column definitions found determines the number of columns in the table when reading.
Data is organized row by row with an entry for each column. Entries are separated by commas ','. Error's will occur when the number of column definitions don't match the number of data entries per row.
Strings are delimited by double quotations. Double quotes and commas in strings may be escaped by a backslash.
The type code provided in the column definition tells the type of number. These codes are defined in teca_variant_array.
floating point types are written with format and precision such that they may be read without introducing rounding error.
|
inline |
append to the metadata_column_key algorithm vector property
|
inline |
append to the metadata_column_name algorithm vector property
|
inline |
clear the metadata_column_key algorithm vector property
|
inline |
clear the metadata_column_name algorithm vector property
|
inlineoverridevirtual |
returns the name of the class
Implements teca_algorithm.
|
inline |
Get the value of the file_format algorithm property
|
inline |
Get the value of the file_name algorithm property
|
inline |
Get the value of the generate_original_ids algorithm property
|
inline |
Get the value of the index_column algorithm property
|
inline |
get the i-th element of the metadata_column_key algorithm vector property
|
inline |
get the metadata_column_key algorithm vector property
|
inline |
get the i-th element of the metadata_column_name algorithm vector property
|
inline |
get the metadata_column_name algorithm vector property
|
inline |
get the size of the metadata_column_key algorithm vector property
|
inline |
get the size of the metadata_column_name algorithm vector property
|
inlinestatic |
Returns an instance of teca_table_reader
|
inline |
Set the value of the file_format algorithm property
|
inline |
Set the value of the file_name algorithm property
|
inline |
Set the value of the generate_original_ids algorithm property
|
inline |
Set the value of the index_column algorithm property
|
inline |
set the metadata_column_key algorithm vector property to a single value
|
inline |
set the i-th element of the metadata_column_key algorithm vector property
|
inline |
set the metadata_column_key algorithm vector property
|
inline |
set the metadata_column_key algorithm vector property
|
inline |
set the metadata_column_name algorithm vector property to a single value
|
inline |
set the i-th element of the metadata_column_name algorithm vector property
|
inline |
set the metadata_column_name algorithm vector property
|
inline |
set the metadata_column_name algorithm vector property
|
inline |
Enables the static constructor
|
inline |
Enables the static constructor