|
TECA
The Toolkit for Extreme Climate Analysis
|
A reader for collections of arrays stored in NetCDF format. More...
#include <teca_array_collection_reader.h>
Public Member Functions | |
| std::shared_ptr< teca_array_collection_reader > | shared_from_this () |
| std::shared_ptr< teca_array_collection_reader const > | shared_from_this () const |
| teca_array_collection_reader (const teca_array_collection_reader &src)=delete | |
| teca_array_collection_reader (teca_array_collection_reader &&src)=delete | |
| teca_array_collection_reader & | operator= (const teca_array_collection_reader &src)=delete |
| teca_array_collection_reader & | operator= (teca_array_collection_reader &&src)=delete |
| const char * | get_class_name () const override |
file_name | |
Set a list of files to open. If this is used then the files_regex is ignored. | |
| size_t | get_number_of_file_names () |
| void | append_file_name (const std::string &v) |
| void | set_file_name (const std::string &v) |
| void | set_file_name (size_t i, const std::string &v) |
| void | set_file_names (const std::vector< std::string > &v) |
| void | set_file_names (const std::initializer_list< std::string > &&l) |
| const std::string & | get_file_name (size_t i) const |
| const std::vector< std::string > & | get_file_names () const |
| void | clear_file_names () |
files_regex | |
Set a regular expression identifying the set of files comprising the dataset. This should contain the full path to the files and the regular expression. Only the final component of a path may contain a regex. Be aware that regular expression control characters do not have the same meaning as shell glob control characters. When used in a shell regular expression control characters need to be quoted or escaped to prevent the shell from interpreting them. | |
| void | set_files_regex (const std::string &v) |
| const std::string & | get_files_regex () const |
t_axis_variable | |
Set the name of the variable to use for the t coordinate axis. An empty string disables this dimension. | |
| void | set_t_axis_variable (const std::string &v) |
| const std::string & | get_t_axis_variable () const |
calendar | |
Override the calendar. When specified the values takes precedence over the values found in the file. | |
| void | set_calendar (const std::string &v) |
| const std::string & | get_calendar () const |
t_units | |
Override the time units. When specified the value takes precedence over the values found in the file. | |
| void | set_t_units (const std::string &v) |
| const std::string & | get_t_units () const |
filename_time_template | |
a way to infer time from the filename if the time axis is not stored in the file itself. std::get_time format codes are used. If a calendar is not specified then the standard calendar is used. If time units are not specified then the time units will be "days since %Y-%m-%d 00:00:00" where Y,m, and d are computed from the filename of the first file. set t_axis_variable to an empty string to use. For example, for the list of files:
the template would be
| |
| void | set_filename_time_template (const std::string &v) |
| const std::string & | get_filename_time_template () const |
t_value | |
an explicit list of double precision time values to use. set t_axis_variable to an empty string to use. | |
| size_t | get_number_of_t_values () |
| void | append_t_value (const double &v) |
| void | set_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) |
| const double & | get_t_value (size_t i) const |
| const std::vector< double > & | get_t_values () const |
| void | clear_t_values () |
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_array_collection_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 collections of arrays stored in NetCDF format.
The reader reads requested arrays into a teca_array_collection.
The time varying dataset to read is identified by a regular expression identifying a set of files. Note, regular expressions are similar and more powerful than the more familiar shell glob but the control characters have different meanings.
| key | description |
|---|---|
| variables | a list of all available variables. |
| attributes | a metadata object holding all NetCDF attributes for the variables |
| coordinates | a metadata object holding names and arrays of the coordinate axes |
| files | the list of files in this dataset |
| step_count | a list containing the number of steps in each file indiexed by file |
| index_initializer_key | set to the string "number_of_time_steps" |
| number_of_time_steps | set to the total number of time steps in all files |
| index_request_key | set to the string "temporal_extent" |
| key | description |
|---|---|
| [variable name] | a metadata object holding all NetCDF attributes, and |
| TECA specific per-array metadata |
| key | description |
|---|---|
| x_axis_variable | the name of x axis variable |
| y_axis_variable | the name of y axis variable |
| z_axis_variable | the name of z axis variable |
| t_axis_variable | the name of t axis variable |
| x | the array of x coordinates |
| y | the array of y coordinates |
| z | the array of z coordinates |
| t | the array of t coordinates |
| key | description |
|---|---|
| temporal_extent | holds an inclusive range of time step to read [i0, i1] |
| arrays | holds a list of arrays to read |
The reader generates a 1,2 or 3D cartesian mesh for the requested timestep on the requested extent with the requested point based arrays and value at this timestep for all time variables.
|
inline |
append to the file_name algorithm vector property
|
inline |
append to the t_value algorithm vector property
|
inline |
clear the file_name algorithm vector property
|
inline |
clear the t_value algorithm vector property
|
inline |
Get the value of the calendar algorithm property
|
inlineoverridevirtual |
returns the name of the class
Implements teca_algorithm.
|
inline |
get the i-th element of the file_name algorithm vector property
|
inline |
get the file_name algorithm vector property
|
inline |
Get the value of the filename_time_template algorithm property
|
inline |
Get the value of the files_regex algorithm property
|
inline |
get the size of the file_name algorithm vector property
|
inline |
get the size of the t_value algorithm vector property
|
inline |
Get the value of the t_axis_variable algorithm property
|
inline |
Get the value of the t_units algorithm property
|
inline |
get the i-th element of the t_value algorithm vector property
|
inline |
get the t_value algorithm vector property
|
inlinestatic |
Returns an instance of teca_array_collection_reader
|
inline |
Set the value of the calendar algorithm property
|
inline |
set the file_name algorithm vector property to a single value
|
inline |
set the i-th element of the file_name algorithm vector property
|
inline |
set the file_name algorithm vector property
|
inline |
set the file_name algorithm vector property
|
inline |
Set the value of the filename_time_template algorithm property
|
inline |
Set the value of the files_regex algorithm property
|
inline |
Set the value of the t_axis_variable algorithm property
|
inline |
Set the value of the t_units algorithm property
|
inline |
set the t_value algorithm vector property to a single value
|
inline |
set the i-th element of the t_value algorithm vector property
|
inline |
set the t_value algorithm vector property
|
inline |
set the t_value algorithm vector property
|
inline |
Enables the static constructor
|
inline |
Enables the static constructor