TECA
The Toolkit for Extreme Climate Analysis
teca_wrf_reader Class Reference

A reader for data stored in WRF ARW format. More...

#include <teca_wrf_reader.h>

Inheritance diagram for teca_wrf_reader:
Collaboration diagram for teca_wrf_reader:

Public Member Functions

std::shared_ptr< teca_wrf_readershared_from_this ()
 
std::shared_ptr< teca_wrf_reader const > shared_from_this () const
 
 teca_wrf_reader (const teca_wrf_reader &src)=delete
 
 teca_wrf_reader (teca_wrf_reader &&src)=delete
 
teca_wrf_readeroperator= (const teca_wrf_reader &src)=delete
 
teca_wrf_readeroperator= (teca_wrf_reader &&src)=delete
 
const char * get_class_name () const override
 
size_t get_number_of_file_names ()
 
void append_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 ()
 
void set_files_regex (const std::string &v)
 
const std::string & get_files_regex () const
 
void set_metadata_cache_dir (const std::string &v)
 
const std::string & get_metadata_cache_dir () const
 
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_calendar (const std::string &v)
 
const std::string & get_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)
 
const double & get_t_value (size_t i) const
 
const std::vector< double > & get_t_values () const
 
void clear_t_values ()
 
void set_thread_pool_size (const int &v)
 
const int & get_thread_pool_size () const
 
- Public Member Functions inherited from teca_algorithm
 teca_algorithm (const teca_algorithm &src)=delete
 
 teca_algorithm (teca_algorithm &&src)=delete
 
teca_algorithmoperator= (const teca_algorithm &src)=delete
 
teca_algorithmoperator= (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_wrf_reader New ()
 

Protected Member Functions

void clear_cached_metadata ()
 
- 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_metadataget_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 &current)
 
virtual const_p_teca_dataset request_data (teca_algorithm_output_port &port, const teca_metadata &request)
 
virtual int validate_cache (teca_algorithm_output_port &current)
 
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_portget_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...
 

Additional Inherited Members

- Protected Attributes inherited from teca_algorithm
int verbose
 

Detailed Description

A reader for data stored in WRF ARW format.

Reads a set of arrays from single time step into an Arakawa C grid mesh. The mesh is optionally subset.

metadata keys:

key description
variables a list of all available variables
[var] a metadata object holding all NetCDF attributes for the
variable named [var]
time variables a list of all variables with time as the only
dimension
coordinates a metadata object holding names and arrays of the
coordinate axes
x_axis_variable name of x axis variable
y_axis_variable name of y axis variable
z_axis_variable name of z axis variable
t_axis_variable name of t axis variable
x array of x coordinates
y array of y coordinates
z array of z coordinates
t array of t coordinates
files list of files in this dataset
step_count list of the number of steps in each file
number_of_time_steps total number of time steps in all files
whole_extent index space extent describing (nodal) dimensions of the
mesh

request keys:

key description
time_step the time step to read
arrays list of arrays to read
extent index space extents describing the subset of data to read

output:

generates a 2 or 3D teca_arakawa_c_grid mesh for the requested timestep on the requested extent with the requested point based arrays and value at this timestep for all time variables.

Member Function Documentation

◆ append_file_name()

void teca_wrf_reader::append_file_name ( const std::string &  v)
inline

append to the file_name algorithm vector property

◆ append_t_value()

void teca_wrf_reader::append_t_value ( const double &  v)
inline

append to the t_value algorithm vector property

◆ clear_file_names()

void teca_wrf_reader::clear_file_names ( )
inline

clear the file_name algorithm vector property

◆ clear_t_values()

void teca_wrf_reader::clear_t_values ( )
inline

clear the t_value algorithm vector property

◆ get_calendar()

const std::string& teca_wrf_reader::get_calendar ( ) const
inline

Get the value of the calendar algorithm property

◆ get_class_name()

const char* teca_wrf_reader::get_class_name ( ) const
inlineoverridevirtual

returns the name of the class

Implements teca_algorithm.

◆ get_file_name()

const std::string& teca_wrf_reader::get_file_name ( size_t  i) const
inline

get the i-th element of the file_name algorithm vector property

◆ get_file_names()

const std::vector< std::string >& teca_wrf_reader::get_file_names ( ) const
inline

get the file_name algorithm vector property

◆ get_filename_time_template()

const std::string& teca_wrf_reader::get_filename_time_template ( ) const
inline

Get the value of the filename_time_template algorithm property

◆ get_files_regex()

const std::string& teca_wrf_reader::get_files_regex ( ) const
inline

