|
TECA
|
an algorithm that computes a mask identifying valid values More...
#include <teca_valid_value_mask.h>
Public Member Functions | |
| std::shared_ptr< teca_valid_value_mask > | shared_from_this () |
| std::shared_ptr< teca_valid_value_mask const > | shared_from_this () const |
| teca_valid_value_mask (const teca_valid_value_mask &src)=delete | |
| teca_valid_value_mask (teca_valid_value_mask &&src)=delete | |
| teca_valid_value_mask & | operator= (const teca_valid_value_mask &src)=delete |
| teca_valid_value_mask & | operator= (teca_valid_value_mask &&src)=delete |
| const char * | get_class_name () const override |
mask_arrays | |
| size_t | get_number_of_mask_arrays () |
| void | append_mask_array (const std::string &v) |
| void | set_mask_array (size_t i, const std::string &v) |
| void | set_mask_arrays (const std::vector< std::string > &v) |
| void | set_mask_arrays (const std::initializer_list< std::string > &&l) |
| void | set_mask_arrays (const const_p_teca_variant_array &v) |
| const std::string & | get_mask_array (size_t i) const |
| void | get_mask_arrays (std::vector< std::string > &v) const |
| void | get_mask_arrays (const p_teca_variant_array &v) const |
| void | clear_mask_arrays () |
enable_valid_range | |
| void | set_enable_valid_range (const int &v) |
| const int & | get_enable_valid_range () const |
verbose | |
| void | set_verbose (const int &v) |
| const int & | get_verbose () 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_valid_value_mask | 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) |
| virtual void | set_modified () |
| void | set_modified (unsigned int port) |
| 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 |
an algorithm that computes a mask identifying valid values
For each requested mask, from its associated input array, compute a mask set to 1 where the data is valid and 0 everywhere else. Downstream algorithms then may look for the mask array and process the data in such a way as to produce valid results in the presence of missing data.
Validity is determined by comparing the array's elements to the fill value as specified in the array's attributes _FillValue or missing_value field. If neither of these attribute fields are present then no mask is computed.
The masks generated are stored in the output mesh with the same centering as the input variable they were generated from, and named using the variable's name with the string "_valid" appended. For example if a mask was generated for a variable named "V" it will be named "V_valid".
Masks are requested for specific arrays in one of two ways. One may use the mask_arrays algorithm property to explicitly name the list of variables to compute masks for. Alternatively, a heuristic applied to incoming requests determines if masks should be generated. Specifically the string "_valid" is looked for at the end of each requested array. If it is found then the mask for the variable named by removing "_valid" is generated. For example the request for "V_valid" would result in the mask being generated for the variable "V".