|
TECA
The Toolkit for Extreme Climate Analysis
|
The TECA BARD atmospheric river detector. More...
#include <teca_bayesian_ar_detect.h>
Public Member Functions | |
| std::shared_ptr< teca_bayesian_ar_detect > | shared_from_this () |
| std::shared_ptr< teca_bayesian_ar_detect const > | shared_from_this () const |
| teca_bayesian_ar_detect (const teca_bayesian_ar_detect &src)=delete | |
| teca_bayesian_ar_detect (teca_bayesian_ar_detect &&src)=delete | |
| teca_bayesian_ar_detect & | operator= (const teca_bayesian_ar_detect &src)=delete |
| teca_bayesian_ar_detect & | operator= (teca_bayesian_ar_detect &&src)=delete |
| const char * | get_class_name () const override |
| void | set_thread_pool_size (int n_threads) |
| unsigned int | get_thread_pool_size () const noexcept |
| Get the number of threads in the pool. More... | |
| void | set_input_connection (unsigned int id, const teca_algorithm_output_port &port) override |
ivt_variable | |
Sets the name of the array containing the IVT field to detect ARs in. | |
| void | set_ivt_variable (const std::string &v) |
| const std::string & | get_ivt_variable () const |
min_ivt_variable | |
Set the names of the minimum IVT column in the parameter table. | |
| void | set_min_ivt_variable (const std::string &v) |
| const std::string & | get_min_ivt_variable () const |
min_component_area_variable | |
Set the names of the minimum area column in the parameter table. | |
| void | set_min_component_area_variable (const std::string &v) |
| const std::string & | get_min_component_area_variable () const |
hwhm_latitude_variable | |
Set the names of the HWHM column in the parameter table. | |
| void | set_hwhm_latitude_variable (const std::string &v) |
| const std::string & | get_hwhm_latitude_variable () const |
probability variable | |
Set the name of the variable to store output probability as. | |
| void | set_ar_probability_variable (const std::string &v) |
| const std::string & | get_ar_probability_variable () const |
bind_threads | |
set/get thread affinity mode. When 0 threads are not bound CPU cores, allowing for migration among all cores. This will likely degrade performance. Default is 1. | |
| void | set_bind_threads (const int &v) |
| const int & | get_bind_threads () const |
stream_size | |
set the smallest number of datasets to gather per call to execute. the default (-1) results in all datasets being gathered. In practice more datasets will be returned if ready | |
| void | set_stream_size (const int &v) |
| const int & | get_stream_size () const |
poll_interval | |
set the duration in nanoseconds to wait between checking for completed tasks | |
| void | set_poll_interval (const long long &v) |
| const long long & | get_poll_interval () const |
threads_per_device | |
Set the number of threads to service each GPU/device. Other threads will use the CPU. | |
| void | set_threads_per_device (const int &v) |
| const int & | get_threads_per_device () const |
ranks_per_device | |
Set the number of ranks that have access to each GPU/device. Other ranks will use the CPU. | |
| void | set_ranks_per_device (const int &v) |
| const int & | get_ranks_per_device () const |
propagate_device_assignment | |
When set device assignment is taken from down stream request. Otherwise the thread executing the pipeline will provide the assignment. | |
| void | set_propagate_device_assignment (const int &v) |
| const int & | get_propagate_device_assignment () 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 () |
| 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 | 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_bayesian_ar_detect | New () |
Protected Member Functions | |
| std::string | get_label_variable (const teca_metadata &request) |
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 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... | |
Additional Inherited Members | |
Protected Attributes inherited from teca_algorithm | |
| int | verbose |
The TECA BARD atmospheric river detector.
Given a point wise IVT (integrated vapor transport) field and a training parameter table computes the point wise probability of an atmospheric river using the TECA BARD algorithm.
Required inputs:
1. IVT (integrated vapor transport) array on a Cartesian nesh. 2. a compatible parameter table. columns of which are : min IVT, component area, HWHM lattitude
The names of the input varibale and columns can be specified at run time through algorithm properties.
Produces:
A Cartesian mesh with probability of an AR stored in the point centered array named "ar_probability". The diagnostic quantites "ar_count" amd "parameter_table_row" are stored in information arrays.
For more information see:
O’Brien, T. A., Risser, M. D., Loring, B., Elbashandy, A. A., Krishnan, H., Johnson, J., Patricola, C. M., O’Brien, J. P., Mahesh, A., Arriaga Ramirez, S., Rhoades, A. M., Charn, A., Inda Díaz, H., & Collins, W. D. (2020). Detection of atmospheric rivers with inline uncertainty quantification: TECA-BARD v1.0.1. Geoscientific Model Development, 13(12), 6131–6148. https://doi.org/10.5194/gmd-13-6131-2020
|
inline |
Get the value of the ar_probability_variable algorithm property
|
inline |
Get the value of the bind_threads algorithm property
|
inlineoverridevirtual |
returns the name of the class
Implements teca_algorithm.
|
inline |
Get the value of the hwhm_latitude_variable algorithm property
|
inline |
Get the value of the ivt_variable algorithm property
|
inline |
Get the value of the min_component_area_variable algorithm property
|
inline |
Get the value of the min_ivt_variable algorithm property
|
inline |
Get the value of the poll_interval algorithm property
|
inline |
Get the value of the propagate_device_assignment algorithm property
|
inline |
Get the value of the ranks_per_device algorithm property
|
inline |
Get the value of the stream_size algorithm property
|
noexcept |
Get the number of threads in the pool.
|
inline |
Get the value of the threads_per_device algorithm property
|
inlinestatic |
Returns an instance of teca_bayesian_ar_detect
|
inline |
Set the value of the ar_probability_variable algorithm property
|
inline |
Set the value of the bind_threads algorithm property
|
inline |
Set the value of the hwhm_latitude_variable algorithm property
|
overridevirtual |
override the input connections because we are going to take the first input and use it to generate metadata. the second input then becomes the only one the pipeline knows about.
Reimplemented from teca_algorithm.
|
inline |
Set the value of the ivt_variable algorithm property
|
inline |
Set the value of the min_component_area_variable algorithm property
|
inline |
Set the value of the min_ivt_variable algorithm property
|
inline |
Set the value of the poll_interval algorithm property
|
inline |
Set the value of the propagate_device_assignment algorithm property
|
inline |
Set the value of the ranks_per_device algorithm property
|
inline |
Set the value of the stream_size algorithm property
| void teca_bayesian_ar_detect::set_thread_pool_size | ( | int | n_threads | ) |
Set the number of threads in the pool. Setting to -1 results in a thread per core factoring in all MPI ranks running on the node. the default is -1.
|
inline |
Set the value of the threads_per_device algorithm property
|
inline |
Enables the static constructor
|
inline |
Enables the static constructor