Get the value of the files_regex algorithm property

◆ get_metadata_cache_dir()

const std::string& teca_wrf_reader::get_metadata_cache_dir ( ) const
inline

Get the value of the metadata_cache_dir algorithm property

◆ get_number_of_file_names()

size_t teca_wrf_reader::get_number_of_file_names ( )
inline

get the size of the file_name algorithm vector property

◆ get_number_of_t_values()

size_t teca_wrf_reader::get_number_of_t_values ( )
inline

get the size of the t_value algorithm vector property

◆ get_periodic_in_x()

const int& teca_wrf_reader::get_periodic_in_x ( ) const
inline

Get the value of the periodic_in_x algorithm property

◆ get_periodic_in_y()

const int& teca_wrf_reader::get_periodic_in_y ( ) const
inline

Get the value of the periodic_in_y algorithm property

◆ get_periodic_in_z()

const int& teca_wrf_reader::get_periodic_in_z ( ) const
inline

Get the value of the periodic_in_z algorithm property

◆ get_t_units()

const std::string& teca_wrf_reader::get_t_units ( ) const
inline

Get the value of the t_units algorithm property

◆ get_t_value()

const double& teca_wrf_reader::get_t_value ( size_t  i) const
inline

get the i-th element of the t_value algorithm vector property

◆ get_t_values()

const std::vector< double >& teca_wrf_reader::get_t_values ( ) const
inline

get the t_value algorithm vector property

◆ get_thread_pool_size()

const int& teca_wrf_reader::get_thread_pool_size ( ) const
inline

Get the value of the thread_pool_size algorithm property

◆ New()

static p_teca_wrf_reader teca_wrf_reader::New ( )
inlinestatic

Returns an instance of teca_wrf_reader

◆ set_calendar()

void teca_wrf_reader::set_calendar ( const std::string &  v)
inline

Set the value of the calendar algorithm property

◆ set_file_name()

void teca_wrf_reader::set_file_name ( size_t  i,
const std::string &  v 
)
inline

set the i-th element of the file_name algorithm vector property

◆ set_file_names() [1/2]

void teca_wrf_reader::set_file_names ( const std::initializer_list< std::string > &&  l)
inline

set the file_name algorithm vector property

◆ set_file_names() [2/2]

void teca_wrf_reader::set_file_names ( const std::vector< std::string > &  v)
inline

set the file_name algorithm vector property

◆ set_filename_time_template()

void teca_wrf_reader::set_filename_time_template ( const std::string &  v)
inline

Set the value of the filename_time_template algorithm property

◆ set_files_regex()

void teca_wrf_reader::set_files_regex ( const std::string &  v)
inline

Set the value of the files_regex algorithm property

◆ set_metadata_cache_dir()

void teca_wrf_reader::set_metadata_cache_dir ( const std::string &  v)
inline

Set the value of the metadata_cache_dir algorithm property

◆ set_periodic_in_x()

void teca_wrf_reader::set_periodic_in_x ( const int &  v)
inline

Set the value of the periodic_in_x algorithm property

◆ set_periodic_in_y()

void teca_wrf_reader::set_periodic_in_y ( const int &  v)
inline

Set the value of the periodic_in_y algorithm property

◆ set_periodic_in_z()

void teca_wrf_reader::set_periodic_in_z ( const int &  v)
inline

Set the value of the periodic_in_z algorithm property

◆ set_t_units()

void teca_wrf_reader::set_t_units ( const std::string &  v)
inline

Set the value of the t_units algorithm property

◆ set_t_value()

void teca_wrf_reader::set_t_value ( size_t  i,
const double &  v 
)
inline

set the i-th element of the t_value algorithm vector property

◆ set_t_values() [1/2]

void teca_wrf_reader::set_t_values ( const std::initializer_list< double > &&  l)
inline

set the t_value algorithm vector property

◆ set_t_values() [2/2]

void teca_wrf_reader::set_t_values ( const std::vector< double > &  v)
inline

set the t_value algorithm vector property

◆ set_thread_pool_size()

void teca_wrf_reader::set_thread_pool_size ( const int &  v)
inline

Set the value of the thread_pool_size algorithm property

◆ shared_from_this() [1/2]

std::shared_ptr< teca_wrf_reader > teca_wrf_reader::shared_from_this ( )
inline

Enables the static constructor

◆ shared_from_this() [2/2]

std::shared_ptr< teca_wrf_reader const> teca_wrf_reader::shared_from_this ( ) const
inline

Enables the static constructor


The documentation for this class was generated from the following file: