|
TECA
The Toolkit for Extreme Climate Analysis
|
Generates a mask indicating where mesh points with a vertical pressure coordinate lie above the surface of the Earth. The mask is set to 1 where data is above the Earth's surface and 0 otherwise. More...
#include <teca_elevation_mask.h>
Public Member Functions | |
| std::shared_ptr< teca_elevation_mask > | shared_from_this () |
| std::shared_ptr< teca_elevation_mask const > | shared_from_this () const |
| teca_elevation_mask (const teca_elevation_mask &src)=delete | |
| teca_elevation_mask (teca_elevation_mask &&src)=delete | |
| teca_elevation_mask & | operator= (const teca_elevation_mask &src)=delete |
| teca_elevation_mask & | operator= (teca_elevation_mask &&src)=delete |
| const char * | get_class_name () const override |
mesh_height_variable | |
Set the name of the 3D height field | |
| void | set_mesh_height_variable (const std::string &v) |
| const std::string & | get_mesh_height_variable () const |
surface_elevation_variable | |
Set the name of the variable containing the elevation of the Earth's surface. | |
| void | set_surface_elevation_variable (const std::string &v) |
| const std::string & | get_surface_elevation_variable () const |
mask_variables | |
set the names of the variables to store the generated mask in each variable will contain a reference to the mask | |
| size_t | get_number_of_mask_variables () |
| void | append_mask_variable (const std::string &v) |
| void | set_mask_variable (size_t i, const std::string &v) |
| void | set_mask_variables (const std::vector< std::string > &v) |
| void | set_mask_variables (const std::initializer_list< std::string > &&l) |
| const std::string & | get_mask_variable (size_t i) const |
| const std::vector< std::string > & | get_mask_variables () const |
| void | clear_mask_variables () |
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_elevation_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) |
| an overload to set_modified by port More... | |
| 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 |
Generates a mask indicating where mesh points with a vertical pressure coordinate lie above the surface of the Earth. The mask is set to 1 where data is above the Earth's surface and 0 otherwise.
Given a 3D height field containing the altitude of each point in meters above mean sea level, and a 2D height field corresponding to height in meters above mean sea level of the surface of the Earth, generate a mask that is 1 where the 3D point is on or above the surface of the Earth and 0 where it is below.
The name of the 3D height field is specified by the mesh_height_variable property. The name of the 2D height field conntaining elveation of the Earth's surface is specified by the surface_elevation_variable property.
The 3D mesh height field must be provided on input 0, and the 2D surface height field on input 1. Use the mask_names property to name the output mask. If more than one name is provided each name will reference a pointer to the mask. Consider using names of the form X_valid in which case the output is compatible with the teca_valid_value_mask and will be treated as missing values by down stream algorithms.
If the simulation does not provide the 3D height field, for simulations where the acceleration due to the Earth's gravity is assumed constant, teca_geopotential_height can generate the 3D height field.
The primary use case of this algorithm is when dealing with calculations on 3D meshes with a vertical pressure coordinate and there is a need to identify and treat specially the mesh points that are below the surface of the Earth. There are a number of alternatives available depending on the data. If your data has a _FillValue where data is below the surface then use teca_valid_value_mask instead of this algorithm. If your data has surface pressure field use teca_pressure_level_mask instead of this algorithm. If your dataset has surface temperature, and mean sea level pressure fields then use teca_surface_pressure to generate the surface pressure field and use teca_pressure_level_mask instead of this algorithm.
|
inline |
append to the mask_variable algorithm vector property
|
inline |
clear the mask_variable algorithm vector property
|
inlineoverridevirtual |
returns the name of the class
Implements teca_algorithm.
|
inline |
get the i-th element of the mask_variable algorithm vector property
|
inline |
get the mask_variable algorithm vector property
|
inline |
Get the value of the mesh_height_variable algorithm property
|
inline |
get the size of the mask_variable algorithm vector property
|
inline |
Get the value of the surface_elevation_variable algorithm property
|
inlinestatic |
Returns an instance of teca_elevation_mask
|
inline |
set the i-th element of the mask_variable algorithm vector property
|
inline |
set the mask_variable algorithm vector property
|
inline |
set the mask_variable algorithm vector property
|
inline |
Set the value of the mesh_height_variable algorithm property
|
inline |
Set the value of the surface_elevation_variable algorithm property
|
inline |
Enables the static constructor
|
inline |
Enables the static constructor